Skip to content

Blender Weight Painting: 7 Masalah yang Dialami Semua Orang, Cara Memperbaikinya, dan Cara Melewati Langkah Ini ​

Terakhir diperbarui: September 2026.

Lengan karakter Blender dalam mode weight paint, dengan gradasi panas biru hingga merah di sekitar siku

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, lalu Select > 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 Bones hanya untuk tulang yang seharusnya menguasainya, atau hapus bobot tersebut dengan painting lalu jalankan Weights > Smooth dan Weights > Clean.
  • Terlalu banyak tulang per verteks: gunakan Weights > Limit Total dengan Limit 4, lalu Weights > Normalize All.
  • Jumlah bobot tidak sama dengan satu: gunakan Weights > Normalize All dengan Lock Active dimatikan, lalu aktifkan Auto Normalize dalam opsi alat.
  • Satu sisi sudah benar, sisi lainnya belum: gunakan Weights > Mirror Vertex Group dengan 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 ​

MasalahYang Anda lihatPerbaikanLokasi
Bobot otomatis gagalBone Heat Weighting: failed to find solution for one or more bonesMerge by Distance, Degenerate Dissolve, Delete Loose, perbaiki edge non-manifold, lakukan rigging hanya pada tubuhEdit Mode, Mesh > Clean Up, Select > Select All by Trait
Bobot merembesMengangkat lengan ikut mengangkat rusuk, tangan menyeret pinggulGunakan Assign Automatic from Bones pada pilihan face, lalu Smooth dan CleanWeight Paint Mode, menu Weights dengan face masking
Lebih dari 4 pengaruhMesin atau viewer menghasilkan deformasi yang berbeda dari BlenderLimit Total 4, lalu Normalize AllWeight Paint Mode, menu Weights
Bobot tidak dinormalisasiTerlihat benar di Blender, tetapi salah setelah dieksporNormalize All (Lock Active dimatikan), Auto Normalize diaktifkanMenu Weights, panel Options alat
Bobot asimetrisSisi kiri menekuk dengan baik, sisi kanan tidakMirror Vertex Group dengan Flip Group NamesWeights > Mirror Vertex Group
Puntiran seperti bungkus permenLengan bawah mengerut hingga meruncing saat pergelangan tangan diputarPreserve Volume, atau tulang twistModifier Armature, atau rig
Pakaian terpisah seperti cangkangJaket atau rok tertinggal, kaki menembus pakaianModifier Data Transfer, Vertex Groups, Nearest Face InterpolatedModifier 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.

Bobot di sepanjang sikuVertex group tulang lengan bawah, ditampilkan dengan warna dingin-ke-panas Blender. Biru adalah 0.0, merah adalah 1.0.Menekuk seperti sikuMelipat dan menarik dadasendi siku0.01.0lengan ataslengan bawahBobot bergradasi sepanjang tiga atau empat edge loop.Setiap loop berbagi tekukan sehingga lipatannya melengkung.Tidak ada bagian di luar lengan yang berwarna merah.sendi siku0.01.0rembesan di dadaBobot melonjak dari 0 ke 1 dalam satu loop.Satu loop menanggung seluruh tekukan dan terjepit rata.Bercak merah di dada bergerak bersama lengan bawah.
Tulang lengan bawah yang sama, dua vertex group. Di sebelah kiri, perpaduannya mencakup beberapa edge loop di sekitar siku sehingga lipatannya melengkung. Di sebelah kanan, perpaduannya hanya selebar satu loop sehingga terlipat seperti kertas, dan ada bercak bobot lengan bawah yang tidak semestinya pada dada—seperti inilah "rembesan" terlihat dalam Weight Paint Mode.

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.

Tutorial alur kerja weight paint dari CGDive membahas penyiapan yang sama: posisikan armature, pilih tulang, lakukan painting, lalu periksa hasilnya dengan menggerakkan tulang.

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:

  1. 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"), kemudian Mesh > Clean Up > Degenerate Dissolve, yang "Menciutkan setiap edge terpilih yang lebih pendek daripada panjang tertentu. Ini juga menghapus bidang-bidang kecil."
  2. Geometri lepas. Mesh > Clean Up > Delete Loose.
  3. Edge non-manifold dan bidang interior. Select > Select All by Trait > Non Manifold memilih "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 Faces menemukan "bidang yang mungkin tidak sengaja dibuat di dalam mesh, bukan pada permukaannya". Perbaiki semua yang disorot. Lubang yang ditembus tulang adalah masalah, dan Mesh > Clean Up > Fill Holes akan menutupnya.
  4. 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-J dan Merge by Distance.
  5. 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.

Satu verteks, enam tulang, empat slotVerteks bahu setelah bobot otomatis, lalu Limit Total 4, kemudian Normalize All.Setelah bobot otomatisLimit Total, Limit 4Normalize All6 pengaruh, jumlah 1,004 pengaruh, jumlah 0,954 pengaruh, jumlah 1,00lengan atasbahudadalehertulang belakangkepala0.420.310.150.070.030.020.420.310.150.07dihapusdihapuslengan atasbahudadalehertulang belakangkepalalengan atasbahudadaleher0.440.330.160.07Muat dalam JOINTS_0 / WEIGHTS_0Empat sendi, empat bobot,jumlah 1,0, satu set atribut.Bobot diskalakan sebesar 1/0,95 pada langkah terakhir. Blender menormalisasi saat evaluasi, sehingga kolom tengah terlihat identik di viewport.
Limit Total mempertahankan empat bobot terbesar dan membuang sisanya, sehingga jumlah bobot verteks menjadi 0,95. Normalize All menskalakan kembali bobot yang tersisa menjadi 1,0. Viewport Blender menampilkan ketiga kolom secara identik karena modifier Armature melakukan normalisasi saat evaluasi, sehingga masalah ini baru terlihat setelah ekspor.

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.

  1. 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".
  2. 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.
  3. 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.
  4. Weights > Normalize All, Lock Active nonaktif. Total bobot kembali menjadi 1,0 setelah Limit Total membuang bobot-bobot terkecil.
  5. 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.
  6. Jalankan Weights > Normalize All lagi. Clean dapat menyisakan vertex dengan total 0,999.
  7. Periksa Zero Weights. Atur overlay ke All, lalu cari area berwarna hitam.
  8. 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.
Tujuh masalah, tujuh alatGunakan Weight Paint Mode kecuali jalurnya menyatakan lain. Setiap alat mematuhi masking face dan vertex.MasalahAlatJalurKesalahan bone heatKebocoran antaranggota tubuhLebih dari 4 pengaruhTotal bobot bukan 1Bobot asimetrisPergelangan seperti bungkus permenLapisan pakaiangagal menemukan solusi untuk satu atau beberapa tulanglengan mengangkat rusuk, tangan menarik pingguldeformasi engine berbeda dari Blenderbaik di Blender, salah setelah dieksporkiri benar, kanan salahlengan bawah terjepit saat pergelangan diputarjaket tertinggal, kaki menembus pakaianMerge by Distance, DegenerateAssign Automatic from BonesLimit Total 4, Normalize AllNormalize All, Auto NormalizeMirror Vertex GroupPreserve Volume, tulang twistModifier Data TransferDissolve, Delete Loose, Non Manifoldpada pilihan face, lalu Smooth, Cleanbobot terendah dibuang terlebih dahuluLock Active nonaktif, lalu lukis secara ternormalisasiMirror Weights, Flip Group Namesmodifier untuk Blender, tulang untuk engineVertex Groups, Nearest Face InterpolatedEdit Mode, Mesh > Clean UpSelect > Select All by TraitWeights > Assign Automatic from Bonesheader: masking pilihan face aktifWeights > Limit TotalWeights > Normalize AllWeights > Normalize AllTool settings > Options > Auto NormalizeWeights > Mirror Vertex GroupTool > Symmetry > Mirror Vertex GroupsModifiers > Armature > Preserve Volumeatau tambahkan tulang twist ke armatureModifiers > Add > Data Transferatau Weights > Transfer Weights
Tujuh masalah, alat untuk masing-masing masalah, dan lokasi yang perlu diklik. Baris pertama dan ketujuh dilakukan di luar Weight Paint Mode: pembersihan mesh dikerjakan dalam Edit Mode dan modifier Data Transfer berada pada objek pakaian.

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 ​