autoenablesDefaultLighting слишком яркая в iOS 12, а SCNView.pointOfView не работает

Я использую SceneKit's autoenablesDefaultLighting а также allowsCameraControl функции моего sceneView для предоставления света объектной трехмерной модели в приложении и вращения вокруг этого объекта в Objective-C. После обновления до iOS12 интенсивность света по умолчанию autoenablesDefaultLighting становится выше, и 3D-модель выглядит так ярко!

Кто-нибудь сталкивался с такой же проблемой? Если да, есть ли способ контролировать интенсивность света autoenablesDefaultLighting когда его значение "ДА"? Если это невозможно редактировать, я попытался прикрепить / ограничить всенаправленный или направленный источник света к камере, создав узел, назначив источник света этому узлу и добавив его в качестве дочернего элемента SCNView.pointOfView но никакой свет не освещает сцену.

Exemple:
3D-объект отображается до iOS 12
3D-объект отображается в iOS 12

Будет хорошо, если кто-нибудь сможет мне в этом помочь.

Большое спасибо!

Изменить, чтобы решить эту проблему

Я создаю новую SCNCamera и добавляю это в узел и устанавливаю PointOfView моего scnView. Активируйте HDR этой камеры с помощью scnView.pointOfView.wantHDR = YES;но у него был серый фон.

Чтобы удалить серый фон, я удаляю цвет фона с scnView.backgroundColor = [UIColor ClearColor]и установите для взрыва камеры значение -1 с помощью:

self.scnView.pointOfView.camera.minimumExposure = -1;self.scnView.pointOfView.camera.maximumExposure = -1;

Спасибо

2 ответа

.camera?.wantsHDR = true

.camera?.wantsExposureAdaptation = false

Должен решить проблему!

Вы можете попробовать включить HDR. Это должно привести к сбалансированному воздействию

scnView?.pointOfView?.camera?.wantsHDR = true

С включенным HDR вы можете даже управлять компенсацией экспозиции с

scnView?.pointOfView?.camera?.exposureOffset

Другие вопросы по тегам