public override void Awake() { if (updateMeshDelegate == null) { updateMeshDelegate = UpdateMesh; } TransformedMesh = new Mesh(mesh); object3D.transform.transformUpdate = updateMeshDelegate; updateMeshDelegate(TransformOps.All); }
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); }