Bounds是AABB包围盒的数据表示,AABB包围盒是包含对象,且边平行于坐标轴的最小六面体,如下图所示:
注意标注的Bounds的主要属性
而我们获得Bounds的主要途径有三种:
Render.bounds
Collider.bounds(Collider2D.bounds类似,就不赘述)
Mesh.bounds
以下是这三种bounds跟随物体transform变化而变化的动态图:
红色框:Render.bounds
绿色框:Collider.bounds(为了防止重合,人为的将Collider加大了一点)
蓝色框:Mesh.bounds
可以发现,随着对象的缩放或者旋转变化,Render.bounds和Collider.bounds都相应的扩大或缩小以完全包含其关联的对象,而Mesh.bounds则不会。
Mesh.bounds的值是相对于其自身坐标系的,如果我们将其8个点都转到世界坐标系的话:
可以看到,Mesh.bounds的8个点转到世界坐标系后正好是其包围的立方体的8个点。所以在某些情况下,可以利用这个特性获得物体的真实尺寸
时间: 2024-11-14 19:56:16