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(); }