Синтаксис:
Используется csharp
public void CreateMesh()
{
GameObject gameModel = new GameObject(MeshChunk.Identifier);
gameModel.AddComponent<MeshRenderer>();
gameModel.AddComponent<MeshFilter>();
gameModel.GetComponent<MeshRenderer>().material = testTexture;
Mesh mesh = gameModel.GetComponent<MeshFilter>().mesh;
mesh.vertices = MeshChunk._vertices.ToArray();
mesh.uv = MeshChunk._UVs.ToArray();
mesh.triangles = MeshChunk._triangles.ToArray();
int[] tris = mesh.triangles;
for (int i = 0; i < tris.Length; i += 3)
{
Vector3 a = mesh.vertices[tris[i]];
Vector3 b = mesh.vertices[tris[i + 1]];
Vector3 c = mesh.vertices[tris[i + 2]];
Vector3 n0 = mesh.normals[tris[i]] + mesh.normals[tris[i + 1]] + mesh.normals[tris[i + 2]];
n0 = (n0 / 3.0f).normalized;
Vector3 n1 = Vector3.Cross((b - a).normalized, (c - a).normalized); // данный пример я нашел на официальном форуме но заставить его работать с моей моделью не смог
}
}
{
GameObject gameModel = new GameObject(MeshChunk.Identifier);
gameModel.AddComponent<MeshRenderer>();
gameModel.AddComponent<MeshFilter>();
gameModel.GetComponent<MeshRenderer>().material = testTexture;
Mesh mesh = gameModel.GetComponent<MeshFilter>().mesh;
mesh.vertices = MeshChunk._vertices.ToArray();
mesh.uv = MeshChunk._UVs.ToArray();
mesh.triangles = MeshChunk._triangles.ToArray();
int[] tris = mesh.triangles;
for (int i = 0; i < tris.Length; i += 3)
{
Vector3 a = mesh.vertices[tris[i]];
Vector3 b = mesh.vertices[tris[i + 1]];
Vector3 c = mesh.vertices[tris[i + 2]];
Vector3 n0 = mesh.normals[tris[i]] + mesh.normals[tris[i + 1]] + mesh.normals[tris[i + 2]];
n0 = (n0 / 3.0f).normalized;
Vector3 n1 = Vector3.Cross((b - a).normalized, (c - a).normalized); // данный пример я нашел на официальном форуме но заставить его работать с моей моделью не смог
}
}