/// <summary> /// Treeseg params /// </summary> /// <param name="subDivX"> divisions of curve</param> /// <param name="subDivY"> number of points on rings</param> /// <param name="bezPath"></param> public TreeSeg(int subDivX, int subDivY, Bezier bezPath) { TreeRing[] segment = new TreeRing[subDivX]; float Xincrement = 1f / (float)subDivX; // increments along Segment curve for (int i = 0; i <= subDivX - 1; i++) // POSSIBLE PROBLEM WITH TWISTED FIRST { Vector3 curvePoint = bezPath.Curve(i * Xincrement); Vector3 curvePerpendicularTangent = Vector3.Cross(bezPath.CurveTangentVectorN(i * Xincrement), new Vector3(1, 0, 0)); //Vector3 curvePerpendicularTangent = Quaternion.Euler(90, 0, 0) * bezPath.CurveTanNVec(); //Debug.Log(curvePoint);//find out what value this give me segment[i] = new TreeRing(subDivY, curvePoint, curvePerpendicularTangent); } bezierPath = bezPath; ringVerts = segment; ringsNum = ringVerts.Length; vertsInRing = ringVerts[0].verts.Length; vertsInSeg = ringsNum * vertsInRing; }