我想通过给定的量来旋转我的物体并向前平移以创建一个可操控的坦克。
我找不到如何做到这一点,所有的矩阵、向量和四元数都让我很难找到解决方案。
这是我想要实现的Unity等效代码:
transform.Rotate(0, 0, -turn_input * turnSpeed * Time.deltaTime);
transform.position += transform.forward * drive * speed * Time.deltaTime;
我曾经在Bevy 0.2.1中使用这段代码,但在更新到0.4后出现了故障。
*transform.value_mut() = *transform.value()
* Mat4::from_rotation_translation(
Quat::from_rotation_z(-turn_input * tank.turn_speed * time.delta_seconds),
Vec3::unit_y() * drive * tank.speed * time.delta_seconds,
);