标记 | 控制函数行为的标记,请参阅 MeshUpdateFlags。 |
从三角形和顶点重新计算网格的法线。
在修改顶点后,经常需要更新法线来反映更改。法线是从所有共享顶点计算的。
导入的网格有时不会共享所有顶点。例如,在 UV 缝合线处的顶点被分成两个顶点,因此 RecalculateNormals 函数会创建在 UV 缝合线处不平滑的法线。
请注意,RecalculateNormals 不会自动生成切线,要进行生成,请使用 RecalculateTangents。
using UnityEngine;
public class Example : MonoBehaviour { void Start() { Mesh mesh = GetComponent<MeshFilter>().mesh; mesh.RecalculateNormals(); } }
如果格式不同,RecalculateNormals
会将网格顶点位置数据转换为 VertexAttributeFormat.Float32 格式。
其他资源:RecalculateTangents。