我是 SceneKit 的新手……到目前为止,我试图让一些基本的东西正常工作,但没有取得太大的成功。出于某种原因,当我尝试将 png 纹理应用于 CNBox 时,我最终只有黑色。这是我在 viewDidLoad 中的简单代码片段:
let sceneView = (view as SCNView)
let scene = SCNScene()
let boxGeometry = SCNBox(width: 10.0, height: 10.0, length: 10.0, chamferRadius: 1.0)
let mat = SCNMaterial()
mat.locksAmbientWithDiffuse = true
mat.diffuse.contents = ["sofb.png","sofb.png","sofb.png","sofb.png","sofb.png", "sofb.png"]
mat.specular.contents = UIColor.whiteColor()
boxGeometry.firstMaterial = mat
let boxNode = SCNNode(geometry: boxGeometry)
scene.rootNode.addChildNode(boxNode)
sceneView.scene = scene
sceneView.autoenablesDefaultLighting = true
sceneView.allowsCameraControl = true
它最终看起来像一个白色光源,从黑色背景上的黑色立方体反射出来。我错过了什么?我感谢所有的回应
最佳答案
只有 reflective
Material 属性和场景的 background
支持传递图像数组(以创建立方体贴图)。
在您的情况下,所有图像都相同,因此您只需将图像(而不是数组)分配给内容即可使其出现在框的所有侧面
关于ios - 如何以编程方式在 SceneKit 中的立方体周围包裹 png 纹理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28386009/