Ios 无法从.scn文件加载ARKit中的动画

Ios 无法从.scn文件加载ARKit中的动画,ios,animation,scenekit,arkit,caanimation,Ios,Animation,Scenekit,Arkit,Caanimation,我正在使用以下代码加载.scn文件中包含的模型(包括一个动画): // Recursively load all scene's nodes let scene = try! SCNScene(url: sceneFileURL, options: nil) self.modelNode = SCNNode() let nodeArray = scene.rootNode.childNodes for childNode in nodeArray { self.modelNode?.a

我正在使用以下代码加载.scn文件中包含的模型(包括一个动画):

// Recursively load all scene's nodes
let scene =  try! SCNScene(url: sceneFileURL, options: nil)
self.modelNode = SCNNode()
let nodeArray = scene.rootNode.childNodes
for childNode in nodeArray {
    self.modelNode?.addChildNode(childNode as SCNNode)
}
我正在尝试在应用程序的其他部分加载动画。我首先创建sceneSource对象

self.sceneSource = SCNSceneSource(url: sceneFileURL, options: [SCNSceneSource.LoadingOption.animationImportPolicy : SCNSceneSource.AnimationImportPolicy.playRepeatedly])
然后我寻找动画

for child in modelNode.childNodes {
   for key in child.animationKeys {
       print("add animation:\(key)")
       let animation = self.sceneSource?.entryWithIdentifier(key, withClass: CAAnimation.self)
       //child.addAnimation(animation!, forKey: key)
       animation?.repeatCount = 10
       sceneView.scene.rootNode.addAnimation(animation!, forKey: key)
                }
} 
一些调试信息:

1) 循环可以正确找到动画关键点(它将被打印)

2)
SceneSource
已正确初始化

问题
entryWithIdentifier
返回nil,因此无法加载动画

for child in modelNode.childNodes {
   for key in child.animationKeys {
       print("add animation:\(key)")
       let animation = self.sceneSource?.entryWithIdentifier(key, withClass: CAAnimation.self)
       //child.addAnimation(animation!, forKey: key)
       animation?.repeatCount = 10
       sceneView.scene.rootNode.addAnimation(animation!, forKey: key)
                }
} 
注意:如果我使用
addAnimation:ForKey
(目前已弃用,因此我会避免使用),我会得到一个动画对象,但一旦添加到子注释中,它对ARKit中渲染的模型没有影响


这里提供的型号

您找到解决方案了吗?这里也有同样的问题。你找到解决办法了吗?