Version: 2023.1

Mesh.RecalculateBounds

切换到手册
public void RecalculateBounds (Rendering.MeshUpdateFlags flags= MeshUpdateFlags.Default);

参数

flags 控制函数行为的标志,请参阅 MeshUpdateFlags

描述

Recalculate the bounding volume of the Mesh and all of its sub-meshes with the vertex data.

修改顶点之后,应调用此函数以确保包围体正确。 分配 triangles 会自动重新计算包围体。

using UnityEngine;

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

Unity can only recalculate the bounding volume for Meshes that use the default VertexAttributeFormat.Float32 vertex position format. If your Mesh uses a non-standard vertex position data format, you must assign the bounds manually.

The bounds of a SkinnedMeshRenderer cannot be recalculated, and can only be changed by setting the SkinnedMeshRenderer.localBounds manually.

另请参阅:bounds