3

因此,当我使用旋转功能时,在 Bevy 中似乎 3d 对象围绕全局原点旋转。我当前的解决方案如下,我首先将对象位置设置为全局原点,旋转它,然后将其移回原来的位置:

fn rotator_system(time: Res<Time>, mut query: Query<(&Rotator, &mut Transform)>) {
    for (_rotator, mut transform) in &mut query.iter() {
        let position = transform.translation().clone();
        transform.set_translation(Vec3::new(0.0, 0.0, 0.0));
        transform.rotate(Quat::from_rotation_y(time.delta_seconds));
        transform.translate(position);
    }
}

这是正确的解决方案还是有更好的方法?

这似乎是一个相关的拉取请求:https ://github.com/bevyengine/bevy/pull/564

4

0 回答 0