2013-10-07 107 views
3

有沒有辦法從COLLADA對象開始創建SCNNode對象,然後將該節點添加爲rootNode的子節點?SceneKit和COLLADA對象

我看到與我ScenKit可使用

[SCNScene sceneWithURL:url options:nil error:&error];

創建從.dae文件SCNScene開始,但我無法找到一個方法來創建一個從DAE剛開始節點。

回答

6

如果您想從文件中讀取對象並將它們插入到其他場景中,則可以創建場景源並從中獲取條目。

創建一個場景光源是非常類似於創建一個完整的場景

SCNSceneSource *source = [SCNSceneSource sceneSourceWithURL:url options:nil]; 

如果你知道你正在尋找的節點的ID,那麼你可以直接使用

SCNNode *someNode = [source entryWithIdentifier:@"yourIdentifier" withClass:[SCNNode class]]; 

否則得到它您可以要求所有節點的標識符,並從那裏找出您要查找的標識符。

NSArray *nodeIdentifiers = [source identifiersOfEntriesWithClass:[SCNNode class]]; 
2

一旦你從Collada的文件中創建一個SCNScene例如,您可以檢索其名稱與任何節點:

SCNNode * MYNODE = [myScene.rootNode childNodeWithName:@ 「aNodeName」 遞歸:YES ]。