Node =>Create

Local Space

Create a node object in a Vector3 local space.

 public static Node Node_Create_Local(SPData sPData, Vector3 nodeLocalPos)

Example:

 // create a spline plus game object at Vector3(0,0,0)
 var sPData = SplinePlusAPI.SplinePlus_Create(new Vector3(0,0,0));
 // create a node at Vector3(1,1,1) local space
 var node = SplinePlusAPI.Node_Create_Local(sPData,new Vector3(1,1,1));

World Space

Create a node object in a Vector3 world space.

public static Node Node_Create_World(SPData sPData, Vector3 nodeWorldPos)

Example:

// create a spline plus game object at Vector3(0,0,0)
var sPData = SplinePlusAPI.SplinePlus_Create(new Vector3(0,0,0));
// create a node at Vector3(10,20,1) world space
var node = SplinePlusAPI.Node_Create_World(sPData,new Vector3(10,20,1));

Create Node At Distance

Create a node on a defined branch at defined distance and return the node created.

public static Node CreateNode_At_Distance(SPData sPData, int branchKey, float Distance)

Example:

//create a spline plus gameObject and catch the SPData object to use for later
sPData = SplinePlusAPI.SplinePlus_Create(new Vector3(40, 0, 0));

//create 3 nodes in the sPData object
var node1 = SplinePlusAPI.Node_Create_Local(sPData, new Vector3(0, 0, 0));
SplinePlusAPI.Node_Add_To_Branch_End(sPData, branchKey, node1);

var node2 = SplinePlusAPI.Node_Create_Local(sPData, new Vector3(10, 0, 0));
SplinePlusAPI.Node_Add_To_Branch_End(sPData, branchKey, node2);

var node3 = SplinePlusAPI.Node_Create_Local(sPData, new Vector3(20, 0, 10));
SplinePlusAPI.Node_Add_To_Branch_End(sPData, branchKey, node3);

var branchLength = SplinePlusAPI.Branch_Length(sPData, branchKey);
//create a node on the branch defined at a distance of half of branchLength
SplinePlusAPI.CreateNode_At_Distance(sPData, branchKey, branchDistance * 0.5f);