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

时间:2016-09-09 09:18:10

标签: ios xcode animation 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];

1 个答案:

答案 0 :(得分:2)

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

Automater collada converter download

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