2D 游戏中的 Vector2D 或 Vector3D
Vector2D or Vector3D in 2D games
在 Unity3d 的 2D 游戏中使用 Vector2D 有什么缺点吗?还是我应该始终使用 Vector3D?它们似乎可以互换。
只需在 2d 游戏中使用 Vector3
。对象的所有位置仍然以三维 space 绘制,因此如果您使用 Vector2D
,只会有一个不必要的从 Vector2D
到 Vector3D
的转换,而第三维只会设置为 0。Vector3D
的 z
属性 仍被考虑用于同一排序层上的精灵,并且具有相同的 'order in layer',因此请注意这一点。在大多数情况下,精灵的绘制顺序应该由它们的排序层和层属性中的顺序来处理。
Vector2D
在 2D 物理引擎中有很多用途,但您实际上不必担心。如果你传递一个 Vector3D
那么它将被隐式转换并且 z
维度将被丢弃。
在 Unity3d 的 2D 游戏中使用 Vector2D 有什么缺点吗?还是我应该始终使用 Vector3D?它们似乎可以互换。
只需在 2d 游戏中使用 Vector3
。对象的所有位置仍然以三维 space 绘制,因此如果您使用 Vector2D
,只会有一个不必要的从 Vector2D
到 Vector3D
的转换,而第三维只会设置为 0。Vector3D
的 z
属性 仍被考虑用于同一排序层上的精灵,并且具有相同的 'order in layer',因此请注意这一点。在大多数情况下,精灵的绘制顺序应该由它们的排序层和层属性中的顺序来处理。
Vector2D
在 2D 物理引擎中有很多用途,但您实际上不必担心。如果你传递一个 Vector3D
那么它将被隐式转换并且 z
维度将被丢弃。