IK Controls are now out of beta!

Yes, this is intentional. Originally Pole was exposed to the GUI as well, but we felt that we shouldn’t require devs to set the pole just to get realistic poses, and should instead work on improving the solver (still on it). We still have it available for advanced users however as script property.

1 Like

Hi, this is for the old IK system in the Animation Clip Editor, which although uses the same name (IK) is not related to IK Controls. That system will be replaced with IK Controls. I’ve forwarded the report to the relevant people in the meantime, thanks!

1 Like

Thanks for the reports, I’ll check them out and fix them.

1 Like

Yes they do! :slight_smile: let me know if that works with your rigs

1 Like

We have fixed this and it will be live shortly, thank you for the report.

1 Like

I figured out how to turn players into ragdolls using this new feature! They can also have animations played over the top too.

I’ve written a tutorial here:

13 Likes

Yes, we currently have a single pole which is used for the whole chain.
Performance was improved a lot during the beta, for reference a single IK control takes ~80 microseconds on average. Most of it it’s spent reading/writing to the rig, which we’ll improve further, but should be already fast enough.

2 Likes

Thanks for the report, I’ll add a fix.

2 Likes

I’ve discovered a CRITICAL bug (crashes every client):

Edit: this was reported by DrewDude500 above

If players/NPCs have their joints broken (which happens upon death) with IKControls active in their humanoid it will crash every single client (including the server & other players)

How to replicate this issue:

  1. Create a new place + insert a rig
  2. Insert an Animator & IKControl into the humanoid. Set the properties as you wish, as long as they are valid.
  3. Have the dummy die server-side or call :BreakJoints() on it.
  4. The client will immediately crash with an error exception.

2 Likes

is their any plans on adding more poles? If not, would it be possible to make limbs with multiple joints going in opposite directions by using multiple IK’s?

Edit: I was able to do something like what I was talking about (with multiple joints going in different directions) but it acts a bit weird.


You can see in the video that the rig would sometimes snap to certain positions.

Also because you can’t specify which joint the pole should be affecting and the solver doesn’t find the best solution where the joint would be closest to the pole, you can get different cases like these even though everything is the same:
IKTesting1
IKTesting2

3 Likes

I don’t know what your use case is, but I was able to get it working on R6 fine, I used the shoulder and grip attachments of the arms for chain roots and end effectors respectively, with the LookAt type & an EndEffectorOffset and it works perfectly.

https://gyazo.com/a594cf57be99d414129c7cfb772481b4.mp4

(I know something like this doesn’t really need IK at all, but the convenience of the arm pointing at an attachment automatically with no custom replication or messing with joints and animations is great)

2 Likes

CC @drewbluewasabi
I found a temporary solution if you want to test it out without fear of accidentally crashing until the issue’s fixed, you can destroy the IKControls when the humanoid dies. For example put this in StarterCharacterScripts on both client and server (so server and local script):

script.Parent:WaitForChild('Humanoid').Died:Once(function()
	for _, v: IKControl in script.Parent:GetDescendants() do
		if v:IsA('IKControl') then
			v:Destroy()
		end
	end
end)


^ Works with :BreakJoints as well

2 Likes

Applying a humanoid description while an IK Control is active seems to always cause a crash.
Repo:
IKControlCrash.rbxl (55.2 KB)

Is it possible to reset the pose to its original state after you disable the IKControl? Right now it’s great for permanent IK control over certain interactions (such as footplanting) but makes dynamic interactions (in my case, hit feedback) pretty difficult to achieve since even after disabling the IKControl, it remains in place.

Obligatory helicopter footage

7 Likes

Oh this will be fun for realistic gun reloads that require changing the actual ammo mag!

The potential for VR on Roblox is now massive.

1 Like

I’m not sure if I set it up correct but, If I set the root to the mesh part and end as a mesh part, then the skinned parts only move in position but not bone deformation.

will there be future updates on supporting constraints like hinges n ball sockets?

How do I use the pole thing? I tried setting it to an attachment or part but is has no effect, how do I use it?

1 Like

I have 2 minor issues, they’re really nitpicky so not a big deal:

So first thing, if you focus on my lower arms you will notice they sort of sway back and forth, it’s really obvious if you focus on the mesh backing as my arm repeatedly clips in and out of the cart.

Second thing, if you focus on my hands, you will notice they still sort of move instead of being completely anchored to the shopping cart at the same position all the time. It’s especially apparent when I stop moving my arm waits a split second before correcting itself and moving back to the handle bar