Files
2026-03-04 10:03:45 +08:00

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