Blender Weight Painting: 7 Masalah yang Dialami Semua Orang, Cara Memperbaikinya, dan Cara Melewati Langkah Ini
Terakhir diperbarui: September 2026.

Hampir setiap masalah weight painting di Blender termasuk salah satu dari tujuh hal berikut: bobot otomatis tidak mau dijalankan, bobot merembes dari satu anggota tubuh ke anggota lainnya, sebuah verteks ditarik oleh lebih dari empat tulang, jumlah bobot tidak sama dengan satu, kedua sisi tidak cocok, pergelangan tangan mengempis saat dipuntir, atau jaket tertinggal ketika tubuh bergerak. Masing-masing memiliki alat khusus di menu Weights dalam Weight Paint Mode (Normalize All, Clean, Limit Total, Smooth, Mirror Vertex Group, Transfer Weights) atau pengaturan modifier, dan panduan ini memberikan jalur yang tepat untuk masing-masing masalah. Jika Anda sama sekali tidak ingin melakukan painting, ada dua add-on yang dapat melakukan skinning karakter untuk Anda, dan keduanya dibahas di bagian akhir.
Jawaban singkat
- Bobot otomatis gagal dengan pesan
Bone Heat Weighting: failed to find solution for one or more bones: bersihkan mesh.Mesh > Clean Up > Merge by Distance,Degenerate Dissolve,Delete Loose, laluSelect > Select All by Trait > Non Manifold. Lakukan rigging pada satu tubuh yang tersambung, kemudian pasang pakaian setelahnya. - Bobot merembes ke anggota tubuh yang salah: pilih face yang terdampak, lalu gunakan
Weights > Assign Automatic from Boneshanya untuk tulang yang seharusnya menguasainya, atau hapus bobot tersebut dengan painting lalu jalankanWeights > SmoothdanWeights > Clean. - Terlalu banyak tulang per verteks: gunakan
Weights > Limit Totaldengan Limit 4, laluWeights > Normalize All. - Jumlah bobot tidak sama dengan satu: gunakan
Weights > Normalize Alldengan Lock Active dimatikan, lalu aktifkan Auto Normalize dalam opsi alat. - Satu sisi sudah benar, sisi lainnya belum: gunakan
Weights > Mirror Vertex Groupdengan Mirror Weights dan Flip Group Names, atau lakukan painting dengan Mirror Vertex Groups diaktifkan dalam panel Symmetry. - Pergelangan tangan seperti bungkus permen: aktifkan Preserve Volume pada modifier Armature untuk render, atau gunakan tulang twist untuk mesin game.
- Pakaian tidak mengikuti tubuh: gunakan modifier Data Transfer pada pakaian, pilih Vertex Groups dan Nearest Face Interpolated, lalu atur tubuh sebagai sumber.
- Lewati langkah ini: Voxel Heat Diffuse Skinning (sekitar $30) dapat melakukan skinning pada mesh yang ditolak solver Blender. Add-on Cinevva Rig (harga peluncuran $29, berjalan secara offline di komputer Anda sendiri, untuk Blender 4.2+ di Windows, macOS, dan Linux) menempatkan kerangka sekaligus bobotnya.
Referensi singkat
| Masalah | Yang Anda lihat | Perbaikan | Lokasi |
|---|---|---|---|
| Bobot otomatis gagal | Bone Heat Weighting: failed to find solution for one or more bones | Merge by Distance, Degenerate Dissolve, Delete Loose, perbaiki edge non-manifold, lakukan rigging hanya pada tubuh | Edit Mode, Mesh > Clean Up, Select > Select All by Trait |
| Bobot merembes | Mengangkat lengan ikut mengangkat rusuk, tangan menyeret pinggul | Gunakan Assign Automatic from Bones pada pilihan face, lalu Smooth dan Clean | Weight Paint Mode, menu Weights dengan face masking |
| Lebih dari 4 pengaruh | Mesin atau viewer menghasilkan deformasi yang berbeda dari Blender | Limit Total 4, lalu Normalize All | Weight Paint Mode, menu Weights |
| Bobot tidak dinormalisasi | Terlihat benar di Blender, tetapi salah setelah diekspor | Normalize All (Lock Active dimatikan), Auto Normalize diaktifkan | Menu Weights, panel Options alat |
| Bobot asimetris | Sisi kiri menekuk dengan baik, sisi kanan tidak | Mirror Vertex Group dengan Flip Group Names | Weights > Mirror Vertex Group |
| Puntiran seperti bungkus permen | Lengan bawah mengerut hingga meruncing saat pergelangan tangan diputar | Preserve Volume, atau tulang twist | Modifier Armature, atau rig |
| Pakaian terpisah seperti cangkang | Jaket atau rok tertinggal, kaki menembus pakaian | Modifier Data Transfer, Vertex Groups, Nearest Face Interpolated | Modifier pada objek pakaian |
Apa itu skin weight, dalam satu paragraf
Setiap verteks pada karakter membawa sebuah daftar kecil: tulang mana yang menggerakkannya dan seberapa besar pengaruhnya. Blender menyimpan daftar tersebut sebagai vertex group yang dinamai sesuai tulang, dengan satu bobot per verteks untuk setiap grup, lalu modifier Armature membacanya: "tulang bernama 'forearm' hanya akan memengaruhi verteks dalam vertex group 'forearm'. Pengaruh satu tulang terhadap verteks tertentu dikendalikan oleh bobot verteks tersebut dalam grup yang terkait." Weight Paint Mode adalah cara untuk melihat dan mengedit angka-angka tersebut sebagai warna. Menurut kode warna dalam manual: "area dengan nilai rendah (bobot mendekati 0.0) ditampilkan sebagai biru (dingin), sedangkan area dengan nilai tinggi (bobot mendekati 1.0) ditampilkan sebagai merah (panas)", dengan warna hijau dan kuning di antaranya.
Sendi yang baik memiliki gradasi pendek. Sendi yang buruk memiliki peralihan tajam yang membuatnya terlipat seperti kertas, atau gradasi yang menjangkau tempat yang seharusnya tidak terpengaruh.
Periksa kondisi yang ada sebelum memperbaiki apa pun
Atur tampilan seperti yang dijelaskan dalam alur kerja di manual: pilih armature, tekan Ctrl-Tab untuk masuk ke Pose Mode, lalu pilih mesh dan beralihlah ke Weight Paint Mode. Edit > Lock Object Modes pada topbar harus dinonaktifkan, atau langkah kedua akan gagal. Pada header viewport, centang Bone Selection, lalu tekan Alt-LMB pada sebuah tulang untuk menampilkan vertex group-nya pada mesh. Tulang tersembunyi di dalam tubuh, jadi aktifkan In Front untuk armature dalam pengaturan Viewport Display.
Kemudian buka Viewport Overlays dan atur Zero Weights ke All. Menurut dokumentasi overlay, verteks "ditampilkan dalam warna hitam jika tidak memiliki bobot dalam vertex group mana pun". Verteks-verteks itulah yang akan tertinggal saat karakter bergerak.
Masalah 1: Bobot otomatis gagal
Anda menekan Ctrl-P, memilih Armature Deform > With Automatic Weights, lalu Blender menampilkan:
Bone Heat Weighting: failed to find solution for one or more bones
Teks tersebut terdapat dalam kode sumber Blender, di source/blender/editors/armature/meshlaplacian.cc, dan fungsi di sekitarnya menunjukkan apa yang salah. Bobot otomatis memperlakukan setiap tulang sebagai sumber panas dan menyelesaikan masalah difusi di sepanjang permukaan mesh, yang dijelaskan oleh manual sebagai pengaruh yang "didasarkan pada jarak dari verteks tersebut ke tulang tertentu (algoritme 'bone heat')". Ada dua detail penting dari kode tersebut: mesh terlebih dahulu ditriangulasi ("bone heat membutuhkan face yang ditriangulasi"), dan sebuah tulang hanya memanaskan verteks yang dapat dilihatnya, yang diuji menggunakan ray cast terhadap mesh. Galat muncul ketika penyelesaian linear untuk sebuah tulang gagal, dan kegagalan terjadi ketika mesh menghasilkan sistem yang degenerat. Dalam praktiknya, ini berarti salah satu dari hal berikut:
- Verteks ganda dan bidang dengan luas nol. Umum terjadi setelah impor FBX atau OBJ, atau operasi Boolean. Dalam Edit Mode pilih semua, lalu
Mesh > Clean Up > Merge by Distance(manual: "Menggabungkan verteks terpilih yang jaraknya lebih dekat satu sama lain daripada jarak tertentu"), kemudianMesh > Clean Up > Degenerate Dissolve, yang "Menciutkan setiap edge terpilih yang lebih pendek daripada panjang tertentu. Ini juga menghapus bidang-bidang kecil." - Geometri lepas.
Mesh > Clean Up > Delete Loose. - Edge non-manifold dan bidang interior.
Select > Select All by Trait > Non Manifoldmemilih "edge yang tidak termasuk dalam bidang mana pun", "edge pada batas dan lubang", serta "edge yang termasuk dalam tiga bidang atau lebih".Select > Select All by Trait > Interior Facesmenemukan "bidang yang mungkin tidak sengaja dibuat di dalam mesh, bukan pada permukaannya". Perbaiki semua yang disorot. Lubang yang ditembus tulang adalah masalah, danMesh > Clean Up > Fill Holesakan menutupnya. - Banyak shell terpisah. Karakter yang dirakit dari tubuh, rambut, mata, gigi, sepatu bot, dan sabuk sebagai island terpisah adalah pemicu klasik, sekaligus alasan dibuatnya add-on Voxel Heat Diffuse Skinning. Rig tubuhnya saja terlebih dahulu, lalu pasang bagian lainnya dengan metode Data Transfer dalam Masalah 7, atau gabungkan bagian-bagiannya dengan
Ctrl-Jdan Merge by Distance. - Skala. Dokumentasi Rigify menyatakan asumsinya dengan jelas: "Rigify mengasumsikan bahwa 1 unit setara dengan 1 meter. Jadi tinggi manusia sekitar 2 unit." Karakter setinggi 180 unit jauh melampaui itu. Skalakan mesh dan armature, jalankan
Object > Apply > All Transforms, lalu lakukan parenting lagi.
Jika error berlanjut, pecah masalahnya: pilih sebagian mesh menggunakan masking pemilihan bidang, lalu jalankan Weights > Assign Automatic from Bones untuk beberapa tulang sekaligus. Setiap alat pada halaman alat Weight Paint dapat digunakan "dengan Vertex Selection Masking dan Face Selection Masking", sehingga Anda dapat menemukan satu bagian yang membuat proses penyelesaian gagal.
Masalah 2: Bobot merembes ke anggota tubuh lain
Lengan terangkat dan tulang rusuk ikut tertarik. Paha menekuk dan selangkangan celana terlipat ke dalam. Tulang tangan menarik sebagian pinggul karena tangan berada dekat pinggul dalam bind pose. Manual menjelaskan penyebabnya secara gamblang: bobot otomatis "sering kali menghasilkan armature yang tidak mendeformasi objek anak sesuai keinginan Anda. Tumpang tindih dapat terjadi saat menentukan tulang mana yang seharusnya memengaruhi verteks tertentu".
Perbaikan paling bersih adalah menjalankan kembali solver pada sebagian mesh. Dalam Weight Paint Mode, aktifkan masking pemilihan bidang, pilih bidang yang seharusnya menjadi bagian lengan (dan hanya bidang tersebut), pilih tulang lengan dalam Pose Mode, lalu jalankan Weights > Assign Automatic from Bones. Menurut manual, perintah ini menerapkan "metode 'auto-weighting' yang sama seperti yang tersedia dalam menu Parent armature, dari tulang yang dipilih ke grup verteks", tetapi kini bidang dada tidak termasuk dalam pilihan sehingga tidak ada bobot yang dapat merembes ke sana. Ulangi untuk setiap anggota tubuh.
Untuk rembesan yang lebih kecil, gunakan painting. Atur Blend kuas ke Subtract dengan Strength rendah, atau tahan Ctrl saat memakai kuas Draw untuk mengurangi bobot, lalu sapukan kuas guna menghapus bobot liar dari dada saat tulang lengan aktif. Kemudian jalankan Weights > Smooth, yang "mencampur bobot verteks terpilih berdasarkan rata-rata verteks yang berdekatan". Factor 0,5 dan dua atau tiga Iterations adalah titik awal yang baik. Setelah itu, gunakan Weights > Clean untuk menghapus sisa bobot mendekati nol yang ditinggalkan Smooth (rinciannya ada dalam daftar periksa ekspor di bawah).
Dua pemeriksaan yang mencegah rembesan sejak awal: posisikan karakter dengan anggota tubuh saling berjauhan (T-pose atau A-pose, dengan celah antara tangan dan pinggul), dan jangan melakukan rigging pada mesh yang lengannya menyentuh sisi tubuh. Panduan rigging otomatis kami membahas pose dan persiapan mesh tunggal secara mendetail.
Masalah 3: Lebih dari empat tulang per verteks
Blender tidak mempermasalahkan jumlah grup yang diikuti sebuah verteks. Game engine mempermasalahkannya. Spesifikasi glTF 2.0 menyimpan skinning dalam atribut JOINTS_0 dan WEIGHTS_0, serta menyatakan bahwa "Jumlah sendi yang memengaruhi satu verteks dibatasi hingga 4 per set". Lebih dari empat memerlukan set kedua (JOINTS_1, WEIGHTS_1), yang diabaikan oleh banyak runtime. Skinned Mesh Renderer Unity menawarkan Skin Weights berupa 1 Bone, 2 Bones, 4 Bones, atau Auto, serta memperingatkan bahwa "Jika Anda mengimpor jumlah skin weight khusus dan ingin mengizinkan pengaruh lebih dari empat tulang, Anda harus memilih opsi ini dan memastikan Skin Weights diatur ke Unlimited". Eksportir glTF bawaan Blender memiliki pengaturan Bone Influences dengan catatan "Model mungkin tampil secara keliru di banyak penampil jika nilainya bukan 4 atau 8".
Jadi, verteks dengan enam pengaruh di Blender akan dipangkas tanpa pemberitahuan saat ekspor atau impor, sehingga deformasi karakter di engine berbeda dari yang terlihat di viewport. Bobot otomatis biasanya menghasilkan enam atau tujuh pengaruh di sekitar bahu, pinggul, dan jari.
Perbaikannya hanya membutuhkan dua klik. Weights > Limit Total, Limit 4. Menurut manual: "Mengurangi jumlah grup bobot per verteks hingga Limit yang ditentukan. Alat ini menghapus bobot terendah terlebih dahulu sampai batas tersebut tercapai." Kemudian jalankan Weights > Normalize All, karena menghapus bobot terkecil membuat jumlah bobot yang tersisa menjadi kurang dari satu.
Masalah 4: Jumlah bobot tidak sama dengan satu
Masalah ini tersembunyi. Alur kerja bobot ternormalisasi dalam manual menjelaskan alasannya: "Modifier Armature di Blender melakukan ini secara otomatis, sehingga secara teknis bobot tidak harus dinormalisasi pada tahap painting." Verteks yang jumlah bobotnya 0,6 atau 1,7 tetap terdeformasi dengan benar di Blender. Spesifikasi glTF menyatakan bahwa "jumlah linear bobot SEBAIKNYA sedekat mungkin dengan 1,0 untuk suatu verteks" dan menjelaskan risikonya: "kesalahan sebesar 1/255 pada jumlah bobot akan menghasilkan perbedaan posisi sendi yang sangat besar dan tidak dapat diterima." Jangan mengandalkan eksportir untuk memperbaikinya secara diam-diam.
Weights > Normalize All. Menurut manual: "Untuk setiap verteks, alat ini memastikan bahwa jumlah bobot di semua grup verteks sama dengan 1. Alat ini menormalisasi semua grup verteks, kecuali grup yang dikunci". Nonaktifkan Lock Active kecuali Anda ingin mempertahankan grup aktif dan menyeimbangkan ulang semua grup lain di sekitarnya. Kemudian, dalam pengaturan alat, aktifkan Auto Normalize, yang "Memastikan bahwa semua grup verteks deformasi berjumlah satu saat painting." Sejak saat itu, setiap sapuan akan mendistribusikan ulang bobot di antara grup yang tidak dikunci, bukan menambahkan bobot di atas nilai yang sudah ada.
Jangan tertukar antara Normalize All dan Weights > Normalize, yang "hanya bekerja pada grup verteks aktif" dan menskalakannya sehingga "nilai bobot tertinggi menjadi 1,0".
Penguncian adalah keterampilan pendampingnya. Kunci grup dengan ikon gembok dalam panel Vertex Groups atau menu radial K, dan Auto Normalize akan "mendistribusikan ulang hanya di antara grup yang tidak dikunci". Dengan cara itulah Anda dapat memperbaiki bahu tanpa mengganggu bobot dada yang sudah benar.
Masalah 5: Kedua sisi tidak sama
Anda sudah mengecat lengan kiri selama satu jam, sedangkan lengan kanan masih menggunakan hasil otomatis mentah. Weights > Mirror Vertex Group menyalin satu sisi ke sisi lainnya, dengan dua syarat dari manual. Pertama, "Mirroring hanya berfungsi jika rest pose objek benar-benar simetris terhadap sumbu X." Jika mesh Anda hanya mendekati simetris, aktifkan Topology Mirror, yang ditujukan "untuk mesh yang tidak sepenuhnya simetris (pencerminan perkiraan)". Kedua, "bobot tidak ditransfer ke grup bobot tulang lawan yang sesuai" kecuali Anda memerintahkannya, yaitu melalui Flip Group Names: opsi ini menukar penetapan antara grup dengan nama simetris "(dengan komponen seperti 'L', 'R', 'right', 'left')". Aktifkan Mirror Weights, Flip Group Names, dan All Groups untuk memproses seluruh karakter sekaligus. Itu bergantung pada penamaan tulang Anda. Halaman konvensi penamaan menerima hand_L dan hand_R, hand.l dan hand.r, handLeft dan handRight, serta pola yang sama dengan sisi sebagai awalan, tetapi tidak menerima handL tanpa pemisah. Gaya Mixamo seperti LeftHand dan RightHand dapat digunakan. Armature dengan nama seperti Bone_012 harus diganti namanya terlebih dahulu karena pencerminan tidak dapat mengetahui tulang mana yang berpasangan.
Untuk menghindari masalah ini, lukis bobot secara simetris sejak awal. Di pengaturan Tool, panel Symmetry, centang Mirror Vertex Groups, yang dijelaskan manual sebagai "melukis secara tercermin pada grup yang memiliki nama simetris". Sekarang setiap sapuan pada lengan kiri juga diterapkan ke grup lengan kanan.
Masalah 6: Pergelangan tangan seperti bungkus permen
Putar pergelangan tangan 90 derajat dan lengan bawah akan menyempit seperti terjepit di bagian tengah. Ini bukan kesalahan pelukisan. Ini adalah konsekuensi matematika linear blend skinning: vertex yang memiliki setengah bobot ke lengan bawah dan setengah ke tangan mendapatkan rata-rata dari transformasi yang diputar dan tidak diputar, dan rata-rata tersebut mengempis menuju sumbu. Opsi Preserve Volume pada modifier Armature menggantinya dengan quaternion blending, dan manual menjelaskan komprominya dengan tepat: "Tanpa opsi ini, rotasi pada sendi cenderung memperkecil geometri di sekitarnya, hingga hampir nol pada sudut 180 derajat dari posisi istirahat. Dengan opsi ini, geometri tidak lagi diperkecil, tetapi muncul 'celah', yaitu diskontinuitas saat mencapai 180 derajat dari posisi istirahat."
Centang Preserve Volume untuk render di dalam Blender. Untuk game, pahami bahwa ini merupakan pengaturan modifier, bukan data mesh, dan glTF serta FBX tidak membawanya. Engine menggunakan linear skinning kecuali Anda menggantinya dengan metode lain, sehingga jepitan tersebut muncul kembali setelah impor. Solusi yang tetap bertahan setelah ekspor adalah cara-cara lama: satu atau dua tulang twist lengan bawah yang membagi rotasi menjadi beberapa tahap lebih kecil, masing-masing dengan gradiennya sendiri, atau menyebarkan bobot pergelangan tangan ke lebih banyak edge loop agar tidak ada vertex yang tepat berada pada rasio 50/50.
Modifier Smooth Corrective adalah alat lain di dalam Blender, "biasanya berguna setelah modifier Armature, ketika distorsi di sekitar sendi mungkin sulit dihindari, bahkan dengan pelukisan bobot yang teliti." Peringatannya sama: modifier ini mendeformasi di Blender dan tidak diekspor sebagai bobot.
Masalah 7: Lapisan pakaian tidak mengikuti tubuh
Anda telah memasang rig pada tubuh dan gerakannya sudah baik. Jaket yang merupakan mesh terpisah mungkin mendapatkan bobot otomatisnya sendiri yang buruk (paha menembus kaki celana karena perpaduan tubuh dan kain sedikit berbeda), atau sama sekali tidak mendapatkan bobot sehingga menggantung di udara. Solusi yang tepat adalah memberikan bobot tubuh kepada pakaian, bukan membuat bobotnya sendiri.
Tambahkan modifier Data Transfer ke objek pakaian. Atur Source ke tubuh, centang Vertex Data, pilih Vertex Groups, atur pemetaan ke Nearest Face Interpolated, lalu klik Generate Data Layers. Manual memperingatkan bahwa tombol ini penting: "Modifier tidak melakukan ini secara otomatis, jadi pastikan Anda mengeklik tombol ini (atau menambahkan sendiri layer yang belum ada), karena jika tidak, transfer mungkin tidak bekerja." Nearest Face Interpolated mencari "titik terdekat pada face sumber terdekat, lalu menggunakan titik tersebut untuk menginterpolasi nilai" vertex pada face itu, persis seperti yang diperlukan untuk lapisan yang berada beberapa milimeter di atas kulit. Atur Layer Mapping ke By Name agar LeftArm pada tubuh diteruskan ke LeftArm pada jaket. Kemudian tambahkan modifier Armature di bawahnya yang mengarah ke armature yang sama. Terapkan modifier Data Transfer sebelum ekspor agar bobot tersebut menjadi grup vertex yang nyata.
Fungsi yang sama juga tersedia sebagai operator: dalam Weight Paint Mode, pilih tubuh, lalu pakaian (sebagai objek aktif), Weights > Transfer Weights, dan pada panel Adjust Last Operation atur Source Layers Selection ke By Name. Manual mencatat bahwa objek "harus berada di lokasi yang sama. Jika ditempatkan berdampingan, transfer bobot tidak akan bekerja."
Untuk lapisan yang tebal (mantel berat atau zirah), bukan pakaian ketat, bobot hasil transfer tetap lebih baik daripada bobot otomatis karena tidak mungkin berbeda dengan tubuh di bawahnya.
Membersihkan bobot untuk ekspor game, secara berurutan
Lakukan semua langkah ini dalam Weight Paint Mode tanpa masking face atau vertex yang aktif agar setiap alat memengaruhi seluruh mesh.
- Hapus grup yang bukan tulang. Di panel Vertex Groups, hapus grup yang tidak cocok dengan tulang deformasi. Dokumentasi modifier Armature menyebutkan, "Menghapus grup vertex kosong membantu mengurangi dependensi".
- Perbaiki bobot yang bocor dan asimetri terlebih dahulu (Masalah 2 dan 5). Alat-alat di bawah ini tidak dapat membedakan bobot liar dari bobot yang benar.
Weights > Limit Total, Limit 4. Untuk glTF, three.js, Babylon.js, Unity dengan pengaturan bawaan, dan sebagian besar target perangkat seluler. Jika engine dan ekspor Anda sama-sama diatur untuk delapan, gunakan 8.Weights > Normalize All, Lock Active nonaktif. Total bobot kembali menjadi 1,0 setelah Limit Total membuang bobot-bobot terkecil.Weights > Clean, Limit 0.001, Keep Single aktif. Clean "melepaskan vertex dari Vertex Groups yang bobotnya berada di bawah Limit". Bobot sebesar 0,0004 tidak menghasilkan perubahan yang terlihat, tetapi tetap menempati salah satu dari empat slot. Keep Single menjamin "setiap vertex akan mempertahankan setidaknya satu bobot". glTF biasanya menyimpan bobot sebagai byte ternormalisasi, dengan langkah terkecil sebesar 1/255, sehingga nilai di bawah 0,004 akan dibulatkan menjadi nol.- Jalankan
Weights > Normalize Alllagi. Clean dapat menyisakan vertex dengan total 0,999. - Periksa Zero Weights. Atur overlay ke All, lalu cari area berwarna hitam.
- Ekspor. Di eksportir glTF, pada Data, Skinning, biarkan Bone Influences bernilai 4 dan Include All Bone Influences tetap nonaktif. Pada Data, Armature, centang Use Rest Position Armature agar bind pose menggunakan rest pose, bukan frame saat ini.
Lewati langkah ini
Orang bersedia membayar agar tidak perlu melakukan semua ini. Dua produk membuktikannya dengan cara yang berbeda.
Voxel Heat Diffuse Skinning dari Mesh Online adalah add-on yang dibeli pengguna Blender ketika bobot otomatis tidak berhasil. Daftar produknya di Superhive menampilkan lisensi Indie seharga $30, lebih dari 12.500 penjualan, dan dukungan untuk Blender 3.6 hingga 5.1 sebagai extension. Daftar tersebut langsung menyoroti masalah yang sama persis: "Blender menampilkan pesan: 'bone heat weighting: failed to find solution for one or more bones'." Metodenya sesuai dengan namanya. Solver bawaan Blender menyebarkan panas di sepanjang permukaan, sehingga memerlukan permukaan yang bersih. Add-on ini mengubah karakter menjadi voxel berbentuk solid dan memungkinkan "panas menyebar di dalam patung solid", sehingga karakter yang dibangun dari dua puluh lapisan yang saling tumpang tindih diproses sebagai satu tubuh. Pembuatnya menjelaskan komprominya secara jujur: metode permukaan bawaan "dapat memberikan hasil yang jauh lebih baik pada area mendetail seperti jari tangan dan jari kaki", sehingga add-on ini menggabungkan kedua metode. Add-on ini memerlukan memori minimal 8 GB. Jika mesh Anda berantakan dan Anda tetap ingin menggunakan kerangka Blender sendiri, inilah produk yang tepat untuk dibeli.
Add-on Cinevva Rig mengambil pendekatan lain: jangan perbaiki bobotnya dan jangan pula menempatkan tulangnya. Pilih sebuah mesh, tekan Rig, lalu alat ini akan menempatkan kerangka humanoid dengan penamaan Mixamo dan melakukan skinning dalam satu proses, dengan bobot yang sudah dibatasi, dinormalisasi, dan dibersihkan untuk engine. Alat ini berjalan secara offline di komputer Anda sendiri setelah satu kali mengunduh engine berukuran sekitar 2,4 GB, dengan harga peluncuran sekali bayar sebesar $29 tanpa biaya per rig, pada Blender 4.2 dan yang lebih baru untuk Windows, macOS, dan Linux. Alat ini juga menyertakan 260 klip animasi CC0 yang dapat di-retarget ke hasil rig di dalam Blender, serta preset ekspor Web, Unity, Unreal, dan Godot gratis yang mengatur Bone Influences, rest pose, sumbu, dan skala untuk Anda. Alat ini tidak menggantikan pelukisan bobot untuk kerangka kustom, ekor, atau rig wajah. Alat ini menggantikannya untuk karakter humanoid yang harus selesai masuk ke game pada hari Jumat. Halaman add-on Blender memuat detail selengkapnya.
Untuk satu karakter tanpa membuka Blender, Auto Rigger berbasis web menerima GLB, FBX, atau OBJ hingga 50 MB dan menghasilkan GLB yang sudah dipasangi rig. Karakter pertama gratis dan hasilnya sudah memiliki maksimal empat pengaruh dengan total bobot satu—keadaan yang baru dicapai panduan ini setelah sepertiga bagian tengahnya.
Rigify adalah opsi gratis yang disertakan bersama Blender, dan dokumentasinya menetapkan ekspektasi dengan wajar: "Biasanya deformasi armature dengan bobot otomatis langsung memberikan hasil yang sangat baik jika Anda menempatkan tulang dengan benar (dan tersedia cukup topologi untuk digunakan!)." Bagian dalam tanda kurung itu merangkum seluruh isi artikel ini.
Pertanyaan Umum
Mengapa weight paint Blender tidak bekerja?
Biasanya penyebabnya salah satu dari tiga hal. Anda mengecat pada grup verteks yang salah, jadi lakukan Alt-LMB pada tulang dengan Bone Selection aktif, lalu periksa grup aktif di header. Armature tidak berada dalam Pose Mode, atau Edit > Lock Object Modes dicentang. Atau masking pemilihan face aktif dan Anda mengecat di luar area yang dipilih. Overlay Zero Weights menunjukkan verteks mana yang memiliki bobot.
Bagaimana cara memperbaiki "Bone Heat Weighting: failed to find solution for one or more bones"?
Bersihkan mesh dalam Edit Mode: Mesh > Clean Up > Merge by Distance, Degenerate Dissolve, Delete Loose, lalu Select > Select All by Trait > Non Manifold dan perbaiki bagian yang disorot. Buat tinggi karakter sekitar 2 meter dengan transformasi yang sudah diterapkan, dan rig satu tubuh yang tersambung sebelum memasang pakaian. Jika masih gagal, add-on Voxel Heat Diffuse Skinning dapat melakukan skinning pada mesh yang tidak kedap tanpa menggunakan bone heat solver.
Bagaimana cara mencerminkan weight paint di Blender?
Gunakan Weights > Mirror Vertex Group dengan Mirror Weights, Flip Group Names, dan All Groups dicentang, serta Topology Mirror jika mesh tidak simetris sempurna. Fitur ini memerlukan rest pose yang simetris pada sumbu X dan tulang yang diberi nama berpasangan seperti hand.L dan hand.R. Untuk mengecat kedua sisi sekaligus, centang Mirror Vertex Groups pada panel Symmetry di pengaturan alat.
Bagaimana cara menormalisasi bobot di Blender?
Weights > Normalize All membuat jumlah bobot setiap verteks menjadi 1 di semua grup yang tidak dikunci. Nonaktifkan Lock Active kecuali jika Anda ingin mempertahankan grup aktif. Kemudian aktifkan Auto Normalize pada Options alat agar goresan baru tetap mempertahankan jumlah bobot sebesar 1. Weights > Normalize biasa berbeda: perintah ini hanya menskalakan grup aktif agar nilai maksimumnya menjadi 1.0.
Bagaimana cara menghaluskan weight paint di Blender?
Aktifkan masking pemilihan verteks, pilih verteks di sekitar sendi, lalu jalankan Weights > Smooth. Factor mengatur sejauh mana setiap bobot bergerak menuju rata-rata bobot verteks di sekitarnya (0.5 adalah nilai awal yang baik), Iterations mengulangi proses, dan Expand/Contract memperluas atau memperkecil area yang terpengaruh. Setelah itu, jalankan Weights > Clean dengan nilai Limit yang kecil, lalu Normalize All.
Mengapa mesh saya mengalami deformasi yang salah di Blender saat tulang digerakkan?
Penyebabnya bisa karena verteks yang salah termasuk dalam grup tulang tersebut (bobot merembes, yang dapat diperbaiki dengan Weights > Assign Automatic from Bones pada face yang dipilih atau dengan menghapus bobot menggunakan kuas), transisi di sepanjang sendi terlalu tajam (Weights > Smooth), atau posisi tulang di dalam mesh tidak tepat sehingga bobot otomatis sudah keliru sejak awal. Periksa juga Zero Weights: verteks yang tidak berada dalam grup mana pun akan tetap diam sementara semua bagian di sekitarnya bergerak.
Apa perbedaan antara heat weighting dan voxel heat diffuse skinning?
Bone heat weighting Blender menyebarkan pengaruh setiap tulang di sepanjang permukaan mesh, sehingga memerlukan permukaan yang bersih dan tersambung. Voxel heat diffuse skinning mengisi volume karakter dengan voxel dan menyebarkan pengaruh melalui bentuk padat tersebut, sehingga tidak mempermasalahkan apakah mesh kedap atau tersusun dari beberapa cangkang terpisah. Add-on Voxel Heat Diffuse Skinning (sekitar $30 di Superhive) menghadirkan metode tersebut ke Blender dan menggabungkan keduanya untuk detail halus seperti jari.
Terkait
- Cara Kerja Rigging Otomatis (dan Cara Menyiapkan Model untuknya): persiapan mesh yang mencegah sebagian besar masalah bobot sebelum terjadi
- Cara Melakukan Rigging Karakter di Blender: panduan lengkap rigging yang dilengkapi oleh panduan ini
- Animasi Karakter dan Rigging Otomatis Gratis: tempat mendapatkan klip CC0 untuk rig setelah deformasinya berfungsi dengan benar
- Cinevva Rig untuk Blender: tulang dan bobot dalam satu proses, secara lokal dan offline, dengan preset ekspor game
- Auto Rigger: rig satu karakter di browser, karakter pertama gratis
- Penampil GLB: periksa skin hasil ekspor dan putar klip di luar Blender