Я использую функции SceneKit autoenablesDefaultLighting
и allowsCameraControl
моего sceneView для предоставления света трехмерной модели obj в приложении и вращения вокруг этого объекта в Objective-C.После обновления до iOS12 интенсивность света по умолчанию autoenablesDefaultLighting
становится выше, а 3D-модель выглядит настолько ярко!
Кто-нибудь сталкивался с такой же проблемой?Если да, есть ли способ контролировать интенсивность света autoenablesDefaultLighting
, когда его значение равно «ДА»?Если он недоступен для редактирования, я попытался прикрепить / ограничить всенаправленный или направленный источник света к камере, создав узел, назначив источник света этому узлу и добавив его как дочерний элемент SCNView.pointOfView
, но сцена не освещает.
Пример:
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;
Спасибо