我正在尝试SceneKit,并尝试用它制作迷宫式的游戏。但是,问题之一是,当您在盒子(管子,球体等)中移动时,盒子的投影消失了。
我已经多次浏览了文档,或者要么不匹配正确的措辞,要么不正确。
您将如何填充框的内容,以便在移动框时处于黑暗中?
谢谢!
答案 0 :(得分:3)
SCNMaterial
具有isDoubleSided
属性,即:
一个布尔值,确定SceneKit是否应同时渲染两个 表面的正面和背面。
默认情况下,此设置为false
,这意味着您的内容仅显示在一侧,例如外面。
如果您将此属性的值更改为YES,则SceneKit会同时渲染 每个多边形的正面和背面。
这样,就可以实现双面渲染的示例:
func createBoxNode(){
//1. Create An SCNNode With An SCNBox Geometry
let boxNode = SCNNode(geometry: SCNBox(width: 0.1, height: 0.1, length: 0.1, chamferRadius: 0))
//2. Set The Colour Of All Sides To Cyan
boxNode.geometry?.firstMaterial?.diffuse.contents = UIColor.cyan
//3. Enusre That Both Sides Are Rendered
boxNode.geometry?.firstMaterial?.isDoubleSided = true
//4. Place Our BoxNode & Add It To The Hierachy
boxNode.position = SCNVector3(0, 0, -1.5)
self.augmentedRealityView?.scene.rootNode.addChildNode(boxNode)
}
希望有帮助...