Spline IK with Effectors in World Space

Hi, with regards to the Animation Blueprint, the Two Bone IK and FABRIK nodes have a way to switch the effector location space from component (or bone) to world space. However, the Spline IK node does not have this option - should I assume that the effector (control points) are in component space? Say my hip and my head transforms are given in World Space - how would I convert these into the right inputs for Spline IK?

How does performance of Spline IK compare to FABRIK? Is one more expensive than the other?

There seems to be a way to control the roll and twist of the spine, but what about in the pitch direction? Or does Spline IK only handle bending in one dimension?

Did you figure out how to fix this ? I’m also confused about this. Is SplineIK using component space or even bone space ?

am also interested in this. Spine IK in global space would be awesome. I am also a bit confused about how spline Ik works. Sometimes it seems to have some odd behavior like rotations.

It works in bone space… very UNCONVENIENT

Not true. It is component space and that is why this node does not work:
image

I wrote a simple node to convert world to comopnenet space:

void UVRIntimateHelperNodes::WorldLocationToComponentSpace(const USkeletalMeshComponent* skeletalMesh, const FVector& worldSpaceLocation, FVector& componentSpaceLocation)
{
	if (skeletalMesh == nullptr)
		return;

	const FMatrix componentInverseMatrix = skeletalMesh->GetComponentToWorld().ToInverseMatrixWithScale();
	componentSpaceLocation = componentInverseMatrix.TransformPosition(worldSpaceLocation);
}

I know it is an old thread by i didnt find a sufficiant answer anywere and quite some people requesting a solution. Hope it still helps someone.