Я пытаюсь добавить глобальную сферу к моей сцене, к которой применено изображение скайбокса.Проблема заключается в том, что освещение сцены напрямую влияет на ее представление.Я хотел бы, чтобы примененное изображение было представлено точно так, как задумано;по сути, не зависит от освещения.
Я предположил, что могу изменить SCNMaterial
, чтобы это работало, но я не могу понять, какие настройки мне следует использовать.Мое альтернативное решение состоит в том, чтобы добавить к сцене тонну точечных SCNLights и направить их на сферу.Я бы хотел этого избежать.
let sphere = SCNSphere(radius: 2000.0)
sphere.firstMaterial?.isDoubleSided = true
sphere.firstMaterial?.diffuse.contents = UIImage(named: "skybox")
let sphereNode = SCNNode(geometry: sphere)
sphereNode.castsShadow = false
sphereNode.position = SCNVector3Make(0, 0, 0)
scene.rootNode.addChildNode(sphereNode)
Я знаю, что это можно решить с помощью SCNScene
background.content, но мы используем ортографическую камеру, которая отключает функцию скайбокса по умолчанию.Итак, если вы знаете, как заставить скайбокс по умолчанию работать с орфографической камерой, это также решило бы эту проблему.См. Использование Cube Map Textures для спецификаций скайбокса.