边界框和矩形有什么区别?
此问题专门针对Unity 3D的Bounds和Rect课程,但我对一般答案感兴趣。
具体做法是:
答案 0 :(得分:4)
哪个性能更好?
无关。它们在2D中是相同的,在3D中它们具有不同的含义/用途。
边界框只是一个3D矩形吗?
没有3D矩形这样的东西。你的意思是一个盒子。边界框是一个足够大的框,可以包含实体/模型的所有可碰撞部分。
我应该何时优先选择其中一个?
不相关,请参阅第一段。
它们是否可以互换,如果是这样,为什么Unity 3D会为它们分别设置类?
再次,2D与3D。
您可以提供的任何其他知识将不胜感激!
存在边界框以提高碰撞检测的性能。如果两个体的边界框不相交,则不需要进一步处理它们的任何碰撞器,或者在2D中执行像素完美的交叉测试。边界框允许碰撞检测算法快速丢弃任何有保证的非碰撞体。
答案 1 :(得分:3)
基本差异是2d vs 3d。
您无法使用2d矩形定义3d对象的边界。
理论上你可以使用Bounds而不是Recto(通过将一个轴设置为0),但不能使用Rect而不是Bounds。由于Bounds需要更多数据,因此会有很小的性能损失。
Abbot Flatland是2d和3d空间之间相互作用的经典概述