有没有办法从COLLADA
对象开始创建SCNNode
对象,然后将该节点添加为rootNode的子节点?SceneKit和COLLADA对象
我看到与我ScenKit
可使用
[SCNScene sceneWithURL:url options:nil error:&error];
创建从.dae
文件SCNScene
开始,但我无法找到一个方法来创建一个从DAE刚开始节点。
有没有办法从COLLADA
对象开始创建SCNNode
对象,然后将该节点添加为rootNode的子节点?SceneKit和COLLADA对象
我看到与我ScenKit
可使用
[SCNScene sceneWithURL:url options:nil error:&error];
创建从.dae
文件SCNScene
开始,但我无法找到一个方法来创建一个从DAE刚开始节点。
如果您想从文件中读取对象并将它们插入到其他场景中,则可以创建场景源并从中获取条目。
创建一个场景光源是非常类似于创建一个完整的场景
SCNSceneSource *source = [SCNSceneSource sceneSourceWithURL:url options:nil];
如果你知道你正在寻找的节点的ID,那么你可以直接使用
SCNNode *someNode = [source entryWithIdentifier:@"yourIdentifier" withClass:[SCNNode class]];
否则得到它您可以要求所有节点的标识符,并从那里找出您要查找的标识符。
NSArray *nodeIdentifiers = [source identifiersOfEntriesWithClass:[SCNNode class]];
一旦你从Collada的文件中创建一个SCNScene例如,您可以检索其名称与任何节点:
SCNNode * MYNODE = [myScene.rootNode childNodeWithName:@ “aNodeName” 递归:YES ]。