Simulasi dan pemodelan rambut manusia adalah proses yang
kompleksitas komputasinya sangat besar, hal ini karena banyaknya faktor yang
harus diperhitungkan untuk memberikan tampilan yang realistis. Umumnya, metode ini
digunakan dalam industri film untuk mensimulasikan rambut didasarkan pada
grafis penanganan partikel.
Dalam pemodelan rambut, kita dihadapkan dengan geometri yang
kompleks. Perkiraan jumlah rambut di kepala manusia dari 130.000 item, berambut
merah memiliki sekitar 90.000 item, orang berambut pirang dapat memiliki
150.000 dan, dalam kasus hewan, kita berbicara tentang jutaan item pada kulit
Anda. Selain itu, setiap rambut mungkin memiliki bentuk geometris khusus yang
tidak sepele dalam simulasi dan perhitungan mereka.
Diameter rambut sangat tipis, sekitar 70 mikron dan mungkin
selama kita mau, ini dapat menyebabkan masalah besar sampling, dan dengan
demikian membuat sampel yang benar adalah penting untuk setiap praktek render
rambut.
Sifat refleksi cahaya yang diterima oleh masing-masing
rambut tidak hanya blok cahaya dari sumber dalam sebuah adegan, secara umum,
masing-masing rambut mempengaruhi jumlah pencahayaan, seperti sehelai rambut
dapat menyebabkan bayangan pada cahaya yang ditransmisikan rambut lainnya sebaik
menerima yang lain, jumlah cahaya yang dipantulkan dan tersebar dapat berbeda
dan tergantung dari arah pertumbuhan.
Grafik Rambut Manusia
Sebuah serat rambut manusia dapat direpresentasikan oleh
silinder melengkung, yang terdiri dari partikel dan segitiga.
Model ini akan berlaku jika kita berada di dunia mikroskopis
di mana kita melihat beberapa rambut bersama-sama.
Sebuah solusi alternatif akan membawa rambut ke pita datar
selalu melihat kamera.
Cara lain untuk menyederhanakan geometri dan mendapatkan
penampilan rambut adalah dengan cara jalur interkoneksi, yang berhubungan
dengan nilai ketebalan buatan (biasanya satu piksel).
Sistem partikel merujuk pada metode grafis komputer untuk
mensimulasikan fenomena difusi yang sulit untuk mereproduksi, metode ini
memungkinkan untuk pemodelan benda padat dengan karakteristik lemah seperti:
api, air dan awan, serta rambut, hasilnya mampu memainkan gerakan, perubahan
dinamis, melalui representasi klasik untuk permukaan.
Pemodelan benda difus disebut Partikel System. Representasi
sistem partikel berbeda dari representasi normal gambar dalam tiga poin kunci. Pertama,
sebuah objek tidak diwakili oleh satu set primitif geometris yang menentukan
batas-batas permukaan seperti poligon atau segitiga, tetapi sebagai akumulasi
besar partikel primitif yang mendefinisikan volume. Poin kedua, sistem partikel
bukanlah entitas statis sebagai perubahan bentuk partikel dan bergerak dengan
berlalunya waktu. Partikel-partikel baru "lahir" dan partikel lama
"mati." Poin ketiga, sebuah objek diwakili oleh sistem partikel tidak
deterministik karena bentuk dan penampilan yang tidak sepenuhnya ditentukan, namun
proses stokastik yang digunakan untuk membuat dan mengubah bentuk dan tampilan
objek.
Teknik sistem partikel memiliki keuntungan yang signifikan
dari teknik klasik yang dirancang untuk permukaan, sehubungan dengan pemodelan
obyek menyebar. Sebuah sistem partikel ditentukan oleh sistem posisi absolut
dalam ruang tiga dimensi dan satu set partikel. Setiap partikel individu
ditentukan oleh posisi, kecepatan, warna dan ukuran.
Meski secara matematis garis harus amat tipis, garis dalam
hal ini adalah terkait dengan beberapa nilai ketebalan buatan (lebar pixel). Di
sini, menggunakan strip garis sebagai representasi rambut kita, tapi algoritma
di sini berlaku untuk representasi pita poligonal. Dengan asumsi bahwa untai
rambut didekati dengan jumlah poin p0, p1, ... pn-1 dan warna yang terkait c0,
c1, ... cn-1. Kode berikut akan menarik rambut sebagai strip garis terhubung.
Menggambar rambut
DrawHair(p0,p1,..,pn-1,c0,c1,….cn-1)
{
glBegin(GL_LINE_STRIP)
glColor3fv(c0);
glVertex3fv(p0);
glColor3fv(c1);
glVertex3fv(p1);
…
glColor3fv(cn-1);
glVertex(pn-1);
glEnd()
}
Mengitung ukuran visibilitas dan menghitung nilai bayangan
Set thickness (alpha value)
Compute the shaded color
(Li.color1)
Compute the shaded color
(Li.color2)
C1 = Li.color1 * Li.shadow1
C2 = Li.color2 * Li.shadow2
glBegin(GL_LINES)
glColor3fv(C1)
glVertex3fv(Li.Pos1)
glColor3fv(C2)
glVertex3fv(Li.Pos2)
glEnd()
Penggunaan Partikel
dalam Blender
Apa itu Blender? Blender adalah sebuah lingkungan yang
mengintegrasikan sejumlah alat untuk membuat berbagai konten 3D, dengan manfaat
tambahan dari multi-platform.
Ditujukan untuk para profesional media dan seniman, Blender
dapat digunakan untuk membuat visualisasi 3D, baik gambar statis video
berkualitas tinggi, sedangkan penambahan mesin 3D secara real time memungkinkan
penciptaan konten interaktif yang dapat direproduksi secara independen. Awalnya
dikembangkan oleh perusahaan 'Bukan Nomor' (NaN), Blender kini dikembangkan
sebagai 'Free Software', dengan kode sumber yang tersedia di bawah GNU GPL.
Blender sistem partikel yang cepat, fleksibel dan kuat.
Setiap objek jala dapat berfungsi sebagai emitor partikel, ini dapat
dipengaruhi oleh kekuatan global untuk mensimulasikan efek fisik seperti
gravitasi atau angin. Dengan kemungkinan ini dapat menghasilkan efek seperti:
asap, kebakaran, ledakan, kembang api atau bahkan kawanan burung.
Penggunaan partikel statis dapat menghasilkan rambut, kulit,
rumput atau tanaman, menerapkan berbagai teknik pemodelan. Contoh rambut di
Blender dapat diamati pada Gambar. 4.
Gambar 4. Rambut dihasilkan menggunakan Blender
Secara umum aliran partikel dalam ruang dari grid,
pergerakannya dapat dipengaruhi oleh berbagai situasi, seperti:
- Kecepatan awal dari grid.
- Pergerakan emitor (vertex, wajah atau objek)).
- Gerakan sesuai dengan gravitasi atau hambatan udara.
- Pengaruh medan gaya seperti angin, vortisitas atau dipandu melalui kurva.
- Interaksi dengan benda lain seperti tabrakan.
- Slow motion fisika "softbody" (hanya dalam sistem rambut partikel)
- Atau bahkan proses manual.
Partikel-partikel dapat direpresentasikan sebagai:
1.
Halos
(untuk persiapan api, asap, awan)
2.
Strands
(digunakan dalam pengembangan rambut, kulit, rumput), yang berbentuk penuh
string akan ditampilkan sebagai string atau filamen, filamen tersebut dapat
dimanipulasi (sisir, potong, bergerak, dll.) secara langsung di Blender.
Setiap objek yang dibuat di Blender dapat berisi beberapa
sistem partikel, dimana setiap sistem dapat memiliki hingga 100.000 partikel,
kita harus ingat bahwa ada kemungkinan bahwa kita dapat memiliki beberapa set
sistem partikel dalam Blender terkait dengan satu objek. Berikut ini akan
diuraikan proses dengan cara yang sederhana untuk bekerja dengan sistem
partikel menggunakan Blender.
Penciptaan dan definisi grid, berfungsi sebagai dasar untuk
menerbitkan sistem partikel, sistem ini manifold dalam kombinasi untuk setiap
partikel, mengembangkan simulasi efek yang diinginkan.
Setelah membuat sistem partikel Blender memungkinkan Anda
untuk mengkonfigurasi lingkungan Anda untuk memilih salah satu dari tiga jenis
sistem partikel, yaitu:
- Emitter: Partikel yang dipancarkan oleh objek yang dipilih dan memiliki kehidupan tetap.
- Reaktor: Hal ini sangat berguna bagi sebagian besar efek partikel yang lebih tua.
- Rambut: Jenis sistem ini direpresentasikan sebagai kabel dan semacamnya sifat khusus dapat diedit secara real-time 3D.
- Kita harus menempatkan objek dasar, pemodelan rambut, obyek ini dapat diimpor, model yang digunakan dikembangkan di Zbrush oleh perusahaan pixelogic.
- Kita perlu mengubah sebagai cat tebal (Cat Bobot), untuk memilih area dimana algoritma akan bekerja.
- Kita harus membuat set baru simpul dengan nama umum. Area yang dipilih akan terpengaruh oleh algoritma. Hasil langkah di atas ditunjukkan pada Gambar 5.
- Buat sistem partikel jenis HAIR baru "lari " panel " Fisika " mengaktifkan tugas ini.
- Kami meningkatkan nilai, dicatat bahwa rambut tumbuh di seluruh objek kita (Gambar 6)
- Ini adalah masalah yang diselesaikan dengan menempatkan rambut di daerah yang akan didirikan, sehingga perlu untuk mengaktifkan " Extra" dalam kelompok simpul. Gambar 6a menunjukkan solusi yang diterapkan.
Seperti dapat dilihat, telah diperoleh hanya,
beberapa helai rambut, masih belum mencapai kepadatan yang diinginkan untuk
model yang realistis foto, untuk mencapai simulasi lebih realistis akan perlu
mengubah beberapa parameter. Dalam panel keturunan "Anak-anak" dapat
mengkonfigurasi dua pilihan: Partikel dan wajah. Lihat Gambar. 7. Pada titik
ini, model tersebut hampir selesai, dalam kasus rambut panjang pemodelan, Anda
akan perlu memodifikasi beberapa parameter dalam tabrakan.
Gambar 5. Daerah di mana kita
ingin menumbuhkan rambut
Gambar 6. Filamen yang dihasilkan
oleh sistem partikel di Blender
Gambar 6 (a). Filamen
dikelompokkan dalam area yang terkait dengan menggunakan Blender
Akhirnya, perlu untuk menambahkan
jenis bahan untuk model kami, untuk itu diberikan dua jenis bahan, satu yang
akan digunakan oleh kami berbasis obyek dan satu untuk sistem partikel dalam
panel "Link dan Material" oleh mengubah parameter yang sesuai
mencapai efek yang diinginkan, maka dalam mode edit akan perlu untuk
membatalkan pilihan semua simpul dari basis kami (Lihat Gambar. 8). Ini akan
membuat bahan baru yang akan digunakan dalam sistem partikel, cahaya akhirnya
dapat ditambahkan ke model untuk mendapatkan hasil yang ditunjukkan pada
Gambar. 9.
Gambar 7. Blender menyediakan
kerapatan yang berbeda untuk sistem partikel dalam model rambut
Gambar 8.
Memiliki model dalam mode edit di Blender
Gambar 9. Hasil
akhir menggunakan sistem partikel yang menyediakan Blender.
Kesimpulan
Pemodelan rambut adalah pekerjaan trivial untuk kompleksitas
komputasi tinggi yang diperlukan untuk diproses. Ada beberapa teknik yang
berbeda yang bertujuan untuk model rambut manusia berdasarkan kualitas gambar
yang dihasilkan.
Sistem partikel untuk pemodelan rambut adalah yang paling
sederhana dan cepat karena menggunakan struktur sederhana untuk setiap elemen
dan yang menyederhanakan interaksi yang mengambil sistem dengan fenomena fisik,
tidak seperti model lainnya seperti model rambut berbasis jala seperti di mana
realisme dan interaksi dapat sedikit lebih terbatas.
Referensi
1.
Ernesto Coton (2004) Introducción a los Sistemas
de Partículas. Universidad Central de Venezuela. Facultad de Ciencias. Escuela
de Computación. Laboratorio de Computación Gráfica.
2.
Johnny T. Chang, Jingyi Jin, Yizhou Yu (2002) A
Practical Model for Hair Mutual Interactions: Department of Computer Science
University of Illinois at Urbana Champaign.
3. Aleka
Mcadams, Andrew Selle, Kelly Ward, Eftychios Sifakis, Joseph Teran (2009)
Detail Preserving Continuum Simulation of Straight Hair, ACM Transactions on
Graphics, 28:3(62)
4. Abraham,
R. Shaw, C. Dynamics (1981) The Geometry of Behavior. City (the Hill Press,
Santa Cruz, Calif)
5. Badler,
N. I., O'rourke J., Toltzis H. (1979) A spherical human body model for
visualizing movement. Proc. IEEE 67:10
6. Blinn,
J. F. (1982) Light reflection functions for simulation of clouds and dusty
surfaces. Proc. SIGGRAPH 16: (3)21-29.
7. Csu~,
C., Hackathorn R., Parent R., Carlson W., Howard M. (1979) Towards an
interactive high visual complexity animation system, Proc. SIGGRAPH 79. 13:
(2)289-299
8.
Fournier I., Fussel D., Carprenter I. (1982)
Computer rendering of stochastic models, Commun. ACM 25: (6)371-384.