lengthToPoint() public method

public lengthToPoint ( float targetLength ) : Point3D
targetLength float
return Point3D
Exemplo n.º 1
0
    void Update()
    {
        //		List<Vector3> pathPos = new List<Vector3>();
        //		for (int n = 0; n < animPath.keyframes.Length; n++){
        //			Vector3 pos = animPath.keyframes[n].position;
        //			pathPos.Add(pos);
        //		}
        //		path = pathPos.ToArray();

        if(path == null || path.Length < 1){ return; }

        Shape sp = new Shape();

        sp.moveTo( path[0] );
        for(int n = 1; n < path.Length-1; n++)
        {
            Vector3 pos = Vector3.Lerp( path[n], path[n+1], 0.5f);
            sp.curveTo( path[n],  pos );
        }

        Vector3 posC = Vector3.Lerp( path[path.Length-2], path[path.Length-1], 0.5f);
        Vector3 posEnd = path[path.Length-1];
        sp.curveTo( posC,  posEnd );

        pathInfo = new PathInfo(sp.commands, sp.data);

        DrawLinePoints();

        //
        Point3D _p3d = pathInfo.lengthToPoint(t_length);
        p3D = new Vector3(_p3d.x, _p3d.y, _p3d.z);
    }