Пример #1
0
 public override void Awake()
 {
     if (updateMeshDelegate == null)
     {
         updateMeshDelegate = UpdateMesh;
     }
     TransformedMesh = new Mesh(mesh);
     object3D.transform.transformUpdate = updateMeshDelegate;
     updateMeshDelegate(TransformOps.All);
 }
Пример #2
0
        public override void Awake()
        {
            staticMesh = new Mesh(@"..\..\Resources\Cube.obj");
            for (int i = 0; i < mesh.vertices.Length; i++)
            {
                staticMesh.vertices[i] = originalTransform.Rotation.RotateVector3(staticMesh.vertices[i] * originalTransform.Scale) + originalTransform.Location;
                if (i < staticMesh.vertexNormalCoords.Length)
                {
                    staticMesh.vertexNormalCoords[i] = originalTransform.Rotation.RotateVector3(staticMesh.vertexNormalCoords[i] * originalTransform.Scale) + originalTransform.Location;
                }
            }
            staticMesh.CalculateFaceNormals();

            if (updateMeshDelegate == null)
            {
                updateMeshDelegate = UpdateMesh;
            }
            mesh = new Mesh(staticMesh);
            object3D.transform.transformUpdate = updateMeshDelegate;
            updateMeshDelegate(TransformOps.All);
        }