我正在尝试使用 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
2d 中的look_at 中的内容有些困惑,但我尝试了一些不同的值,结果始终相同:只要该look_at 运行,播放器就会从视图中消失。为什么在那之后相机不再看到玩家了,我在这个 look_at 上做错了什么?
谢谢