Я сделал анимацию в Blender и переместил ее в Xcode, и она преобразуется из файла .dae в .scn с помощью Xcode.
Я могу воспроизвести анимацию в графе сцены Xcode, как она разработана Blender.
Я загружаю геометрию и анимацию и создаю узел для анимированного объекта.
Я использую SCNAnimationPlayer () для загрузки анимации. Код ниже.
let scene = SCNScene(named: "scene.scn")!
let geometry = scene.rootNode.childNode(withName: "animatedGeo",
recursively:true).geometry!
let animationNode = SCNNode(geometry: geometry)
let armature = scene.rootNode.childNode(withName: "Armature", recursively: true)!
let animationPlayer = armature.animationPlayer(forKey: "action_container-Armature")!
animationNode.addAnimationPlayer(animationPlayer, forKey: "action_container-Armature")
rootNode.addChildNode(animationNode)
Я не устанавливал ничего для animationPlayer программно, потому что все настройки выглядят нормально в окне графа сцены Xcode.
Однако, когда сцена загружена, я вижу небольшое движение на анимированный объект на экране iPhone. Похоже, что частично воспроизводится только первая (родительская) анимация кости. Я не мог найти, почему не воспроизводилась вся анимация, поскольку она воспроизводится в графе сцены.