Help with Anim BP IK Hands on steering wheel (location lag problem)

Hi! I have a char seated in a vehicle, a steering wheel static mesh that I rotate with
proper steering values and two UScene components attached to the steering wheel so I can set the desired target location and rotation of character hands in the steering wheel.

in the animation blueprint I am using CCDIK to place the hand effectors to the target scene components.

with the car parked it works ok but as the car increases speed, hands start to offset behind
the steering wheel as a lagged position effect.

The faster the car goes the bigger is theoffset it generates.

It looks like a tick problem but I tried tweaking pre/post physics tickers in the skeletal mesh and the scene components but nothing works.

to transfer the location of the scene components to the desired ABP locations
I am running a function in the main actor ticker that updates the location of the
variables being used in the ABP.

void AmyCar::handsFunction()
{
	if (myAnimInstanceDriver)
	{
		const float rot = UKismetMathLibrary::MapRangeClamped(mySteering,-1.0f,1.0f,-60.0f,60.0f);
	
		mySteeringWheelMesh->SetRelativeRotation(FRotator(0.0f,rot,0.0f));
	
		myAnimInstanceDriver->myLocator_Hand_R = myPivotHandR->GetComponentLocation();
	
		myAnimInstanceDriver->myRotation_R = myPivotHandR->GetComponentRotation();
	
		myAnimInstanceDriver->myLocator_Hand_L = myPivotHandL->GetComponentLocation();
	
		myAnimInstanceDriver->myRotation_L = myPivotHandL->GetComponentRotation();
	}
}

any help?

I moved the logic inside the ABP so it all updates at the same time.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.