首页 > 解决方案 > 列出所有附加到 SCNNode 的 CAAnimation

问题描述

我正在为 FBX 导出器编写 SCNScene,并想确定哪些 SCNNodes 添加了动画。具体来说,我对通过 CAAnimation 的显式动画感兴趣。

方法animation(forKey:)已被弃用,并且animationKeys似乎依赖于使用可选和任意键添加的动画,所以我不知道哪些键路径正在被动画化。

无论如何要获取已附加到 SCNNode 的所有 CAAnimation 的列表?

标签: iosscenekit

解决方案


你应该可以使用类似的东西

for (NSString *key in scnView.scene.rootNode.animationKeys) {
    SCNAnimationPlayer *player = [scnView.scene.rootNode animationPlayerForKey:key];
    CAAnimation *animation = [CAAnimation animationWithSCNAnimation:player.animation];
}

推荐阅读