2D 游戏中的 Vector2D 或 Vector3D

Vector2D or Vector3D in 2D games

在 Unity3d 的 2D 游戏中使用 Vector2D 有什么缺点吗?还是我应该始终使用 Vector3D?它们似乎可以互换。

只需在 2d 游戏中使用 Vector3。对象的所有位置仍然以三维 space 绘制,因此如果您使用 Vector2D ,只会有一个不必要的从 Vector2DVector3D 的转换,而第三维只会设置为 0。Vector3Dz 属性 仍被考虑用于同一排序层上的精灵,并且具有相同的 'order in layer',因此请注意这一点。在大多数情况下,精灵的绘制顺序应该由它们的排序层和层属性中的顺序来处理。

Vector2D 在 2D 物理引擎中有很多用途,但您实际上不必担心。如果你传递一个 Vector3D 那么它将被隐式转换并且 z 维度将被丢弃。