用SCNLight无法让阴影出现

问题描述 投票:0回答:1

我添加了一些环境光、定向光和地板,但仍然没有阴影出现。知道为什么吗?

// create and add ambient light to the scene
let ambientLightNode = SCNNode()
ambientLightNode.light = SCNLight()
ambientLightNode.light!.type = .ambient
ambientLightNode.light!.color = UIColor.init(hexString: "ececec")
ambientLightNode.light!.intensity = 100
ambientLightNode.light!.shadowColor = UIColor(white: 0, alpha: 0.5)
scene.rootNode.addChildNode(ambientLightNode)

// Main Light
let floor = SCNNode()
floor.geometry = SCNFloor()
floor.geometry?.firstMaterial!.diffuse.contents = UIColor.white
floor.geometry?.firstMaterial!.colorBufferWriteMask = SCNColorMask(rawValue: 0)
floor.castsShadow = false
scene.rootNode.addChildNode(floor)

// Create directional light
let directionalLight = SCNNode()
directionalLight.light = SCNLight()
directionalLight.castsShadow = true
directionalLight.light?.type = .directional
directionalLight.position = SCNVector3(2, 10, 2)

scene.rootNode.addChildNode(directionalLight)
swift scenekit virtual-reality
1个回答
0
投票
使用光的
castsShadow
属性:
directionalLight.light?.castsShadow = true
不是节点的属性:
directionalLight.castsShadow = true         // WRONG
© www.soinside.com 2019 - 2024. All rights reserved.