Latest commit bae8bf8
坐标系统
Bevy 使用右手坐标系。为了保持一致性,Bevy 在 2D、3D 和 UI 上使用相同的坐标系。
用 2D 来解释最简单:
- X 轴从左指向右(X 的正方向指向右)
- Y 轴从下指向上(Y 的正方向指向上)
- Z 轴从远处指向近处(Z 的正方向指向观察者)
- 原点(X=0.0,Y=0.0)默认在屏幕中心(2D)或者在左下角(UI)
在处理 2D 精灵时,可以把背景放在 Z=0.0,并把其他精灵放置在递增的正向 Z 坐标上,使它们层叠起来。
在 3D 中,轴的方向跟 2D 的一样。
Bevy 的坐标系和 Godot、Maya、OpenGL 的一样。与 Unity 相比,Z 轴是倒置的。

(graphic modifed and used with permission; original by @FreyaHolmer)
注意:在 Bevy 中,Y 轴总是指向上。
使用 UI(与网页相反)时,或者习惯使用 Y 轴指向下方的 2D 库时,这可能会感觉不直观。查看 [UI layout is inverted]。
在制作 2D 游戏时还要注意一个常见的陷阱:摄像机必须定位在一个较远的 Z 坐标(默认为 999.9),否则可能无法看到精灵。查看 [Cannot see sprites in 2D]。