私はARKit(XCode 9/Swift 4)のために自分のシーンのオブジェクト(SCNNode)にプログラムでどのように材料を割り当てるかを考えようとしています。私はプログラムでこれを行うようにしようとしています。同じ形状のオブジェクトをシーン内のメニュー割り当てで行うには多すぎるバリアント(またはユーザー生成の画像)でレンダリングする必要があるからです。オブジェクトは単なる立方体です - 今のところ、私は、アセットフォルダから引き出したこのマテリアルを片側に表示しようとしています。3D SCNNodeにプログラムで材料を割り当てる方法は?
これは私が以前のStackの投稿を参照しようとした現在のコードですが、オブジェクトはまだ残っています。
let material = SCNMaterial()
material.diffuse.contents = UIImage(named: "texture.jpg")
let nodeObject = self.lastUsedObject?.childNode(withName: "box", recursively: true)
// I believed this lets me grab the last thing I rendered in an ARKit scene - please
// correct me if I'm wrong. My object is also labeled "box".
nodeObject?.geometry?.materials
nodeObject?.geometry?.materials[0] = material // I wanted to grab the first face of the box
ありがとうございます!私はこれをしばらく参考にしてきましたが、私は3Dオブジェクト/ Scenes in Swiftのためのプログラム的な方法を理解することはできません。
最初に、それらを?に変更し、プログラムがクラッシュするかどうかを確認します。クラッシュした場合、あなたはボックスをつかんでいません。 – Knight0fDragon
ええ、 ! " - 頭のおかげで。 – Bryan