我正在尝试使用 Bevy 0.3,并且我可以轻松使用内置转换Camera2dComponents::default()
。
这是自上而下的二维。
问题在于尝试将玩家的旋转与鼠标同步:
for event in evreader.iter(&cursor_moved_events) {
println!("{:?}", transform);
transform.look_at(Vec3::new(event.position.x(), event.position.y(), 0.0), Vec3::new(0.0, 0.0, 1.0));
println!("{:?}", transform);
}
当然,这个变换是我的玩家的变换。
这是输出的内容:
Transform { translation: Vec3(0.0, 0.0, 0.0), rotation: Quat(0.0, 0.0, 0.0, 1.0), scale: Vec3(1.0, 1.0, 1.0) }
Transform { translation: Vec3(0.0, 0.0, 0.0), rotation: Quat(0.5012898, -0.49870682, -0.49870682, 0.5012898), scale: Vec3(1.0, 1.0, 1.0) }
我有点困惑什么up
is in look_at在 2D 中,但我尝试了一些不同的值,结果总是相同的:一旦 Look_at 运行,玩家就会从视图中消失。
为什么此后相机再也看不到玩家了,我做错了什么look_at?