示例#1
0
    void DecorateMesh()
    {
        Transform root = guy.transform.parent;
        //print(" lossyScale is" + parent.transform.lossyScale);

        Vector3 initScale  = pointCube.transform.localScale;
        Vector3 lossyScale = childGroup.transform.lossyScale;

        childGroup.transform.position = guy.transform.position;

        Vector3 normalizeScale = new Vector3(initScale.x / lossyScale.x, initScale.y / lossyScale.y, initScale.z / lossyScale.z);

        sft.resetIndexLinks();//reset index links


        for (int i = 0; i < vertices.Length; i++)
        {
            // WE HAD TO TRACKING
            if (vertices[i].y > startY && vertices[i].z > startZ)
            {
                GameObject newCube = GameObject.Instantiate(pointCube);
                newCube.transform.parent     = childGroup.transform;
                newCube.transform.localScale = normalizeScale;
                // 100 car on est a 0.01
                newCube.transform.position = vertices[i] * guy.transform.localScale.x * 100 * root.transform.localScale.x + guy.transform.position;

                newCube.transform.name = "newCube" + i;
                sft.addIndexLink(i);
            }

            //loading++;
        }

        childGroup.transform.rotation = new Quaternion(0, 0, 0, 0);
        sft.setVertices();
        // sft.linkToTrackingPosition();

        // WHEN INDEX LINKING IS DONE , WE CAN INIT THE MORPHING
        FaceMorpher morpher = GetComponent <FaceMorpher>();

        morpher.initMorphing();
    }