1
好了,從我的理解材料,可以爲.dae創建或這裏正在使用的3D模型在Xcode的SCNNode,在模型的編輯:Scenekit:如何獲取節點的所有材料?
最上面的材料就會自動和所有的應用很好。我的問題是,我想以編程方式在我的遊戲中創建的這些材質之間切換。
我試圖做得到這些物質陣列:
node.geometry?.materials
然而,這僅返回第一材料。我嘗試過一切,但無法找到一種方法來獲取其他材料並切換到它們。現在我正在嘗試:
childNode.geometry?.materials = [(childNode.geometry?.material(named: "test"))!]
//childNode is the node
其中測試是第二種材料,但它發現爲零。我如何以編程方式在多種材質之間切換?
謝謝。你能解釋一下如何做更詳細的第一個選項嗎?你是指另一個插槽是什麼意思? – skyguy
我的意思是在你周圍的工作可以把第二個紋理/顏色,例如排放屬性。然後在代碼中,您可以讀取Emission屬性的.contents屬性,將其保存在自定義屬性中,然後將其分配給Diffuse插槽。請記住,在讀取發射槽後,將發射重置爲黑色。 – Xartec