Kinematika Terbalik (IK) adalah teknik umum dalam animasi komputer untuk membuat karakter bergerak dan berinteraksi secara realistis dengan lingkungan mereka dengan efisien.Proses penciptaan gerakan realistis untuk karakter sering membutuhkan banyak iterasi dan penyesuaian minor dari berbagai sendi.Dengan IK, Anda dapat menyajikan dan menganimasi beberapa bagian karakter dengan menyatukan atau menyesuaikan objek tunggal.
Teknik animasi ini dapat memberikan solusi untuk contoh berikut:
IKControl
Anda dapat menggunakan IKControl untuk menambahkan IK secara prosedural ke karakter Anda di luar Editor Animasi.Studio memungkinkan Anda untuk menerapkan secara programatik IK ke semua karakter, seperti R15, Rthro, dan karakter kulit impor khusus, untuk membuat gerakan dan interaksi realistis dalam pengalaman Anda.
Saat menambahkan IKControl , atur properti yang diperlukan dengan benar untuk menghindari hasil animasi yang tidak terduga dan tidak alami.Seperti dengan semua animasi, uji IKControls Anda untuk memastikan bahwa Anda mencapai perilaku yang diinginkan.
Properti yang diperlukan
Saat menambahkan IKControl ke Humanoid atau AnimationController karakter Anda, Anda harus mengatur properti diperlukan berikut untuk mengaktifkan IK:
Propinsi | Deskripsi |
---|---|
Type | Mengidentifikasi jenis perilaku dari kontrol IK. Lihat Enum.IKControlType untuk daftar opsi perilaku. Jenis perilaku umum adalah Position atau Transform . |
EndEffector | Sebuah BasePart atau Bone di karakter rig Anda yang melacak ke arah Target .Sebagai contoh, Anda dapat mengatur tulang Tangan Kiri sebagai EndEffector untuk mencapai objek doorknob yang ditetapkan sebagai Target. |
Target | Objek yang EndEffector mencapai atau menunjuk ke. A Target bisa menjadi objek apa pun dengan posisi dunia. |
ChainRoot | Mendefinisikan rantai BaseParts atau Bones yang dipengaruhi oleh IKControl yang mempengaruhi.Semua bagian terhubung antara dan terpengaruh oleh jenis perilaku yang didefinisikan. Misalnya, jika karakter Anda Tangan Kiri diatur sebagai Target , Anda dapat menerapkan IK ke seluruh lengan kiri dengan mengatur ChainRoot ke Lengan Atas Kiri .Untuk menerapkan IK hanya ke bagian di bawah lengkungan, atur ChainRoot ke Lengan Bawah Kiri . |
Uji Kontrol IK
Anda dapat menambahkan dan mengedit IKControl program secara otomatis atau langsung melalui Explorer.Anda bahkan dapat menambahkan dan membuat perubahan pada IKControl selama tes Permainan untuk segera memeriksa bagaimana berbagai properti memengaruhi gerakan karakter.
Untuk dengan cepat menguji IKControl Anda menggunakan Attachment sebagai target:
Di tab Tes di bilah alat, pilih Mainkan untuk memulai tes permainan.
Klik ikon ⊕ di samping model karakter Anda HumanoidRootPart dan tambahkan lampiran .
Pilih Lampir dan gunakan alat Pindahkan untuk menempatkan objek di depan karakter Anda di jendela pandang.
Di jendela Explorer , pilih ikon ⊕ di samping karakter Anda Humanoid dan tambahkan IKControl .
Pilih IKControl dan atur nilai properti berikut di panel Properti :
- Jenis : Pilih Transform dari dropdown.
- Target : Pilih objek lampiran yang baru dibuat di Explorer.
Properti Kontrol IK Panel Penjelajah - Model Karakter Lengan kiri karakter Anda sekarang harus mencapai target Attachment .Anda dapat bereksperimen dengan memindahkan Attachment atau mengedit properti IKControl untuk mencapai hasil yang berbeda.
Tambahkan batasan
Anda dapat menggunakan Constraints untuk membatasi bagaimana persyaratan dapat bergerak saat mencapai targetnya.Kontraksi dapat memastikan sendi seperti lengkungan dan lutut berguling secara alami, atau untuk membuat sendi mekanik berputar dalam orientasi tertentu.


Untuk menambahkan batasan pada karakter Anda menggunakan IKControl , IKControl dan batasan harus memenuhi kondisi berikut:
- Lampir yang disebutkan dalam properti batasan Attachment0 / Attachment1 / Motor6D terpasang ke bagian yang sama dengan Part0 / Part1 .
- Posisi relatif dari Attachment0 / Attachment1 harus sama dengan posisi yang sesuai dari Class.Motor6D``Class.Motor6D.C0|C0 / C1 CFrames.
- Kontraksi dan IKControl berbagi orangtua yang sama Model .
Instruksi berikut menggambarkan proses menambahkan HingeConstraint untuk membatasi rotasi lengan karakter dan menambahkan BallSocketConstraint untuk pergelangan tangan untuk membatasi sudut rotasi.
Lengkungan
Karakter Roblox R15 sudah termasuk lampiran dalam persambungan mereka yang dapat Anda gunakan untuk menerapkan batasan lengan.Untuk lengkungan, kedua LeftUpperArm dan LeftLowerArm termasuk LeftElbowRigAttachment.Selain menambahkan keterbatasan, Anda juga perlu menambahkan lampiran anak tambahan ke setiap bagian LeftElbowRigAttachment untuk menentukan sumbu mana lengan bisa berputar.
Untuk menambahkan HingeConstraint dan lampiran anak:
Di Explorer, temukan Lengan Bawah Kiri model Anda dan klik tombol ⊕ .
Tambahkan Kekuatan engsel dengan nama LeftElbowConstraint .
Di Explorer, navigasikan ke LeftUpperArm.LeftElbowRigAttachment dan tambahkan lampiran:
Klik tombol ⊕ untuk menambahkan lampiran dengan nama LeftElbowConstraintAttachment0.
Di jendela pandang, pilih lampiran dan gunakan alat Putar untuk memutar lampiran sehingga yellow PrimaryAxis adalah sumbu rotasi lengan Anda yang diharapkan.
Tetapkan properti LeftElbowConstraint.Attachment0 untuk lampiran baru ini.
Di Explorer, navigasikan ke LeftLowerArm.LeftElbowRigAttachment model Anda tambahkan lampiran:
- Klik tombol ⊕ dan tambahkan lampiran dengan nama LeftElbowConstraintAttachment1.
- Tetapkan properti LeftUpperArm.LeftElbowConstraint.Attachment1 untuk lampiran baru ini.
- Salin properti LeftElbowConstraintAttachment0.CFrameOrientation dan tempel sebagai nilai LeftElbowConstraint.Attachment1.CFrameOrientation .
Uji IKControl Anda untuk memverifikasi lengkungan hanya berputar di sekitar sumbu porosnya:
Pergelangan Kaki
Bahkan dengan batas lengkungan, IKControl masih dapat menghasilkan posisi yang tidak realistis dengan pergelangan kaki.

Anda dapat meningkatkan ini dengan menambahkan BallSocketConstraint untuk membatasi rotasi pergelangan kaki.Meskipun ini mirip dengan proses untuk menambahkan HingeConstraint ke lengkungan, Anda dapat menggunakan properti LimitsEnabled pada batasan ini untuk lebih mengontrol rentang gerakan pergelangan kaki.
Untuk menambahkan BallSocketConstraint untuk pergelangan kaki:
- Di Explorer, temukan Tangan Kiri model Anda dan klik tombol ⊕ .
- Tambahkan Batasan BallSocket dengan nama LeftWristConstraint .
- Temukan LeftLowerArm.LeftWristRigAttachment model Anda dan tambahkan lampiran:
- Klik tombol ⊕ dan tambahkan lampiran dengan nama LeftWristConstraintAttachment0.
- Di jendela pandang, pilih lampiran dan gunakan alat Putar alat untuk memutar lampiran sehingga jari kuning PrimaryAxis menunjuk ke jari model.
- Tetapkan properti LeftWristConstraint.Attachment0 ke yang baru LeftWristConstraintAttachment0.
- Temukan LeftHand.LeftWristRigAttachment model Anda dan tambahkan lampiran:
- Klik tombol ⊕ dan tambahkan lampiran dengan nama LeftWristConstraintAttachment1.
- Salin properti LeftWristConstraintAttachment0.CFrameOrientation dan tempel sebagai properti LeftWristConstraintAttachment1.CFrameOrientation .
- Tetapkan properti LeftWristConstraint.Attachment1 untuk keterbatasan baru ini LeftWristConstraintAttachment1 .
- Di Explorer, pilih Batasan Lengkungan Kiri .
- Di Editor Properti, atur yang mengikuti:
- Aktifkan Batas yang Diaktifkan .
- Tetapkan Sudut Atas ke 80.Ini mengontrol seberapa banyak sumbu kendali dapat berputar, dan 80 derajat adalah seberapa banyak pergelangan tangan harus dapat dilengkung.
- Tergantung pada karakter Anda, Anda mungkin ingin menyesuaikan arah yang ditunjuk oleh kerucut.Anda dapat melakukan ini dengan menggunakan alat Putar untuk memutar batasan Attachment0 .
Saat memilih Kontraksi Lengkungan Kiri , terdapat kerucut hijau yang menampilkan rentang gerakan pergelangan tangan.

Dengan batasan yang dibuat, uji IKControl dengan tangan menunjuk ke bawah di depan karakter dan lengan harus berputar dan melengkung lebih realistis.