我们正在与ARKit 2+SceneKit,iOS 12合作一个项目。
我们能够用CAAnimation文件检索.dae实例并在运行时控制它们。
现在,我们正在尝试.usdz,但是usdz无法从SCNSceneSource中提取任何类:

let source = SCNSceneSource(url: url, options: options)
let animationIdentifiers = source?.identifiersOfEntries(withClass: CAAnimation.self)

animationIdentifiers始终为空。此函数的文档中列出的所有类也一样https://developer.apple.com/documentation/scenekit/scnscenesource/1523656-identifiersofentries
我们已经测试了我们自己的usdz产品以及来自https://fusionar.app的一些usdz产品。
很难,在iOS或Xcode中查看文件时,动画播放得很好,在这里我们可以访问动画和场景图设置:
ios - 具有usdz文件的SCNSceneSource标识符为空-LMLPHP
但绝对不是从运行时的代码,所以我们无法控制动画。
你有过这个问题吗?
对此有什么见解吗?

最佳答案

SCNSceneSource检索条目仅适用于Collada文件。使用USDZ文件时,必须遍历节点层次结构,并使用-animationPlayerForKey:从保存该文件的节点检索动画。

关于ios - 具有usdz文件的SCNSceneSource标识符为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53400057/

10-12 00:55