Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Argument out of range (index) error on DistanceToTF
#1
Hi all, I've got a pretty simple setup: a single spline linked to a script, where at Start() I need to analyze the curvature of the spline, so I do:


Code:
float tf = 0f;
float distance = 0.0f;
while(tf < 1){
    tf = spline.DistanceToTF(distance);
    ...
}

Even though the Spline is correctly linked and instantiated, I get:

Code:
ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
At line 519 of CurvySpline.cs, where DistanceToSegment gets mSegment[0].  An mSegment.Count before that line returns 0.  Not sure what to try next.
 

There definitely seems to be a delay before you can access the spline for some reason.  If I stick

Code:
Debug.Log(spline.TFToSegment(0f));
into an Update(), the first one gives a NullReferenceException but all subsequent ones work.  How should we work around this?
 

Ah. Just discovered  CurvySpline.IsInitialized.  My bad.
Reply
#2
Yeah, Unity initialization order isn't predictable (unless you specify script priority in the settings), so you always have to wait until Spline.IsInitialized==true
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
Bug Got Position { Nan } error. Canis 3 316 08-20-2020, 06:27 PM
Last Post: _Aka_
  Error: Calling TeleportBy on a controller that is stopped jamesunity 5 622 07-13-2020, 12:28 PM
Last Post: _Aka_
  Playmaker error Lupp_ 7 2,037 01-08-2020, 12:49 PM
Last Post: _Aka_
  Generator Shape Extrusion Range/Lenght precision UsernameHed 3 2,136 07-10-2019, 10:21 AM
Last Post: _Aka_

Forum Jump: