Вы можете бесконечно l oop или повторять определенное количество раз анимацию актива в RealityKit, используя playAnimation(_:transitionDuration:startsPaused:)
метод экземпляра (но я не вижу опций l oop при использовании методы типа move(to:relativeTo:duration:timingFunction:)
):
@discardableResult
func playAnimation(_ animation: AnimationResource,
transitionDuration: TimeInterval = 0,
startsPaused: Bool = false) -> AnimationPlaybackController
Вот как может выглядеть бесконечная анимация l oop в реальном коде:
let animatedModel = try ModelEntity.load(named: "guitarist")
let anchor = AnchorEntity(world: [2, 0, 3])
anchor.children.append(animatedModel)
arView.scene.anchors.append(anchor)
animatedModel.playAnimation(animatedModel.availableAnimations[0].repeat(),
transitionDuration: 0.5,
startsPaused: false)
Также вы можете использовать al oop определенное количество раз (например, 5):
animatedModel.playAnimation(animatedModel.availableAnimations[0].repeat(count: 5),
transitionDuration: 1.0,
startsPaused: true)
Вышеупомянутый move(to:relativeTo:duration:timingFunction:)
метод может использоваться следующим образом:
animatedModel.move(to: .init(1.0),
relativeTo: nil,
duration: 10,
timingFunction: .default).resume() /* No loop options */