Penggantian Bagian Tubuh dan Pemecahan Masalah Batas Jaring/Masker
Badan dasar ZEPETO default memiliki bentuk yang umumnya netral hingga maskulin. Untuk torso wanita yang lebih khas, elemen mesh yang menggantikan badan dasar harus digunakan. Untuk contoh atau titik awal, unduh file Female_Torso.fbx (Unduh) file. File ini dapat dimuat ke dalam Blender dan akan berisi dua objek mesh:
- Female_Torso_V
- guide_mannequin
Baik objek Female_Torso_V maupun objek guide_mannequin dipetakan UV sesuai dengan spesifikasi yang sama seperti masker. Objek Female_Torso_V juga memiliki material yang dinamai “kulit.” Penamaan material ini diperlukan untuk memberi tahu aplikasi agar menggunakan tekstur kulit dari avatar.
Torso ini ditempatkan dalam A-Pose yang rileks, dan akan memerlukan beberapa pekerjaan tambahan untuk menyesuaikan dengan T-pose standar yang diharapkan. Lihat Panduan Rigging untuk detail lebih lanjut tentang konversi A ke T-pose. Untuk mendapatkan kerangka untuk rig dan bekerja, impor file creator_base_set ke dalam scene. Tempatkan kerangka creator base set ke dalam A-Pose standar. Perhatikan bahwa pinggul, lengan, dan leher objek mesh Female_Torso_V semuanya berakhir dalam loop yang sesuai dengan masker default. Ini untuk memastikan tidak ada celah visual pada tubuh dasar saat dipasangkan dengan item lain. Torso ini dapat digunakan untuk membentuk item atas ke bentuk wanita, atau untuk menyediakan bagian torso siap pakai untuk digunakan untuk kulit yang terbuka untuk item atas. Torso wanita tidak memiliki bobot yang disertakan. Untuk pengecatan bobot, gunakan operasi transfer bobot dari objek masker yang diposekan/berbobot dengan tepat dari Creator Base Set. Ini harus memberikan torso dengan distribusi bobot yang tepat. Saat menyertakan bagian dari torso dalam objek atas, pastikan bahwa objek Torso dan Top digabungkan menjadi satu objek. Ini dapat dengan mudah dilakukan dengan memilih mesh torso dan top dan pergi ke Object > Join.
Pengaturan berat untuk setiap komponen item akan dipertahankan per-mesh saat menggabungkan objek mesh bersama, jadi pastikan untuk mengikat kedua objek atas dan torso sebelum menggabungkannya untuk mempermudah hidup Anda. Sebagai bagian dari proses penyelesaian, hapus area mesh torso yang tertutup oleh bagian atas dan tidak akan terlihat. Ini akan membantu mencegah masalah clipping antara objek atas dan torso.
Anda juga dapat menyesuaikan torso Anda sendiri untuk digunakan dalam aplikasi! Jika membuat atau menyesuaikan torso Anda sendiri, mesh harus mengikuti beberapa persyaratan.
- Mesh torso harus sejajar dengan objek topeng dasar di pinggul, leher, dan lengan
- Mesh torso harus mengikuti tata letak UV yang mirip dengan topeng
- Mesh torso harus memiliki material yang ditugaskan padanya bernama “kulit”
Untuk masking, elemen torso kustom akan menggantikan torso tubuh avatar dasar. Untuk lebih lanjut tentang proses masking umum, lihat Panduan Masking. Cat hitam area torso pada topeng yang tertutup oleh torso kustom hingga titik akhir torso kustom. Idealnya, ini akan menyembunyikan torso dasar dan memungkinkan torso kustom ditampilkan tanpa kesalahan.
Lakukan persiapan yang diperlukan untuk mengekspor ke Unity seperti yang diilustrasikan dalam Mengekspor ke Unity bagian panduan. Ekspor item torso, armature, dan masker ke fbx untuk pengujian di Unity.
Impor item dan uji di proyek ZEPETO Studio Unity. Untuk penggantian torso, item Anda akan menjadi atasan atau gaun/setelan.
- Periksa apakah ada kerusakan yang jelas pada mesh antara tubuh avatar dasar dan torso kustom Anda. Jika Anda menemukan ada, kembali ke Blender untuk memperbaiki masalah tersebut.
- Periksa avatar dengan pose animasi untuk memastikan bahwa bobot didistribusikan dengan benar, terutama di sepanjang tepi torso. Jika ada masalah yang ditemukan di sini, kembali ke Blender dan perbaiki masalah cat bobot.
- Periksa garis jahitan antara torso kustom dan avatar dasar untuk melihat apakah ada masalah dengan kontinuitas normal antara torso kustom dan avatar dasar. Jika ada masalah di sini, mereka harus diubah di Blender.
Jika tidak ada masalah di Unity, ekspor prefab ke file .zepeto. Unggah dan periksa kembali item di ZEPETO Studio. Jika tidak ada masalah tambahan, Anda dapat mengirimkan item untuk ditinjau.
Jika mesh sudah sejajar dengan benar, tetapi garis muncul di perbatasan bagian tubuh kustom dan tubuh avatar dasar dengan kerusakan yang tampak seperti perubahan pencahayaan, normal dari bagian tubuh kustom mungkin tidak sejajar dengan tubuh avatar dasar.
Anda dapat memeriksa penyelarasan normal vertex dengan memilih item dengan bagian tubuh kustom dan objek masker, masuk ke mode edit, dan di Menu Viewport Overlays di kanan atas, pilih tombol “Display Split Normals”. Garis-garis merah muda akan muncul dari mesh di setiap vertex. Garis-garis ini mewakili arah tangen dari normal vertex.
Jika garis merah muda tidak sejajar di perbatasan, kita mungkin perlu mentransfer data normal dari mesh ke bagian tubuh kustom. Untuk mentransfer data normal dari mesh masker ke mesh item, mulailah dengan memilih item dan menambahkan modifier “Data Transfer” ke objek mesh item.
Kami ingin mentransfer “Custom Normals” di bawah “Face Corner Data.” Kami ingin menambahkan masker sebagai objek “Source” sehingga kami dapat mengambil informasi normal dari masker.
Untuk membatasi transfer ke informasi normal di perbatasan, kita harus membuat grup vertex baru untuk ditargetkan oleh modifier. Dalam mode edit dengan item torso kustom, buka tab Object Data Properties dan buat grup vertex baru dengan tombol '+'. Untuk tujuan organisasi, beri nama grup vertex ini sesuatu yang deskriptif, seperti “Border Normals Target.”
Dengan semua elemen mesh lainnya tidak dipilih, pilih loop tepi perbatasan dan gunakan tombol “Assign” untuk menetapkan komponen mesh yang dipilih ke grup vertex.
Kembali ke tab modifier, di Data Transfer Modifier, temukan dan pilih grup vertex target border di kotak Vertex Group. Sekarang, mesh normal dari wilayah border memiliki normal yang disalin dari mesh normal mask.
Terapkan normal ke mesh dengan menerapkan modifier.
Periksa kembali apakah normal sudah sejajar dengan overlay normal. Jika semuanya berfungsi, lanjutkan untuk mengekspor dan menguji item Anda di Unity.
Jika mesh sudah sejajar dengan benar, tetapi perubahan nada warna dasar muncul di batas antara bagian tubuh kustom dan tubuh avatar dasar, peta UV dari bagian tubuh kustom dan peta UV dari masker mungkin tidak cocok.
Menggunakan bahan kulit memerlukan UV bagian tubuh kustom agar sejajar dengan UV dari masker. Kita dapat mentransfer data UV dari masker ke torso kustom dengan menggunakan alat Transfer Mesh Data di Blender. Mulailah dengan memisahkan geometri bagian tubuh kustom dari mesh item.
Dalam mode Objek, pilih bagian tubuh kustom, lalu shift/tambah pilih objek masker, sehingga objek masker menjadi pilihan aktif. Pergi ke menu Objek > Link/Transfer Data > Transfer Mesh Data, dan pilih “UV” di pop-up yang muncul.
- Pastikan “Tipe Data” diatur ke “UVs”
- Ubah “Pemetaan Sudut Wajah” ke “Sudut Terdekat dan Normal yang Paling Cocok”
- Ubah “Pemetaan Wajah” ke “Pencocokan Normal Terbaik”
- Semua pengaturan lainnya dapat tetap pada pengaturan default mereka
Data peta UV pada bagian tubuh kustom sekarang harus memiliki tata letak yang mirip dengan masker. Periksa peta UV dari bagian tubuh kustom untuk memverifikasi tata letaknya mirip dengan masker.
Jika semuanya sudah diperiksa, gabungkan kembali bagian tubuh kustom dengan item dan lanjutkan untuk mengekspor dan menguji item Anda di Unity.
Jika bagian tubuh kustom tidak mengikuti gerakan yang diharapkan dari tubuh avatar dasar, kemungkinan ada kesalahan dalam distribusi bobot bagian tubuh kustom. Untuk mengatasi masalah ini, transfer bobot dari sumber yang baik, seperti masker, ke bagian tubuh kustom. Mulailah dengan memisahkan geometri bagian tubuh kustom dari mesh item. Pilih masker, lalu shift/tambah pilih mesh bagian tubuh kustom. Masuk ke mode Weight Paint. Pergi ke Weights > Transfer Weights. Dalam opsi yang diperluas, pastikan “Source Layers Selected” diatur ke “By Name.” Untuk “Destination Layers,” opsi “All Layers” dapat dipilih jika Anda ingin mentransfer semua bobot. Pilih grup vertex tertentu jika Anda hanya perlu mentransfer bobot tertentu, seperti bobot di sekitar garis batas mesh bagian tubuh kustom. Uji dan koreksi kesalahan pembobotan, lalu gabungkan kembali bagian tubuh kustom ke item. Ekspor dan uji item di Unity.