Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Best practice when Instantiating game object with spline
Hi, I create splines many times using a prefab which is a simple GameObject with a Curvy Spline component. I create it like this:

splineClone = GameObject.Instantiate(splinePrefab, new Vector3(), Quaternion.identity);

Immediately after this, I grab the spline component and set properties on it, including the actual spline points:

spline = splineClone.GetComponent<CurvySpline>();
spline.Orientation = CurvyOrientation.Static;
CurvySplineSegment[] cps = spline.Add(pathPoints.ToArray());

However, should I be checking spline.IsInitialized first before fiddling with the spline? In other words, do I need to be waiting for some form of initialisation in the CurvySpline componenrt before I set it's control points, even though it doesn't have any control points to start with?
In addition, should I be calling Refresh after adding the control points or before?

As a general rule of thumb when doing everything via the API, when should I be checking the IsInitialized property and calling Refresh?

Thank you
CurvySpline.IsInitialized is set to true at OnEnable and Start. When instantiating via prefab, one of those two methods is not called, or even both of them, I don't remember*. If you don't bother doing tests or looking on internet, the best is to call them both, OnEnable then Start, before using the spline. "Overcalling" those methods should not create any issue.

*The script initialization process in Unity is a hell. It's different depending on Unity's version, on whether you instantiated via editor or script, via prefab or not, on whether it is an editor script or a runtime script, ... Each time I learn it for the sake of debugging or implementing a feature, I forget about it soon after. And of course, the official Unity documentation is incomplete.
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
  Instantiating prefab Abnormalia 3 120 08-28-2020, 02:11 PM
Last Post: _Aka_
  Generated mesh using bezier spline is not following the path accurately processor 3 136 08-25-2020, 04:39 PM
Last Post: _Aka_
  General questions about this asset for a sim game jamesunity 6 523 08-01-2020, 04:53 PM
Last Post: _Aka_
  How to calculate curvature of spline jh092 3 267 08-01-2020, 04:51 PM
Last Post: _Aka_

Forum Jump: