问题描述
我正在使用Bevy游戏引擎。
能够在Bevy中将变换传播给孩子的功能很方便,但是当我在游戏中执行碰撞检查时,我一直在使用对象的Translation
来计算其位置。现在,我在场景中有了一些父子层次结构,每个子实体的Translation
都与其父实体有关。
有没有一种方法可以获取实体相对于世界原点(而不是实体父实体)的位置?
解决方法
“世界”位置存储在GlobalTransform
组件中。内部转换是4x4矩阵,其中transform()
函数返回位置。您可以这样访问它:
fn system(global_transform: &GlobalTransform) {
let position = global_transform.translation();
}