IK Controls are now out of beta!

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

I don’t know if this has been discussed before, but I would like to see better support for animations with IK:

Maybe a way to restrict IK to specific axes? Or a way to make it additive? How did you guys do it in the article (second example video)?

5 Likes

Found a little bug while using IK with my rthro character wearing layered clothing.

https://gyazo.com/58c896933120b4ab8100522278de3858

Is it possible to update the tutorial doc page with an example for setting up dynamic walking for terrain and slopes? There’s a short video provided at the top but nothing further than that. I think a lot of developers will plan on using IK Controls for this purpose but I personally find it a bit unclear on how to properly set it up for this use case.

Is this live yet? The snapping is still happening for me

https://gyazo.com/89aaf4716472cdcc64387a89278e87e7

@ZacAttackk , @Blithwin thank you for the reports, we are working to fix these crashes.

2 Likes

Is R6 support added yet? It was mentioned in the old beta thread but it doesnt seem to be implemented

How would i achieve a footplant with a skinned mesh using these? I have a raycast all setup to find a floor but I just don’t know how to make it look like the legs are moving/walking.

IKs are usually designed for procedural animation, meaning the animation is made using script that replicates the movement of a walking animation, it’s usually complex if you need to make the IK that is. Without that extra hassle you simply have to move the target along the animation course.

Is there a built-in mechanic or intended strategy to clamp the angle/range of motion of an IKControl?

At certain positions, I occasionally get something like this:
image

With this IK:
image

When I’m intending to do this:
image

Am I using it incorrectly?

I’ve been experimenting with this feature for a few days now and these are my thoughts on how it is currently behaving.
There are properties that should be readily available through the studio properties tab but for some unknown reason simply aren’t. Those being Pole and EndEffectorOffset.
There should be a way to visualize the IK, because it takes some decisions which are not very ideal and the lack of visual output as to why makes the process of debugging said issues harder.
Some names are extremely confusing such as why is Pole named Pole? Why is there a ChainRoot and not a EndChain/ChainEnd?
Inconsistent behavior on rigged models (this could actually be on me but i dont know what causes it), I set Type to Position and once the model starts rotating (through CFrame) the limbs I use IKControls on just start contorting and look extremely odd.
image

There is no way to prevent a specific axis from updating either, so it gets harder to clamp the rotation causing some not ideal positions.
Other than that I have had some other weird behavior that is probably caused by my code (such as feet just rotation instead of pointing to the position I intend it to point.)

5 Likes