将Collada dae文件加载到SceneKit中以进行关节操作

时间:2014-11-15 09:25:39

标签: objective-c collada scenekit kinematics

我正在将装配好的collada文件加载到SceneKit中并尝试将骨盆向前旋转45度和脊柱。骨盆和脊椎节点会加载,但旋转似乎不起作用。提取的2个SCNNode类是父文件中的“联合”节点。

NSURL *url = [[NSBundle mainBundle] URLForResource:@"rigged-character" withExtension:@"dae"];
SCNSceneSource *source = [SCNSceneSource sceneSourceWithURL:url options:nil];
pelvis = [source entryWithIdentifier:@"ID179469248" withClass:[SCNNode class]];
spine = [source entryWithIdentifier:@"ID179691712" withClass:[SCNNode class]];

[pelvis setPivot:SCNMatrix4MakeRotation(MCP_DEGREES_TO_RADIANS(45), 0, 1, 0)];
[spine setPivot:SCNMatrix4MakeRotation(MCP_DEGREES_TO_RADIANS(45), 0, 1, 0)];

有谁知道为什么我需要添加:     [myView.scene.rootNode addChildNode:pelvis];     [pelvis addChildNode:spine];

感谢您的协助。

1 个答案:

答案 0 :(得分:0)

为了创建骨架,我按如下方式构建骨架:

  1. 在collada文件中创建SCNView加载
  2. SCNNode
  3. 中检索每个SCNView.scene.rootNode
  4. 使用SCNView
  5. 将子节点添加到addChildNode的根节点

    希望这有帮助!