【发布时间】:2021-02-19 10:22:10
【问题描述】:
我正在开发适用于 iPhone 和 iPad 的 ARKit 应用,但在让阴影在相机的实时取景中发挥作用时遇到了一些麻烦。我的场景 (ShadowTest.scn) 如下所示:
我已取消选中平面材质上Write to Color 属性的Red、Green、Blue 和Alpha,并将可见性设置为Cull back。
对于定向光,选择Enable Shadows,模式设置为Deferred。
在场景文件本身中,一切看起来都不错。阴影可见,平面不可见。
我的问题是当我将它添加到我的场景视图时。这就是我将它添加到我的场景的方式:
func addTestBox(at position: SCNVector3, rotation: SCNVector4) {
guard let scene = SCNScene(named: "Assets.scnassets/ShadowTest.scn") else {
return
}
let node = SCNNode()
scene.rootNode.childNodes.forEach(node.addChildNode(_:))
node.position = position
node.rotation = rotation
updateQueue.async { [weak self] in
self?.sceneView.scene.rootNode.addChildNode(node)
}
}
当节点添加到我的场景中时,阴影根本不可见。
灯光似乎工作正常,因为它已按应有的方式点亮。
我是否遗漏了灯光/平面/立方体/场景视图上的一些非常明显的设置,这些设置需要让阴影出现?
非常感谢您的所有帮助。
【问题讨论】:
标签: ios swift xcode scenekit arkit