Posts: 4
Threads: 3
Joined: Jul 2016
Im spawning and reusing dummy prefabs to move stuff along a spline. But their starting point should vary. When setting the initial position nothing happens when I run, the value isn't applied until the clamp happens ( which is set to loop ).
Code:
SplineController sc = a.GetComponent<SplineController>();
sc.Position = sc.InitialPosition = sc.Spline.GetNearestPointTF(StartPoint.position) * sc.Spline.Length;
Any idea what im doing wrong?
Posts: 690
Threads: 71
Joined: Jan 2015
Ensure that AutoPlay isn't enabled and set InitialPosition first, then call Play(). That should do the trick...
Posts: 4
Threads: 3
Joined: Jul 2016
07-14-2016, 07:25 AM
(This post was last modified: 07-14-2016, 07:35 AM by Sidar.)
(07-13-2016, 07:06 PM)Jake Wrote: Ensure that AutoPlay isn't enabled and set InitialPosition first, then call Play(). That should do the trick...
Thanks Jake,
I tried that just now but don't move. It looks like the moment I instantiate my objects they don't apply most of the things I call. Play() doesn't actually make my object move nor does it set the initial position.
Edit:
Fixed it by doing the following:
Code:
if (!sc.IsInitialized)
sc.Prepare();
sc.Position = sc.InitialPosition = sc.Spline.GetNearestPointTF(StartPoint.position) * sc.Spline.Length;
I still have to put auto play to true. Calling Play() doesn't work. But in my case that's fine I need them to move anyways. But any reason why Play() might not work?