New to Animation Editor: Inverse Kinematics

New to Animation Editor: Inverse Kinematics (IK)

We are happy to announce that the Studio Animation Editor now supports Inverse Kinematics (IK) on R15 rigs! Unlike Inverse Kinematics in other animation suites, the Studio Animation Editor does not use Inverse Kinematics at runtime. Instead, all of your transformations done in IK are baked directly into the keyframes of your animation. This feature is still experimental and is entirely optional. We would love to have your thoughts and feedback on anything that can be done to improve it!

What are Inverse Kinematics?

In the context of animating characters, Inverse Kinematics will use a physics solver to determine what rotations a group of joints should have in order to get a specific joint to a desired location. This is very useful for something like a walk cycle, where trying to move the foot joint upwards would cause the upper and lower leg to rotate so that it appears that the knee is bending. This would be cumbersome in Forward Kinematics (the default mode when starting up in the animation editor), as you would have to directly rotate the upper and lower legs yourself in order to get the bending motion.

Requirements for using IK in the Animation Editor: Your rig must be an R15, and it must have the proper joint naming conventions (see under the R15 diagram here: https://www.robloxdev.com/articles/r6-vs-r15-avatars). Also, any attachments between parts must have matching names. For example, an attachment named “LeftWristRigAttachment” exists for both LeftHand and LeftLowerArm. If all of the requirements are met, an “Apply IK” button will appear next to the model name in the Animation Editor.

ApplyIKButton



How to Use

Click the “Apply IK” button in the Animation Editor and you should see a notification appear in studio saying that IK has been applied to the joints.

ApplyIKNofitication

Make sure that your manipulation mode is set to “Move”. You can change manipulation modes in the animation editor by pressing “R”. You can now grab any part that you want, and translate it. The IK solver will try to rotate any parent body parts in order to get that joint into the position you wanted. If you switch to “Rotate” mode, this will also attempt to rotate the part, however, the rotation will be limited to whatever is set on the physics constraint.



IK Modes

There are two IK manipulation modes that you should be aware of, Body Part and Full Body. You can change these modes via the IK dropdown.

Body Part Mode

This isolates movement to specific limbs. For example, moving the Right Hand will only affect parts that compose of the Right Arm (RightUpperArm and RightLowerArm).

Full Body Mode

The IK solver will consider all joints when moving a specific part. In order to exclude specific parts from the IK solver, you must pin them.

Pinning

Pinning a joint will make the body part immovable during the IK manipulation, but only if it is not the part that you are manipulating. An example of this would be with the feet. If you pin both feet, they will remain stationary when manipulating other joints, which could cause a leaning motion on the body.

However, you could still grab one of the feet directly, and in this case it would move.

You can pin a part via clicking the pin icon next to the part name.




Overriding Keyframes

While in the Forward Kinematics mode, you may have made certain transformations that would normally go outside of the physics constraint limits that the IK solver uses for that part. When going into IK mode, the Animation Editor will ask you if you would like to correct any keyframes that have transforms outside of these limits. This is completely optional! We do warn that this can be a lengthy process for more involved animations, and you will not be able to make any edits to the animation or play it back while this corrections are taking place.




Returning to Forward Kinematics Mode

This is the default mode when you start up the animation editor. In order to go back to this, click on the IK dropdown and select Remove IK. This will not remove any manipulations that you have done in IK, that data will still be stored in any keyframes that you have made while IK was applied. This simply removes the constraints from the rig and allows you to manipulate the parts without the IK solver.

121 Likes

Side note: we are aware that multi-selection is currently broken in the animation editor right now. A fix is already being worked on and will be rolled out shortly!

5 Likes

While I’m very disappointed I can’t use a single aspect of this for development of my own game since I use very custom rigs, I’m very excited to see what people do with this. Looks very polished and smooth. Really happy to see body parts can be pinned and made immovable, and that IK can be toggled between whole-body, and limb-only modes.

Are there plans to make this generic so it works with custom rigs?

13 Likes

This looks cool.

2 Likes

oh my gosh yES!

This is amazing!

3 Likes

A post was merged into an existing topic: Memes, Puns & Meme related GIFs Thread

Dangit… I was really hoping for custom rig support. Well, I guess regular rigs will be a lot cooler now at least.
It’s a great step in the right direction!

8 Likes

Thank you for this feature!

Now it’s time to update the roadmap again: https://www.robloxdev.com/resources/Roblox-Platform-Roadmap

2 Likes

someone get these people a raise

7 Likes

I might actually be able to create animations now!

2 Likes

Yes, eventually we would like to support custom rigs! For now, we’re hoping to discover what works and what doesn’t with the current system on regular rigs.

12 Likes

This is really cool, however I stopped liking the animation editor after the migration to using plugin widgets. I really don’t like it as it always snaps onto places I don’t want it to, and it has that bar at the top, wasting valuable screen space. Can’t really get it the right size either as the contents don’t scale nicely. An example of good screen space efficiency I think is with Moon Suite. I want to try this but I don’t want to but myself through the torment of the new editor.
Maybe a bit dramatic and off topic, but you get the point.

11 Likes

Bit of a necro bump, sorry, but every time I try to use the IK editor, it crashes within a minute or two of enabling it.

5 Likes

Yep, lots of posts about this.

:thinking:

It was said that a fix was being made 29 days ago. No word back yet.

2 Likes

@ContextLost has created a fix for this crash, it should go out in the next version of Studio and can hopefully be enabled sometime next week.

7 Likes

Hey! im having an issue i wish i could add IK to my custom character, it basically meets all of the requirements (All of the Limbs are named exactly the same as the ones of a blocky R15) no idea why it doesnt work.

3 Likes

I can’t to see custom rig support for this! I’ve been wanting inverse kinematics for some time now. :smile:

1 Like

Looking at your joint list, they all appear to be at the same hierarchy level. Are you sure your Motor6D setup matches that of the default R15?

1 Like

From the looks of things, the model doesn’t have any Motor6D joints assembling the rig together.