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
  Curvy discards Input Spline Range VoltDriver 3 5 11-28-2023, 07:14 PM
Last Post: _Aka_
  Error when trying to connect nodes in prefab edit mode Lupos 4 9 06-02-2023, 10:27 AM
Last Post: _Aka_
Bug Argument Null exception Beqo77 5 17 04-24-2023, 08:26 PM
Last Post: _Aka_
  Changing range affects generated mesh GameJazz 10 33 12-15-2022, 08:28 AM
Last Post: GameJazz

Forum Jump: