Различные анимации действий RealityKit, связанные с трансформацией, мешают друг другу.IOS

Программируем под IOS
Ответить
Anonymous
 Различные анимации действий RealityKit, связанные с трансформацией, мешают друг другу.

Сообщение Anonymous »

У меня есть этот минимально воспроизводимый код. Этот код выполняет группу из двух действий: вращение в течение 3 секунд и перемещение в течение 6 секунд.

Код: Выделить всё

    let box = ModelEntity(mesh: .generateBox(size: 0.1))
anchor.addChild(box)
box.position = SIMD3(0.1, 0.2, 0.3)

let rotationAction = FromToByAction(by: Transform(pitch: 10, yaw: 20, roll: 30), isAdditive: false)
let rotationAnimation = try! AnimationResource.makeActionAnimation(for: rotationAction, duration: 3, bindTarget: .transform)

let translationAction = FromToByAction(by: Transform(translation: SIMD3(0.1, 0, 0)), isAdditive: false)
let translationAnimation = try! AnimationResource.makeActionAnimation(for: translationAction, duration: 6, bindTarget: .transform)

box.playAnimation(try! .group(with: [rotationAnimation, translationAnimation]))
Когда я запускаю его, он вращается и движется вместе. Однако траектория перемещения изогнута и, похоже, на нее влияет вращение.
Затем через 3 секунды действие вращения заканчивается, и блок внезапно «перепрыгивает» в нужное положение (как если бы вращения не произошло) и продолжает движение по прямой.
Похоже, что вращение и перемещение мешают друг другу, поскольку они оба связаны с преобразованием, которое является единственным свойством объекта Entity.
Я попробовал переключить isAdditive и тот же результат (не совсем уверен, что делает isAdditive).
Интересно, как я могу убедиться, что они работают вместе, не мешая друг другу, как в SpriteKit или SceneKit? (то есть ящик вращается сам по себе, но все равно движется по прямой; затем через 3 секунды он просто продолжает движение по прямой, не прыгая.

Подробнее здесь: https://stackoverflow.com/questions/797 ... h-each-oth
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»