我该如何制作一个由3D物体(盒子)组成的网格。我已经知道如何设置SCNScene并创建对象,但我不知道如何制作布局。这个网格应该看起来像这样,在3D空间中放置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)
}
}
}
但是我只看到一个盒子。
谢谢!
我的图像:
mat.diffuse.contents = UIImage(named:"some.png")
也可以工作。您可以为每个节点分配单独的图像,就像我们使用颜色一样。希望这可以帮助您。请参阅:https://developer.apple.com/reference/scenekit/scnmaterialproperty/1395372-contents - 3d-indiana-jones