2016-08-08 14 views
2

私はcollada .daeファイルをシーンキットにインポートしました。 シーンエディタ/インスペクタに、名前付きマテリアルを含むエンティティとマテリアルのリストがあることがわかります。しかし、私はプログラム的にこれらを求める方法を知りません。SceneKitの名前で素材を取得

私はそれを使用して1つのノードと1つのジオメトリを知っていれば、私はそうのように、ジオメトリオブジェクトから名前で材料を求めることができます

myscene.rootNode.childNodes[68].geometry?.materialWithName("carpaint") 

をしかし、これらは非常にあり、多くのサブ・ジオメトリ上で使用される再利用可能な材料であり、どこかのグローバルインデックスでなければなりません(?)

私は私がやってしまったことはSCNNodeへの拡張を作成することでした

myscene.materialWithName("carpaint") 
+1

私がよく使う方法は、すべての素材とそこからの参照素材を使用するシーンのどこかに目立たないオブジェクトを追加することです。少なくとも、シーン内のすべてのノードを反復処理するよりも速く、マテリアルを探します。 –

答えて

2

のようなものを期待しているだろうSCNSceneを使用して、すべての素材のインデックスを教えてください:

関連する問題