Inverse Kinematics Control Instance for animation is now in Beta!

Hmm… For some reason my custom rig built off mesh parts just wont solve…
image

I’ve followed the guide to the T, applying all things to the rig, even testing it as a character. But for some reason it just doesnt want to play ball… Nothing is anchored apart from the HRP. It works if I use it with R15 on a normal character so what am I doing wrong…? Even the head wont turn.

6 Likes

image
image
help, it won’t animate properly
image
image
The chain is foot, end is upperleg.
(I have a script that changes the direction of my uppertorso based off of where I’m looking.)

1 Like

@sg3cko Would you be able to share how the walking demonstration video was made in your initial announcement, where the feet plant flat along the floor yet have a fluent walking animation? When I try to replicate the same results it seems to have quite a high number of bugs, or it will mess with the animation to make it have an awkward feeling, or sometimes (most of the time) both.

3 Likes

swap the chain and end which i think should fix it

Will the default Roblox animations be replaced with IK versions in the future? I would love it if I could have IK animations in all games rather than just games that integrate it. It would make player animations much more realistic and immersive.

3 Likes

Very cool. I’m very impressed with roblox. I hope more great things come out. :slight_smile:

1 Like

At the moment, IKControls are meant as “low-level” constraints and any behavior such as smoothing should be built on top of it using the Weight property. However there have been a few requests to add this option so we are considering it.

5 Likes

Definitely, we are working on making IKControls work with any motor6D setup as you mentioned and will be complete before we exit beta.
Custom poles with attachments will be released in about a week.

4 Likes

Anything that has either a Humanoid/AnimationController + Animator will scan for IKControls and solve them. That includes also models or skinned meshes/Bones.
The references in the IKControl (EndEffector/Target/…) currently support BasePart, Attachment, Motor6D, and Bone, but it could support anything with a CFrame so if you have suggestions let me know!

4 Likes

Can you provide more info on your setup (the hierarchy of parts and how motors are setup between them) and show the results? To which part is the Transform attachment parented?

We now have a guide linked in the post above that should walk you through a simple example without using code :slightly_smiling_face:

Are you planning to add server replication to IKControls when they are moved locally?

It looks like in this example the dog’s head is not pointing in the forward direction (-Z). That is the direction that is aimed at the target when using Type LookAt, just like CFrame does. You can either fix that or wait for next week when we’ll release a property that allows you to specify which axis should be considered as pointing “forward”.

Yes it does, Bones in skinned meshes are currently supported.

I cannot speak to that, but we do plan on releasing certain features such as foot planting or looking at interesting objects for devs to simply enable in their experiences.

1 Like

Can you show a bit more info on your setup? Do you have Motor6Ds, and if yes how are they set up?

Did you follow the same steps as in the guide, just using Foot/UpperLeg instead? Does it work for you if you disable your torso rotation?

1 Like

Starting from the root part, it goes on like this:

HumanoidRootPart>Torso>LeftUpperArm>LeftMiddleArm>LeftLowerArm>LeftPalm>LeftClaw

LeftClaw is where the Target attachment is stored. The representation above is how Motor6Ds are connected. Here’s a Highlighted screenshot:


I can provide a place file if you need it.

2 Likes

We will share the script that does it soon. But the main idea is to raycast a ray from the hip through the foot and check for intersections. If the intersection happens above the foot (so the foot is clipping through the ground), we adjust the Target of the IKControl to that point and normal. You need to take into consideration the offset to have the bottom of the foot align with the ground. We do this every frame in RunService.Stepped, because that happens after the animation step but before the IK solver step (and physics).

3 Likes

We are still working on which behavior should be available for all avatars, but we do plan on providing some behavior such as foot planting and looking at interesting objects as something that developers can toggle on/off.

1 Like