使用scn中的动画导入3D对象

use*_*396 9 xcode animation ios scenekit scnnode

我在XCode中导入了一个DAE文件并将其转换为SCN文件.此文件包含一些带动画的3D对象.

我正在尝试使用动画导入所有节点并在场景中播放它们.节点已导入但我无法播放动画.

NSURL    *idleURL   = [[NSBundle mainBundle] URLForResource:model.model3D 
                        withExtension:@"scn" subdirectory:@"3d.scnassets"];
SCNScene *idleScene = [SCNScene sceneWithURL:idleURL 
                      options:@{
SCNSceneSourceAnimationImportPolicyKey:SCNSceneSourceAnimationImportPolicyPlayRepeatedly} 
error:nil];

// Merge the loaded scene into our main scene in order to
//   place the object in our own scene
for (SCNNode *child in idleScene.rootNode.childNodes){

    [_sceneView.scene.rootNode addChildNode:child];

    if (child.animationKeys.count > 0) {
        CAAnimation *animation = [child animationForKey:child.animationKeys[0]];
        animation.repeatCount = INFINITY;
        child.paused = NO;
        [_sceneView.scene.rootNode addAnimation:animation forKey:child.animationKeys[0]];
    }       

}

[_sceneView setPlaying:YES];
Run Code Online (Sandbox Code Playgroud)

Fli*_*Fun 2

这是一个将多个关键动画转换为一个 DAE 文件的文件

Automater collada 转换器下载

解压缩并将文件放入 ~/Library/services 文件夹中。从那里您只需右键单击您的 collada 文件并向下滚动到 ConvertToXcodeCollada 即可!完成后会弹出一个窗口(大约半秒)。