Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Root Motion on Spline
Good Afternoon, I'm currently trying to "constrain" my character to a spline, Setting its rotation with
 Vector3 P;                                       
    float carTf = path.GetNearestPointTF(transform.position, out P, Space.World); 
    Quaternion splineOrientation = path.GetOrientationFast(carTf);
    float splineOrientationYaw = splineOrientation.eulerAngles.y;
    transform.eulerAngles = new Vector3(0f, splineOrientationYaw, 0f);

this is going well for the rotation part, although for the movement along the spline, I'm trying to get a normalize length of the spline (0 to 1) depending on the current position of my character, is there a simple way to get this value? 

This is for stopping the player when he gets near the end or beginning of the spline.

Thank you and have a good day, excellent profuct by the way!
Thank you for the compliment, always makes me happy to read them Smile
I think this is what you are looking for (possible typos)
var normalizedLength = spline.TfToDistance(carTf) / spline.Length;
Did it work?
Have a nice day

PS: being a French speaker, I found your nickname very funny, then I searched it on the internet. Thanks for making me discover what a puddingchomeur is Big Grin
Please consider leaving a review for Curvy. This will help a lot keeping Curvy relevant in the eyes of the Asset Store algorithm.

Possibly Related Threads…
Thread Author Replies Views Last Post
Video Spline Gizmos & Segments Invisible while Drawing ricke 9 17 8 hours ago
Last Post: _Aka_
  How to merge intersecting meshes at spline connections? Reign_of_Light 2 4 03-20-2023, 08:36 AM
Last Post: Reign_of_Light
  How to fill a closed spline with mesh FanManPro 6 6 02-25-2023, 09:44 AM
Last Post: _Aka_
  How can I attach the component to the mesh generated from the spline? Chanon 1 3 02-11-2023, 09:17 AM
Last Post: _Aka_

Forum Jump: