Я использовал ваш код, это работа, но я столкнулся с одной проблемой. Некоторое время тень не отображается в первый раз. Если я уменьшу или поверну объект, появится тень. Есть ли у вас идеи, почему это произошло?
ункция, которую я использую для отображения объекта на плоской поверхности.
private func loadScene(path: String) -> SCNNode {
let spotLight = SCNLight()
spotLight.type = SCNLight.LightType.probe
spotLight.spotInnerAngle = 30.0
spotLight.spotOuterAngle = 80.0
spotLight.castsShadow = true
let result = SCNNode()
result.light = spotLight
result.position = SCNVector3(-10.0, 20.0, 10.5)
result.addChildNode(result)
let scene = SCNScene(named: path)!
for node in scene.rootNode.childNodes {
result.addChildNode(node)
}
return result
}
Я хочу отобразить тень на плоской поверхности, как это изображение.
Когда я устанавливаю тип прожектора, как показано ниже
spotLight.type = SCNLight.LightType.directional
Он показывает сам объект светлой / темной тенью и не отбрасывает тень на поверхность.
Может кто-нибудь, пожалуйста, подскажите мне, как я могу добиться результата, как показано на рисунке?