如何在Bevy中绕本地原点旋转3d网格

问题描述

因此在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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)