IKControl Joint Constraint [Beta]

“In advanced”? What do you mean by that?

Instead of manually inserting the IKControl into the Humanoid of your own character in-game, how would you be able to put it in the Humanoid without being in the game?

What exactly are you trying to achieve and/or avoid? With what you described as your final goal (attaching hands to a steering wheel) you can’t avoid scripting entirely. You can avoid some, but tell me what you’re going for so I can help you better.

1 Like

How did you manage to do this if I may ask? I tried my luck with HingeConstraints, but it didn’t really work for me. Do you have to put everything together in a model or what did you add to get it to work?

It has to look something like this.
image
The model needs to be rigged AND have the constraints.

2 Likes

Do you use a plugin in order to rig the parts together? And what kind of constraints do you use? Thank you for your help btw :slight_smile:


cant seem to get it to work. I added 2 attachments to every part and connected each part with a hinge constraint. I dont know how to manage to do this point: “The relative positions of Attachment0 / Attachment1 are equal to the corresponding positions of the Motor6D C0 / C1 CFrames.”

1 Like

Make sure the joints are properly positioned.

I already tried this, I also tried another model. I firstly added motor 6ds to every part (1,2,3). There was a little problem when defining part 0 and part 1: whenever i defined them the part just moved into the center of the part 0. After this I added a End and a Start Attachment to every Part, added 3 Hinge Constraints for every part and connected them. After that I added an animationcontroller → Animator → IKControl and this is how it turned out:


This is frustrating I have no clue why the parts don’t stay together

2 Likes

awesome feature, any eta for bone instances?

Here is the leg that I made. See if you can mimic that.
Leg thing.rbxm (6.8 KB)

From what it looks like, the joints are not positioned correctly. How did you rig it?


Had some fun with motor6d, waiting for bone rig compatibility

8 Likes

Is it possible to use the IKControl constraint on one part/joint only?

This beta has a pretty large and potentially game-breaking impact for our upcoming game where we have already configured our characters to use IKControl + Pole separately from normal constraints for better (albeit maybe less “realistic”) results. Will there be a way to disable this behavior before this goes out of beta?
cc @donutmotion

Your character has both Hinge/BallSocket constraints and IKControl set up on it? If it doesn’t have any Constraints then IKControl’s behavior shouldn’t change. It also respects the Constraint’s Enabled property. So one solution might be to set the constraints as disabled while using IKControl to animate, and then re-enable them when switching to simulating the character. Would that be an option in your case?

Your character has both Hinge/BallSocket constraints and IKControl set up on it?

Yep

So one solution might be to set the constraints as disabled while using IKControl to animate, and then re-enable them when switching to simulating the character. Would that be an option in your case?

We use constraints - created on the server - for ragdoll-death purposes and keep them enabled even when the character is alive, so that the client can simply break joints and have instant feedback when their character dies. Keeping them disabled on the server until its time to ragdoll and only then enabling them would introduce latency for the client

Thanks for the feedback, we’re discussing options internally for adding a way to ignore constraints.

Have you noticed any particular cases where your constraints make the IK result look worse? Our hope is that constraints will almost always make the IK results look better (or at least no worse), but if you have any examples of cases were it looks worse that’s also something we can see about improving.

1 Like

I think the problem for us was just one of control. A pose generated using IK with constraints may be more correct/realistic vs using pole, but there are some cases where we as developers would like to be able to break out of that. If a character is carrying some heavy and long object - imagine a large and long log or something similar under their arm - we can use pole to make sure the elbow points more outwards and does not hit or go inside the log.

A related issue not necessarily caused by IK controls is that ragdoll-style constraints with realistic joint limits tend to flop around a lot, which causes us to set limits on them to be lower, then causing issues with using them for IK. It is difficult to simulate the stiffness and movement inertia that human joints connected by lots of different muscle and tissue have when using constraints.

hi david, i want to know how to rotate a part/union with cframe in a script i don’t know how to