2D 对象不显示

Bevy 的二维 坐标空间 的设置是这样的:你背景的 Z 坐标 Z=0.0,而其他精灵层 Z 坐标需要为正数,即在背景之上。

如此同时意味着,为了看到你的场景,摄像机需要放在更远的地方,在一个大的 +Z 坐标上,看向 -Z。

如果你要覆盖摄像机的 transform 配置,从而创建你自己的 transform,你必需要这样做, 默认创建的 transform Z 坐标为 0(Z=0.0),它将会把摄像机放置在你的精灵(在 +Z 坐标)后面,从摄相机里就看不到精灵, 你需要设置一个大的 Z 坐标。于是,你要么给新创建的 transform 设置一个大的 Z 坐标值,要么从 Bevy 内置的 Bundle 构造函数(OrthographicCameraBundle::new_2d())生成的 Transform 中复制 Z 坐标值。

默认情况下,当你使用 Bevy 内置的 Bundle 构造函数(OrthographicCameraBundle::new_2d())创建一个 2D 摄像机时,Bevy 将摄像机的 Transform 设置为 Z=999.9。这接近于默认的剪裁平面(Z轴的可见范围),它被设置为1000.0。