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
  Changing range affects generated mesh GameJazz 10 32 12-15-2022, 08:28 AM
Last Post: GameJazz
  Is there a way to set the range to be 0 To 30 + 70 To 100? Chanon 1 5 11-24-2022, 05:09 PM
Last Post: _Aka_
  Error when switching splines ricke 3 6 10-10-2022, 08:46 AM
Last Post: _Aka_
  Error when recreating splines / connections jh092 3 7 07-25-2022, 09:58 AM
Last Post: _Aka_

Forum Jump: