Unity3d 2D游戏中的Vector2D或Vector3D

Unity3d 2D游戏中的Vector2D或Vector3D,unity3d,unity3d-2dtools,Unity3d,Unity3d 2dtools,在Unity3d的2D游戏中使用Vector2D有什么缺点吗?还是应该一直使用Vector3D?它们似乎可以互换。只需在2d游戏中使用Vector3。对象的所有位置仍在三维空间中绘制,因此如果使用Vector2D,将只需要从Vector2D到Vector3D进行不必要的强制转换,第三维度将设置为0Vector3D的z属性仍然被考虑用于相同排序层和相同“层中顺序”的精灵,因此请注意这一点。在大多数情况下,精灵的绘制顺序应该由其排序层和层中的顺序属性来处理 在2D物理引擎中有相当多的使用Vector

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

只需在2d游戏中使用
Vector3
。对象的所有位置仍在三维空间中绘制,因此如果使用
Vector2D
,将只需要从
Vector2D
Vector3D
进行不必要的强制转换,第三维度将设置为0
Vector3D
z
属性仍然被考虑用于相同排序层和相同“层中顺序”的精灵,因此请注意这一点。在大多数情况下,精灵的绘制顺序应该由其排序层和层中的顺序属性来处理


在2D物理引擎中有相当多的使用
Vector2D
,但您不必担心它。如果您传递一个
Vector3D
,它将被隐式转换,并且
z
维度将被丢弃。

“它们似乎是可互换的。”它不仅看起来像,Vector2实现了一个隐式操作符,从一个转换到另一个(虽然z被丢弃,但它仍然是一个转换)。通常我会说,Vector2代表UI内容,Vector3代表其他所有内容。你在上面写的东西里把2D和3D混在一起了吗?当然,在2D游戏中使用2D。如果你在2D游戏中使用3D,那很好,没什么大问题。我注意到了隐式的演员阵容。有人问我这个问题,但我不完全确定答案。这是关于一个仅2D的游戏。只需使用大多数函数作为本机参数的任何内容,以避免不必要的施法。但是,除了这些类型之外,还有很多因素会导致性能下降,idk是否是第一个寻求优化的地方。