33 lines
715 B
C#
33 lines
715 B
C#
using UnityEngine;
|
|
|
|
[RequireComponent(typeof(MeshFilter))]
|
|
public class ReverseNormals : MonoBehaviour
|
|
{
|
|
private void Start()
|
|
{
|
|
MeshFilter meshFilter = GetComponent(typeof(MeshFilter)) as MeshFilter;
|
|
if (!(meshFilter != null))
|
|
{
|
|
return;
|
|
}
|
|
Mesh mesh = meshFilter.mesh;
|
|
Vector3[] normals = mesh.normals;
|
|
for (int i = 0; i < normals.Length; i++)
|
|
{
|
|
normals[i] = -normals[i];
|
|
}
|
|
mesh.normals = normals;
|
|
for (int j = 0; j < mesh.subMeshCount; j++)
|
|
{
|
|
int[] triangles = mesh.GetTriangles(j);
|
|
for (int k = 0; k < triangles.Length; k += 3)
|
|
{
|
|
int num = triangles[k];
|
|
triangles[k] = triangles[k + 1];
|
|
triangles[k + 1] = num;
|
|
}
|
|
mesh.SetTriangles(triangles, j);
|
|
}
|
|
}
|
|
}
|