版本:Unity 6 (6000.0)
语言英语
  • C#

Mesh.RecalculateBounds

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每项更改建议,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

声明

public void RecalculateBounds(Rendering.MeshUpdateFlags flags = MeshUpdateFlags.Default);

参数

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

描述

使用顶点数据重新计算 Mesh 及其所有子网格的包围盒。

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

using UnityEngine;

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

Unity 只能重新计算使用默认 VertexAttributeFormat.Float32 顶点位置格式的 Mesh 的包围盒。如果您的 Mesh 使用非标准顶点位置数据格式,则必须手动分配 bounds

SkinnedMeshRenderer 的包围盒无法重新计算,只能通过手动设置 SkinnedMeshRenderer.localBounds 来更改。

其他资源:bounds