0 votes
asked in General Help by
edited
Hi Partel,

I love your code BTW, it's always clean and well thought out.

So when I try to implement a ledge climb (up and over) with a puppet, the climb animation (with the root motion on and set to hips or root-transform) the animation controller's transform moves away from the parent's (character controller's) transform with the capsule collider and gets offset from then on.

I have tried disabling the charcontoller's capsule collider and its rigidbody's gravity on start of climb and re-enable them at the end, and also fiddled with the onanimationmove fixed deltas and the gravity in the animcontroller but there is always an offset of the capsule collider to the (now idle) animation at the end.

I guess the real question is what is the best way to implement a ledge climb with a puppetized character?

many thanks!

1 Answer

0 votes
answered by (10.3k points)

Hey and thanks!

Were you using the demo character controller in the package?

If so, then please try changin the part that starts in line 63 in CharacterAnimationBase.cs to:

if (smoothFollow) 

{

    transform.position = Vector3.Lerp(lastPosition, transform.parent.TransformPoint(localPosition), Time.deltaTime * smoothFollowSpeed);

    transform.rotation = Quaternion.Lerp(lastRotation, transform.parent.rotation * localRotation, Time.deltaTime * smoothFollowSpeed);

} else 

{

    transform.localPosition = localPosition;

    transform.localRotation = localRotation;

}

Welcome to RootMotion Q&A, where you can ask questions and receive answers from the developer of Final IK and PuppetMaster and other members of the community.

Post as a guest, create an account or login via Facebook.

Please use the correct category when you post your questions.

...