2

今天我将我的项目更新到 2017.2.0f3 版本(之前在 2017.1.1f1 上工作)。

这个...

offsetX = objectCollider.bounds.extents.x;

...用于返回我的 SphereCollider 世界空间中的边界,但现在它只返回组件的半径。文档说它应该返回世界空间的边界。

当整个 GameObject 重新缩放时,我的 SphereCollider 的半径总是相同的。例如,在补丁之前用于返回正确值的每个方法现在只返回可以在检查器中设置的半径。

我错过了什么,这是一个错误还是自上一个补丁以来发生了变化?我对这个有点迷茫。

4

1 回答 1

0

这一点最近没有改变。a的bounds属性Collider返回Bounds世界空间中的对象,如文档所述。从一个Bounds对象,您可以使用该center属性来获取其世界空间Vector3位置,但您正在查看该extents属性,该属性将为您提供有关其大小的信息,因此这些值位于本地空间中。

如果您想要对撞机边界的世界空间信息的 x 分量,请使用:

objectCollider.bounds.center.x;

如果您想要对撞机边界的世界空间坐标,则需要将其center属性与您从该extents属性获得的大小信息结合起来。

于 2017-11-03T20:26:44.763 回答