Ejemplo n.º 1
0
    /// <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;
    }