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
Brick Delete CurvySplineSegment from the start of a Spline causes UV's to change studentloan 5 6 06-14-2022, 03:14 PM
Last Post: _Aka_
  Obstacle Moving Along the spline Chanon 1 5 06-13-2022, 04:13 PM
Last Post: _Aka_
Information Common reasons why your spline gizmo is invisble _Aka_ 0 1 05-20-2022, 03:56 PM
Last Post: _Aka_
  Connect two spline at runtime Doomchecker 2 7 05-18-2022, 04:12 PM
Last Post: Doomchecker

Forum Jump: