Ini adalah bagian kedua dari serangkaian tutorial tentang peta normal. Bagian pertama ada di
sini , tetapi untuk memahami bagian kedua tidak perlu membacanya.
Prinsip umum memanggang peta normal relatif sederhana: kami memiliki model lowpoly dengan koordinat UV dan model highpoly; kami mentransfer informasi normal dari highpoly ke lowpoly. Berkat ini, lowpoly akan memantulkan cahaya dengan cara yang sama seperti highpoly.
Selama proses ini, program memanggang pada dasarnya memancarkan sinar dari lowpoly, mengikuti normals dari simpul dan mencari higpoly. Ini adalah aspek paling penting dari pembuatan peta normal, dan sebagian besar masalah yang muncul ketika bekerja dengan peta normal terkait dengannya.
Jika Anda tidak mengontrol normals dari simpul model lowpoly, Anda akan kehilangan kendali atas peta normal.
Buruknya korelasi peta normal
Untuk mengontrol kelancaran model lowpoly, kita perlu membagi normals dari simpul (untuk membuat tepi yang kaku) atau simpul rata-rata dari simpul (untuk membuat tepi yang halus).
Ternyata, tidak semua program 3D menggunakan perhitungan yang sama dengan rata-rata vertex normals. Ini berarti bahwa dalam editor 3D yang berbeda, model lowpoly akan terlihat berbeda, dan simpul normalnya akan menunjuk sedikit ke arah yang berbeda. Biasanya ini tidak menimbulkan masalah besar, karena penyimpangan ini sangat kecil, tetapi mereka mempengaruhi penampilan model; dan perbedaan ini diperkuat ketika menggunakan peta normal, karena peta normal mengubah normals dari model lowpoly, yang berbeda dalam program yang berbeda.
Industri grafis 3D sedang bekerja untuk menyelesaikan masalah ini; Baru-baru ini, standar yang disebut ruang Mikk telah muncul. Ini adalah metode untuk menghitung vertex normals yang dapat digunakan semua aplikasi 3D untuk membuat vertex normals terlihat sama di semua program 3D. Namun, perlu dicatat bahwa sejauh ini tidak semua aplikasi 3D menggunakannya.
Cara lain untuk mengurangi efek ini adalah dengan tidak terlalu bergantung pada peta normal saat memanggang. Cobalah untuk membuat model lowpoly lebih mirip model highpoly dan gunakan tepi yang lebih kaku pada permukaan yang rata. Dalam hal ini, peta normal tidak harus melakukan semua pekerjaan dan penyimpangan kecil akan menjadi kurang terlihat.
Detail bevel dari peta normal
Ketika komputer rata-rata arah normal di normal dari simpul dari model lowpoly, perubahan besar dalam sudut permukaan dapat "memeras" normal dari model lowpoly dan mereka tidak akan lagi tegak lurus dengan permukaan lowpoly.
Karena program baking normal, ketika mencari bagian highpoly, menggunakan arah normal lowpoly, jika arah ini miring, mereka akan terlihat miring pada peta normal:
Ini adalah masalah yang sangat umum di mana beberapa solusi telah ditemukan. Tidak ada solusi ideal, semuanya tergantung pada geometri.
1. Dalam beberapa program pemanggangan 3D, ada opsi untuk melakukan rebaking pada bagian-bagian ini dengan perubahan sementara pada normals lowpoly sehingga bisa dipanggang tanpa beveling. Sebagai contoh, opsi semacam itu ada di Marmoset Toolbag. Seorang pengguna Reddit dengan julukan Tanagashi dengan ramah menjelaskan kepada saya bahwa beberapa program seperti xNormal dapat mengecilkan harga rendah untuk menambahkan simpul baru dan membuat normals tegak lurus ke permukaan lowpoly, memanggang peta normal di ruang objek dan kemudian mengubahnya menjadi ruang singgung berdasarkan normals lowpoly asli. Menggunakan peta normal baru, program ini dapat membuat topeng untuk mengontrol di mana menggunakan peta normal asli dan di mana dibuat dari model lowpoly tessellated.

2. Menambahkan simpul akan membuat transisi antara normals dari simpul menjadi kurang miring, karena satu sudut 90ΒΊ akan dibagi menjadi beberapa derajat yang lebih kecil, membuat transisi kedua kurang miring. Jelas, ini meningkatkan jumlah poligon, dan ketika Anda menambahkan geometri, saya sarankan menggunakan pengaya ini untuk membuat siluet model yang lebih menarik.
3. Pemisahan normals rata-rata dari simpul (membuat tepi kaku / menggunakan kelompok smoothing terpisah): dengan cara ini, masing-masing simpul akan memiliki beberapa normals, yang masing-masing tegak lurus terhadap permukaan lowpoly. Jangan lupa bahwa ketika sebuah program 3D memiliki simpul terbagi normal, itu sebenarnya membuat duplikat dari simpul, sehingga meningkatkan jumlah simpul dan sedikit mengurangi kinerja. Selain itu, seperti yang akan kita lihat nanti, tulang rusuk yang kaku menciptakan masalah "tulang rusuk hitam".
4. Anda dapat mengubah normals model untuk menekuk normals lowpoly sehingga tegak lurus terhadap normals highpoly. Ingatlah bahwa tidak semua program mengizinkan penggunaan normals yang diubah (di Zbrush hanya ada normals rata-rata, file OBJ dan FBX usang tidak mengandung informasi khusus tentang normals). Sebenarnya, ada dua cara untuk mengubah norma:
- Normal tertimbang: Ini adalah metode otomatis, mirip dengan normals vertex rata-rata. Idenya adalah bahwa ketika rata-rata normals dari simpul, tidak semua wajah harus memiliki kekuatan yang sama: wajah besar "menarik" normals dari simpul untuk diri mereka lebih kuat daripada wajah kecil. Karena ini, wajah besar, yang biasanya lebih penting, akan memiliki proyeksi detail yang lebih baik. Ini bekerja sangat baik dengan panel highpoly.
- Customals normals: menggunakan alat dari editor 3D, kita dapat menekuk normals rendahpoly. Ini adalah ide yang relatif baru, untuk implementasi yang tidak ada alat standar. Ingatlah bahwa menekuk normals dapat menciptakan naungan yang tidak diinginkan yang sangat aneh di bagian lain dari model, sehingga teknik ini biasanya dikombinasikan dengan bevel. Beberapa orang menyebut teknik ini "pemodelan midpoly."
Kandang / jarak kue
Secara default, sinar yang dipancarkan dari permukaan lowpoly menempuh jarak terbatas sehingga lowpoly tidak menerima informasi normal dari bagian yang jauh dari highpoly. Jarak ini biasanya disebut "jarak frontal / belakang", karena sinar dapat dipancarkan ke arah dalam, ke luar, atau di kedua arah. Pada gambar di bawah ini, jarak ini ditunjukkan dengan warna merah:

Beberapa aplikasi 3D (seperti Max 3ds) juga memungkinkan penggunaan sangkar. Cage adalah "salinan" dari model lowpoly yang dapat dimodifikasi sehingga idealnya berisi highpoly. Juga, dalam beberapa kasus (tidak selalu), ini memungkinkan kita untuk mengubah arah sinar tanpa mengubah normals awal dari simpul lowpoly. Ini dapat membantu mendapatkan kasus batas terbaik untuk memanggang dan menghindari bevel; Namun, kita harus ingat bahwa kita membuat bukan menggunakan arah dari simpul normals, tetapi pada akhirnya kita akan menggunakan peta normal untuk mengubah normalspolandia rendah yang sebenarnya, sehingga hasilnya mungkin terlihat aneh.
Tulang rusuk
Seperti yang telah kita lihat, jika ada model dengan tepi kaku (beberapa tepi memiliki lebih dari satu kelompok smoothing, atau beberapa tepi ditandai sebagai "keras"), maka program memanggang membagi simpul normal antara dua wajah. Ada sisi baik dan buruk dari operasi ini.
Hal yang baik tentang itu adalah bahwa normals tidak rata-rata, sehingga ada sedikit distorsi dari normals: normals dari simpul sepenuhnya tegak lurus terhadap permukaan lowpoly. Itu juga dapat membuat lowpoly lebih indah jika memiliki tepi pada sudut yang tajam lebih cocok untuk tepi yang kaku.
Berita buruknya adalah bahwa sekarang ada kesenjangan antara normals, dan ini dapat berarti bahwa kita dapat kehilangan informasi jika lowpoly memiliki gap dalam normals di mana ia tidak bisa mendapatkan detail highpoly. Selain itu, beberapa bagian dari proyeksi lowpoly dapat berpotongan dan bersaing untuk ruang UV yang sama. Kedua efek membuat jahitan di sepanjang tulang rusuk, yang visibilitasnya tergantung pada mesin.
Namun, ini dapat dengan mudah dihindari dengan trik sederhana: jika dua wajah dipisahkan oleh ujung yang keras, maka Anda harus menempatkan setiap wajah di pulau UV yang terpisah, sehingga menyisakan ruang di antara mereka. Untuk mengurangi dampak dari masalah normals yang terpecah, program baking mencoba sedikit informasi tambahan di luar simpul normals, tetapi untuk ini mereka membutuhkan ruang tambahan pada tekstur. Jika wajah-wajah yang dipisahkan oleh tepi keras terhubung dalam UV, maka tidak akan ada tempat untuk menyimpan informasi tambahan ini pada tekstur.
Kesimpulan
Setelah menyiapkan model lowpoly dan membuatnya sedekat mungkin dengan model highpoly, saya mulai bekerja untuk menghaluskan sebelum UV. Saya mengatur smoothing untuk lowpoly (jika objeknya organik, maka saya mulai dengan model yang sepenuhnya dihaluskan, jika memiliki permukaan yang solid, maka saya mengatur sudut smoothing dalam 30-60ΒΊ dan menyesuaikan smoothing hingga hasilnya terlihat bagus).
Setelah menyiapkan penghalusan model, saya mulai mengerjakan UV, membagi semua tepi yang keras menjadi pulau UV yang terpisah (untuk menghindari jahitan di tepinya).
Jika ada kesalahan dengan bevel, maka saya menambahkan tepi tambahan (biasanya saya membuat bevel untuk menjaga kebulatan siluet). Ini berfungsi untuk sebagian besar model saya, tetapi saya dapat memperbaiki kesalahan dengan bevels jika saya menggunakan Marmoset Toolbag untuk memanggang, atau menggunakan normals sendiri / tertimbang.
Jika ada kesalahan proyeksi, saya mengubah jarak pemanggangan / kandang, memodifikasi lopoly / highpoly sehingga lebih cocok untuk memanggang, atau menghapus peta normal pada bagian yang sangat kaku yang terpisah, misalnya, di ujung kerucut.
Artikel selanjutnya akan menjadi instruksi untuk memperbaiki masalah dengan memanggang peta normal dan membahas masalah dan solusi yang paling umum.