Pembuatan bangunan prosedural

gambar

Øyvind Fiksdal membagikan rincian proses prosedural untuk menciptakan rumah dan lanskap di Houdini dan berbicara tentang manfaat dari pendekatan ini.


Pendahuluan


Nama saya Eivind Fixdahl , saya seorang seniman Norwegia yang dulu bekerja terutama dengan seni tradisional. Mendekati tiga puluh tahun, saya memutuskan untuk benar-benar fokus pada 3D dan memasuki kursus dan animasi 3D dua tahun. Setelah beberapa waktu, saya mendapat pekerjaan di salah satu biro iklan terbesar di Norwegia.

Pekerjaan di industri periklanan membuka semua pintu, tetapi bekerja untuk satu perusahaan tidak memberi saya kemungkinan implementasi, jadi saya menjadi freelancer. Setelah dua tahun lepas, saya dan seorang mantan kolega memutuskan untuk bersatu dan menciptakan sebuah perusahaan bernama Trollskog.

Pendekatan prosedural terhadap proyek


Saya selalu tertarik dengan sifat prosedural Houdini , tetapi pada tingkat seni, bukan hanya penggunaan standar program. Setelah meninjau sejumlah besar tutorial dan presentasi, saya mulai menguasai kekuatan yang tersembunyi di dalam program.

Saat bekerja dengan sumber daya sepenuhnya prosedural di Houdini atau perangkat lunak lain, ada sangat sedikit peluang untuk memperkenalkan sentuhan artistik - Anda hanya dapat mengubah seed dan berharap Anda mendapatkan sesuatu yang menarik. Saat Anda bekerja di bawah arahan seorang direktur seni, sangat mungkin untuk memberikan aset latar belakang untuk pengacakan, tetapi membuat aset pahlawan atau desa yang dibuat secara manual bisa menjadi tugas yang tak tertahankan bagi kebanyakan dari kita.




Bahkan ketika bekerja dengan pemodelan dan pembuatan patung tradisional, menciptakan seluruh desa akan menjadi tugas berskala besar, terutama mengedit aset setelah selesai.

Konsep saya didasarkan pada ide untuk secara manual membuat aset rendah-poli sederhana, serta menciptakan seperangkat alat prosedural yang sama yang membaca geometri dan membuat model siap pakai dengan semua detail, tekstur dan peningkatan. Dengan pendekatan tradisional, pekerjaan seperti itu akan memakan waktu beberapa hari.

Perlu juga dicatat bahwa saya melakukan proyek ini sekitar setahun yang lalu untuk memperluas pengetahuan saya di Houdini, untuk bekerja dengan VEX dan untuk memahami apakah mungkin untuk menggunakan Houdini dalam pipa produksi.





Konstruksi Rumah: Konveyor Prosedural


Prosedur yang menghasilkan rumah jadi dari basis poli rendah dirakit dari serangkaian modul. Ketika berbicara tentang modul Houdini, mereka sering berarti rantai simpul yang melakukan tugas tertentu. Sebagai contoh, modul pertama membaca geometri poli-rendah dan mengenali atap, dinding, pintu dan jendela. Beberapa modul yang melakukan operasi sekunder bercabang darinya. Misalnya, atap kemudian dikirim ke modul berikutnya, menemukan bubungan atap dan memeriksa apakah dapat mendeteksi puncak menara. Selanjutnya, data dikirim ke modul baru yang membuat ubin, lalu ke yang lain untuk membuat lumut, lalu untuk membuat rumput, dan sebagainya.


Dalam model yang sudah jadi, praktis tidak ada aset yang dibuat sebelumnya. Sebaliknya, itu menghasilkan mereka dari permukaan di bawah mereka. Ini adalah konsep proyek. Seperti pada contoh dari video, dinding dibuat hanya berdasarkan geometri poli-rendah sederhana.

Proses dimulai dengan mengimpor jala terpisah, seperti yang ditunjukkan dalam video pertama. Dari situ, seperti yang saya katakan di atas, model itu secara prosedural mengenali atap, dinding, jendela, dan pintu. Kemudian mereka dipindahkan ke fase utama penciptaan. Model input juga digunakan untuk menghasilkan ivy, yang tidak hanya tumbuh di permukaan, tetapi juga mengukur volume model untuk menghindari terlalu banyak atau terlalu sedikit vegetasi.


Setiap elemen ini membaca lintasan file input dan dilewatkan sebagai atribut, sehingga model yang sudah selesai ditulis sebagai file Houdini asli. Yaitu, setelah memilih model untuk membuat model yang sudah jadi, satu klik mouse sudah cukup untuk saya.



Pendekatan prosedural dikombinasikan dengan kerja manual


Saat menggunakan pipa yang sepenuhnya prosedural tanpa data input yang dibuat secara manual, Anda bisa mendapatkan hasil yang tampak organik dan acak, tetapi prosesnya akan sangat kompleks dan tidak dapat diprediksi. Tetapi menggabungkan kedua pendekatan, kami akan menyederhanakan pekerjaan dan akan memiliki lebih banyak kontrol atas hasil akhir.

Tentu saja, beberapa aspek perlu dibiarkan kebetulan, misalnya, menciptakan nilai acak untuk skala, rotasi, atau posisi objek, serta menggunakan pola kebisingan untuk mensimulasikan permukaan batu dan banyak lagi, tetapi untuk pekerja keras yang andal seperti Houdini, ini adalah operasi sederhana.



Pembuatan bahan


Seperti yang dapat Anda lihat dari video tentang membuat dinding, sebagian besar materi ini bukan tekstur, melainkan geometri. Bahan yang tersisa dibuat menggunakan data warna dari jerat, serta pengukuran kelengkungan dan trik lainnya yang dilakukan menggunakan atribut. Sebagian besar tekstur yang sebenarnya digunakan adalah tekstur yang sangat sederhana yang dibuat melalui COP (komposer bawaan Houdini).

Sebelum impor, pemindaian UV model poli rendah dilakukan, dan data ini digunakan dalam proses pemodelan, misalnya, saat membuat genteng. Meskipun saya tidak menggunakannya dalam produk akhir, mereka dapat digunakan untuk memanggang tekstur, yang akan digunakan dalam versi rendah-poli, tetapi ada cara yang lebih optimal untuk membuat model permainan, yang akan kita bahas nanti.



Untuk model akhir, pemindaian UV terutama dilakukan secara prosedural dengan bantuan alat pengembangan game, sementara bagian lain, misalnya, balok dan pintu dikerahkan dengan merentangkan kurva dengan koordinat UV.

Pembuatan lanskap


Medan dihasilkan dengan membaca lantai bawah model yang diimpor, geometri akhir dibuat menggunakan VDB dengan mencampurkan berbagai suara.


Setelah menyelesaikan medan, kita dapat mengukur semua jenis sifat topologi: oklusi, kelengkungan, sudut kemiringan, dan sebagainya. Mereka menentukan lokasi rumput, tingginya dan lokasi bunga atau pohon.

Demi variabilitas, bahan dibuat dengan menggabungkan gambar dan data warna.


Tanaman dan rumput itu sendiri adalah contoh yang dibuat secara prosedural dengan menggabungkan simpul dan VEX. Kemudian mereka berubah menjadi Redshift proxy, contoh yang dibuat tergantung pada atribut lanskap.

Apakah proyek siap digunakan dalam game?


Sistem seperti itu berlaku dan tidak berlaku untuk produksi game. Agar dapat diterapkan, perlu dilakukan serangkaian operasi lain, tetapi ini akan menjadi tugas yang cukup sederhana dan mudah. Model terlalu tinggi-poli untuk digunakan dalam gim, tetapi jika Anda mengubah model tinggi-poli menjadi objek VDB untuk memastikan sesaknya, dan kemudian menggunakan alat untuk mengurangi jumlah poligon, maka segala sesuatu yang lain dapat dengan mudah dimasukkan ke dalam tekstur.




Saya pikir hari ini game sering digunakan arsitektur yang dihasilkan secara prosedural, tetapi saya belum melihat kasus di mana saya akan mengambil model sederhana buatan tangan, dan kemudian menghasilkan semua detail berdasarkan pada mereka. Mungkin di masa depan ini akan lebih umum.

Saya akan mengklasifikasikan pengetahuan saya yang terbatas tentang Houdini sebagai hambatan proyek. Saya memulai proyek ini untuk mempelajari program ini, dan tidak tahu apa yang saya inginkan. Dalam retrospeksi, saya dapat mengatakan bahwa dengan pengetahuan yang saya miliki sekarang, saya akan memiliki banyak perbedaan dalam hal ini dan dalam proyek-proyek lain. Hambatan lain adalah RAM - untuk bekerja di Houdini, dan terutama saat memproses VDB, Anda membutuhkan banyak RAM.

Øyvind Fiksdal , artis 3D

Wawancara diambil oleh Kirill Tokarev

Source: https://habr.com/ru/post/id424203/


All Articles