Mesh.RecalculateNormals

切换到手册
public void RecalculateNormals ();

描述

从三角形和顶点重新计算网格的法线。

修改顶点之后,更新法线以反映更改会十分有用。法线从所有共享的顶点进行计算。

导入的网格有时不共享所有顶点。例如,UV 接缝处的顶点会拆分为两个顶点,因此 RecalculateNormals 函数会创建在 UV 接缝处不平滑的法线。

请注意,RecalculateNormals 不会自动生成切线,因此在调用 RecalculateNormals 之后,凹凸着色器 不适用于网格。但是,您可以提供自己的切线。

using UnityEngine;

public class Example : MonoBehaviour { void Start() { Mesh mesh = GetComponent<MeshFilter>().mesh; mesh.RecalculateNormals(); } }