Ok, that's the problem when writing code out of the head without testing it. Spline.Add() takes an array only, so instead of a list you could use an array, though I prefer lists when timing isn't critical due to ease of use. It turns out that you can solve your problem with incredible few lines of code. Note that Unity features a TextAsset that I'm using here (it's the easiest way to read a string from a file in Unity and you can drag&drop them from the project window):
I've attached the script, it's editor script and a textfile with your data in the package. Just create an empty GameObject, drag&drop SplineFromFile to it, select the textfile and hit the button.
Cheers
Jake
Code:
public void ReadFile()
{
if (mSpline && File)
{
mSpline.Clear();
string lines = File.text.Split('\n');
List<Vector3> Points = new List<Vector3>;();
foreach (var line in lines)
{
string coords = line.Split(' ');
Points.Add(new Vector3(float.Parse(coords[0]), float.Parse(coords[1]), float.Parse(coords[2])));
}
mSpline.Add(Points.ToArray());
}
}
I've attached the script, it's editor script and a textfile with your data in the package. Just create an empty GameObject, drag&drop SplineFromFile to it, select the textfile and hit the button.
Cheers
Jake