2017-08-28 6 views
2

私は.daeファイルがあり、SceneKitでモデルを使用したいと思っています。問題は.DAEファイルはそれで別のシーングラフを持っているということです。私のViewController.swiftで enter image description hereiOSで異なるシーングラフでDAEファイルを使用する方法SceneKit

私はこのコードを持っている:私はchildNodeがwithNameで使用する必要があります

let scene = SCNScene(named: "art.scnassets/Edward_Kenway.dae")! 
self.baumNode = scene.rootNode.childNode(withName: "???", recursively: true) 

何?最初のシーングラフ(EdwardKenwayNecklace)を選択し、ジオメトリ(EdwardKenwayNecklaceMesh)の名前をコードに入力すると、アプリケーションがクラッシュします。

答えて

0

シーンの子ノードをループし、作成した新しいノードにそれらをすべて追加できます。

これはあなたが探しているものと仮定して、このように動作する可能性があります。

func loadModel() { 
    let virtualObjectScene = SCNScene(named: path) 
    let wrapperNode = SCNNode() 
    for child: SCNNode in virtualObjectScene?.rootNode?.childNodes { 
     wrapperNode.addChildNode(child) 
    } 
    addChildNode(wrapperNode) 
} 

ここで、パスはシーンの名前です。 この関数は、SCNNode型のオブジェクトを初期化してから、このオブジェクトでloadModelを呼び出した後に実行されます。

関連する問題