Как получить абсолютную позицию дочернего объекта в bevy?

Я использую игровой движок Bevy.

Возможность распространять преобразования на детей в Bevy удобна, но когда я выполняю проверку столкновений в своей игре, я использую объект Translationвычислить его местоположение. Теперь, когда в моей сцене есть иерархия родитель-потомок,Translation каждого дочернего объекта относительно своего родителя.

Есть ли способ получить положение объекта относительно мирового происхождения, в отличие от родительского объекта?

1 ответ

Решение

"Мировая" позиция хранится в Transformсоставная часть. Преобразования представляют собой матрицы 4x4, где ось "w" - позиция. Вы можете получить к нему доступ так:

fn system(transform: &Transform) {
  let position = transform.value.w_axis(); 
}
Другие вопросы по тегам