【发布时间】:2020-09-25 06:12:21
【问题描述】:
我已经实现了向 ARKit 和 SceneKit 场景添加阴影平面的多种方法之一。它工作得很好,阴影看起来很好。
问题是大多数时候飞机也有灰蒙蒙的阴影。换句话说,它不是完全透明的。另一方面,有时灰色的演员会在几秒钟后重新出现。我已经尝试调整我能想到的几乎所有 SCNNode 和 SCNMaterial 属性,但到目前为止,我似乎无法让灰色可靠地消失。有人对如何解决这个问题有任何建议吗?
// Make a transparent shadow plane for the Ground.
let shadowPlane = SCNPlane(width: CGFloat(self.width * 2), height: CGFloat(self.depth * 2))
shadowPlane.cornerRadius = 2
let shadowPlaneNode = SCNNode(geometry: shadowPlane)
shadowPlaneNode.name = shadowPlaneNodeName
shadowPlaneNode.eulerAngles.x = -.pi / 2
shadowPlaneNode.castsShadow = false
let material = SCNMaterial()
material.isDoubleSided = false
material.lightingModel = .constant // .shadowOnly does not show any shadows on iOS
material.colorBufferWriteMask = [.alpha]
shadowPlane.materials = [material]
node.addChildNode(shadowPlaneNode)
【问题讨论】: