Blog Metlivi

Cara Menjaga Target Kaki IK Tetap Menapak Saat Menggerakkan Tubuh Karakter

Agar kaki IK tetap menapak, pertahankan posisi dunia setiap target kaki saat menggerakkan kontrol tubuh karakter. Biarkan solver kaki menyesuaikan sendi di antara tubuh yang bergerak dan target yang tetap. Jika target mewarisi gerakan dari tubuh, pisahkan hubungan transformasi tersebut atau kompensasikan sebelum proses IK.

Panduan ini ditujukan bagi kreator yang melakukan pose pada karakter virtual ber-rig, yang tubuhnya perlu bergerak naik turun, condong, atau bergeser sementara kedua kakinya tetap di tempat. Alur kerja berikut memadukan perilaku transformasi dan IK yang terdokumentasi dengan rangkaian diagnosis praktis; istilah Unity dan Godot menjadi acuan konkret.

29 Oktober 2026Bacaan 7 menitOleh Metlivi Editorial Team
Bagian 1

Mengapa target kaki bergerak mengikuti tubuh?

Target dapat memiliki koordinat lokal yang tidak berubah, tetapi tetap bergerak di dalam adegan. Transformasi lokal menjelaskan posisi sebuah objek relatif terhadap induknya, sehingga saat leluhur bergerak, transformasi dunia anaknya juga berubah. Godot mendokumentasikan perbedaan ini melalui transform dan global_transform. Menggunakan transformasi 3D — Godot Engine

Mulailah dengan menampilkan kontrol target kaki, lalu gerakkan tubuh sedikit ke samping. Amati target secara terpisah dari kaki yang terlihat. Jika target bergerak mengikuti tubuh, periksa leluhurnya: target mungkin berada di bawah panggul, kontrol tubuh, atau grup bergerak lainnya.

Jangan menilai pengaturan hanya dari kolom posisi lokal. Catat posisi dunia target sebelum dan sesudah gerakan. Dengan begitu, dua pertanyaan penting dapat dibedakan: apakah target meninggalkan posisi yang diinginkan, atau apakah kaki gagal mengikuti target yang diam?

Bagian 2

Bagaimana sebaiknya kontrol tubuh dan kaki ditata?

Gunakan cabang kontrol terpisah untuk gerakan tubuh dan target kaki yang menapak. Susunan praktis menempatkan kerangka dan kontrol tubuh dalam satu cabang, serta target kaki kiri dan kanan dalam cabang lain di bawah kontrol adegan yang diam. Syarat utamanya adalah kontrol tubuh yang Anda gerakkan tidak boleh menggerakkan cabang target.

Satu kontrol karakter umum tetap dapat mencakup kedua cabang jika Anda hanya menggerakkan tubuh di bawahnya. Namun, menggerakkan kontrol umum tersebut akan menggerakkan kedua cabang. Tentukan terlebih dahulu apakah tindakan Anda berarti “menggeser tubuh di atas kaki yang menapak” atau “memindahkan seluruh karakter” sebelum memilih kontrol.

Jika aplikasi mendukung pewarisan transformasi secara terpisah, fitur itu bisa menjadi pilihan lain. Sebagai contoh, Node3D.top_level di Godot membuat sebuah node berhenti mewarisi transformasi induknya. Ini adalah fitur transformasi yang terdokumentasi; fitur ini tidak dengan sendirinya mengatur solver IK. Node3D — Godot Engine

Saat mengubah induk target atau mode pewarisannya, pertahankan pose dunianya saat ini. Catat posisi dan orientasi dunianya terlebih dahulu, ubah hubungannya, lalu pulihkan pose tersebut. Verifikasi hasilnya sebelum menggerakkan tubuh lagi.

Bagian 3

Bagaimana jika target harus tetap berada di bawah induk yang bergerak?

Simpan pose dunia yang menapak secara terpisah, lalu hitung pose lokal target yang diperlukan berdasarkan transformasi induk saat ini. Untuk posisi, hubungannya adalah: posisi lokal target = invers transformasi dunia induk saat ini × posisi dunia target yang tersimpan. Unity menyediakan konversi dunia-ke-lokal melalui InverseTransformPoint. Transform.InverseTransformPoint — Unity

Perhatikan contoh ilustratif yang hanya melibatkan translasi. Target menapak pada X dunia = 1.0, dan induknya mulai pada X = 0.0. Jadi, X lokalnya adalah 1.0. Pindahkan induk ke X = 0.3, dan target perlu X lokal = 0.7 agar tetap pada X dunia = 1.0. Jika X lokal tetap 1.0, target akan berpindah ke X dunia = 1.3.

Pengurangan tersebut hanya berlaku untuk contoh sederhana. Induk yang berotasi atau berskala membutuhkan konversi transformasi lengkap. TransformPoint di Unity mengonversi posisi lokal menjadi posisi dunia dan secara eksplisit menyertakan skala. Karena itu, konversi posisi sebaiknya menggunakan operasi titik, bukan operasi arah. Transform.TransformPoint — Unity

Simpan pose menapak saat kaki memasuki kondisi menapak. Gunakan kembali nilai tersimpan itu saat tubuh bergerak. Menyimpan ulang target setelah target mewarisi gerakan hanya akan menjadikan pergeseran tersebut sebagai acuan baru. Jika orientasi juga harus tetap, pertahankan dan konversikan orientasi target selain posisinya.

Bagian 4

Bagaimana mengatur IK kaki agar mengikuti target?

Periksa penetapan rantai solver sebelum menguji perubahan pose yang besar. Dalam Unity Animation Rigging 1.4.1, Two Bone IK menggunakan transformasi Root, Mid, dan Tip, sebuah Target, serta Hint opsional. Untuk kaki karakter dengan dua segmen sederhana, ketiganya bersesuaian dengan sendi paha, sendi lutut, dan sendi pergelangan kaki. Hint mengontrol arah tekukan. Two Bone IK — Unity Animation Rigging

Untuk pengujian awal, gunakan pengaruh kendala penuh dan pengaruh posisi target penuh. Periksa pengaruh rotasi target secara terpisah. Unity menyediakan bobot berbeda untuk keduanya, sehingga pengikutan posisi dan pencocokan orientasi dapat diuji secara independen. Pengaturan Maintain Target Offset mempertahankan perbedaan posisi atau rotasi awal antara ujung rantai dan target. Two Bone IK — Unity Animation Rigging

Sejajarkan target dengan pose pergelangan kaki yang diinginkan sebelum mengaktifkan kendala. Jika Anda sengaja menggunakan offset, catat maknanya. Offset awal yang tidak dijelaskan akan menyulitkan perbandingan antara target dan sendi hasil penyelesaian nanti.

Tetapkan tekukan lutut yang diinginkan menggunakan hint atau kontrol pole, lalu gerakkan tubuh sedikit. Pastikan penempatan hint tetap mudah dipahami selama pengujian; mengubah target, tubuh, dan kontrol tekukan secara bersamaan akan menyulitkan identifikasi penyebab hasil yang tidak terduga.

Bagian 5

Seberapa jauh tubuh dapat bergerak sementara kedua kaki tetap menapak?

Target yang tetap tidak berarti semua posisi tubuh dapat dijangkau. Untuk rantai dua segmen ideal dengan sendi tanpa batasan dan tanpa peregangan, geometri mengharuskan jarak dari pangkal kaki ke target berada di antara |panjang segmen atas − panjang segmen bawah| dan panjang segmen atas + panjang segmen bawah. Batas sendi yang sebenarnya dapat mempersempit rentang tersebut.

Untuk contoh karakter ilustratif dengan panjang segmen 0.45 dan 0.45 unit adegan, jangkauan geometris maksimumnya adalah 0.90 unit. Jika pinggul berada 0.80 unit di atas target pergelangan kaki dan berjarak 0.30 unit secara horizontal, jaraknya adalah √(0.80² + 0.30²), atau sekitar 0.854 unit. Jarak ini masih dalam rentang ideal. Menambah jarak horizontal menjadi 0.50 unit menghasilkan sekitar 0.943 unit, melebihi rentang tersebut.

Gunakan perhitungan ini untuk membedakan masalah jangkauan dari masalah transformasi. Jika target tetap, tetapi rantai tidak dapat menjangkaunya, kurangi perpindahan tubuh atau atur posisi tubuh agar kedua kaki dapat menjangkaunya. Evaluasi setiap kaki secara terpisah: pergeseran ke samping dapat mendekatkan satu target sekaligus menjauhkan target lainnya.

Untuk pose kerja pertama, sisakan tekukan yang terlihat pada kedua kaki dan uji gerakan sederhana. Perluas rentang gerak tubuh hanya setelah memeriksa kapan setiap kaki mendekati batas jangkauannya. Anggap rentang itu sebagai hasil khusus rig tersebut, bukan nilai perpindahan yang bisa disalin dari karakter lain.

Bagian 6

Bagaimana cara menjaga seluruh telapak kaki tetap menapak, bukan hanya pergelangan kaki?

Tentukan arti “menapak” untuk rig Anda. Target pergelangan kaki yang diam menetapkan posisi sendi, tetapi kaki juga memerlukan orientasi yang diinginkan. Titik kontak telapak dan poros pergelangan kaki adalah titik acuan yang berbeda; pertahankan offset yang dirancang di antaranya saat menempatkan kontrol.

Salah satu diagnosis yang berguna adalah menahan posisi pergelangan kaki agar tetap, lalu hanya memutar tubuh. Amati tumit dan ujung kaki. Jika keduanya bergerak mengitari pergelangan kaki, periksa kontrol orientasi kaki dan kontrol jari kaki terpisah yang mungkin ada. Pengujian ini memisahkan kontak yang terlihat dari posisi target.

Simpan orientasi menapak yang diinginkan bersama posisinya. Selama tubuh bergerak, bandingkan keduanya dengan pose tersimpan. Dokumentasi transformasi Godot menjelaskan bahwa transformasi menggabungkan origin dengan basis yang merepresentasikan orientasi dan skala, sehingga dapat menjadi acuan yang berguna untuk memahami pose secara utuh. Menggunakan transformasi 3D — Godot Engine

Bagian 7

Bagaimana mendiagnosis pergeseran kaki dengan urutan yang konsisten?

Gunakan urutan berikut sebagai panduan diagnosis praktis yang diturunkan dari perilaku transformasi dan solver di atas. Ubah satu kondisi pada satu waktu, dimulai dengan gerakan tubuh terkecil yang menimbulkan masalah.

Pengamatan Pemeriksaan awal Tindakan berikutnya
Target bergerak mengikuti tubuh Leluhur yang bergerak dan transformasi yang diwarisi Pisahkan cabang kontrol atau pulihkan pose dunia yang tersimpan
Target tetap, pergelangan kaki meleset Penetapan rantai, pengaruh posisi, dan jangkauan Verifikasi pengaturan, lalu kurangi perpindahan tubuh
Pergelangan kaki tetap, tumit atau ujung kaki bergerak Orientasi kaki dan offset kontak Pulihkan orientasi menapak yang diinginkan
Tekukan lutut berubah secara tak terduga Penempatan hint atau pole Uji kontrol tekukan dengan gerakan tubuh sederhana
Hasil berbeda antara menyeret kontrol dan pemutaran Sistem yang menulis tiap kontrol dan waktunya Periksa transformasi hasil evaluasi selama pemutaran

Untuk pengaturan animasi atau prosedural, gunakan urutan dependensi yang jelas: tetapkan pose tubuh, pulihkan atau konversikan target yang tersimpan, lalu evaluasi IK kaki. Pastikan bagaimana aplikasi Anda menjadwalkan operasi tersebut. Nama callback saja tidak menjamin solver membaca target yang telah diperbarui dalam evaluasi yang sama.

Akhiri dengan menguji loop singkat: gerakkan tubuh ke samping, turunkan, putar sedikit, lalu kembalikan ke pose awal. Bandingkan pose dunia setiap target dengan acuan tersimpannya sepanjang pengujian. Setelah target tetap di tempat, penyesuaian selanjutnya menjadi lebih spesifik: gerakan tubuh yang masih dapat dijangkau, arah lutut yang konsisten, dan orientasi kaki yang diperlukan untuk mempertahankan kontak yang diinginkan.

Bagian 8

Sumber

Bacaan terkait

Lanjutkan topik ini