如何使用3d对象(box)制作网格。我已经知道如何设置scanscene以及如何创建一个对象。但我不知道如何进行布局。网格应该看起来像这样,3D空间中有3d对象。如何在scenekit中创建3D网格
这里是我的尝试:
convenience init(create: Bool) {
self.init()
let geometry = SCNBox(width: 0.8 , height: 0.8,
length: 0.1, chamferRadius: 0.005)
geometry.firstMaterial?.diffuse.contents = UIColor.red
geometry.firstMaterial?.specular.contents = UIColor.white
geometry.firstMaterial?.emission.contents = UIColor.blue
let offset: Int = 10
for xIndex:Int in 0...2 {
for yIndex:Int in 0...2 {
// create a geometry copy
let geoCopy = geometry.copy() as! SCNGeometry
var images:[UIImage]=[]
for i in 1...5 {
if let img = UIImage(named: "\(i)"){
images.append(img)
let material = SCNMaterial()
material.diffuse.contents = img
geoCopy.firstMaterial = material
}
}
let boxnode = SCNNode(geometry: geoCopy)
let boxCopy = boxnode.copy() as! SCNNode
boxCopy.position.x = Float(xIndex - offset)
boxCopy.position.y = Float(yIndex - offset)
self.rootNode.addChildNode(boxCopy)
}
}
}
但我只看到一个框。
谢谢!
我的图片的图片:
谢谢!但我有最后一个问题。我试图在每个几何体上添加一个SCNMaterial(),我该怎么做?每个节点的材质都不同,我只有15个节点。谢谢。我刚刚更新了我的问题。 – John
@John更新了答案,以便每个节点具有不同的材质。 –
谢谢,真的很感激。但我怎么能用图像来做到这一点。刚刚更新了我的答案。 – John