Posts: 4
Threads: 2
Joined: Sep 2016
Hi! I'm a new user to Curvy and am really enjoying it!
How would I programmatically modify the "Range" parameter in the Build Shape Extrusion script? I was expecting to find something like...
GetComponent<FluffyUnderware.Curvy.Generator.Modules.BuildShapeExtrusion>().range
Also, is there a way to read to the position of an object that is attached to a spline via a Spline Controller? Something like:
GetComponent<SplineController>().Position
Thanks,
J.
Posts: 4
Threads: 2
Joined: Sep 2016
09-03-2016, 06:24 AM
(This post was last modified: 09-07-2016, 12:20 AM by maruska.)
Ok, I think I figured a few things out after spending bit more time with the API docs. "From" is essentially from where "Range" is derived.
This code does mostly what I want:
newPosition = splineControlled.GetComponent<SplineController> ().RelativePosition;
GetComponent<FluffyUnderware.Curvy.Generator.Modules.BuildShapeExtrusion> ().From = newPosition;
I'm trying to create a "reverse trail renderer" where the trail draws ahead of the spline controlled object. I was hoping to just connect the position of the spline controlled object to the From attribute, but the above code doesn't keep the generated mesh in sync with the spline controlled object; they meet-up about every third or fourth CP, but then the generated mesh races ahead.
I'm guessing this is an interpolation issue?
Posts: 4
Threads: 2
Joined: Sep 2016
09-06-2016, 06:43 PM
(This post was last modified: 09-06-2016, 06:43 PM by maruska.)
I think I figured it out. Here is my working code if anyone wants to do something similar:
public GameObject splineControllerObject;
public float controllerPosition = 0;
void LateUpdate () {
float position = splineControllerObject.GetComponent<SplineController> ().Position;
float length = splineControllerObject.GetComponent<SplineController> ().Length;
controllerPosition = position / length;
GetComponent<FluffyUnderware.Curvy.Generator.Modules.BuildShapeExtrusion> ().From = controllerPosition;
}