Как увеличить освещение в сцене? - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь осветить основную c модель, которую я скачал с Mixamo.

let scene = SCNScene(named: "art.scnassets/Ch45_nonPBR.dae")!

// create and add a camera to the scene
let cameraNode = SCNNode()
cameraNode.camera = SCNCamera()
scene.rootNode.addChildNode(cameraNode)

// place the camera
cameraNode.position = SCNVector3(x: 0, y: 40, z: 110)

// create and add a light to the scene
let lightNode = SCNNode()
lightNode.light = SCNLight()
lightNode.light!.type = .omni
lightNode.position = SCNVector3(x: 0, y: 50, z: 50)
scene.rootNode.addChildNode(lightNode)

// create and add an ambient light to the scene
let ambientLightNode = SCNNode()
ambientLightNode.light = SCNLight()
ambientLightNode.light!.type = .ambient
ambientLightNode.light!.color = UIColor.white
scene.rootNode.addChildNode(ambientLightNode)

В настоящее время камера находится слишком близко к модели. Но если я изменю значение z со 110, я вижу только черный цвет. Я думаю, это как-то связано с освещением. Каким должно быть мое освещение, чтобы я мог видеть свою модель, даже если я изменил значение z моей камеры на более высокое значение, чтобы я мог видеть модель издалека?

РЕДАКТИРОВАТЬ: Например, прямо сейчас Вы можете видеть на этом расстоянии, часть ноги не видна:

enter image description here

Если я отойду дальше, вся модель не будет видна !!

РЕДАКТИРОВАТЬ: Например, как мне отредактировать освещение, чтобы оно выглядело так же, как в превью Mixamo на их сайте:

enter image description here

Я хотел бы отодвинуть камеру достаточно далеко, чтобы я мог видеть всю модель на экране.

1 Ответ

1 голос
/ 25 февраля 2020

SCNCamera имеет свойство zFar, значение по умолчанию равно 100, любая поверхность находится дальше от камеры, чем это, обрезается для повышения производительности. На вашем скриншоте нога - самая дальняя часть модели от камеры, поэтому сначала ее обрезают, а по мере продвижения дальше вся модель обрезается. Вы можете просто увеличить zFar до числа, подходящего для вашей сцены.

...