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