1

我正在使用我的场景视图的 SceneKitautoenablesDefaultLightingallowsCameraControl功能为应用程序中的 obj 3D 模型提供光,并在 Objective-C 中围绕该对象旋转。升级到iOS12后,默认光照强度autoenablesDefaultLighting变高了,3D模型看起来很亮!

有没有人遇到过同样的问题?如果是,有没有办法控制autoenablesDefaultLighting其值为“是”时的光强度?如果它不可编辑,我尝试通过创建一个节点将全向光或定向光附加/约束到相机,为该节点分配一个灯光并添加为子节点,SCNView.pointOfView但没有灯光照亮场景。

示例:
iOS 12 之前
显示的 3D 对象 iOS 12 中显示的 3D 对象

如果有人可以帮助我,那就太好了。

非常感谢!

编辑以解决此问题

我创建一个新的 SCNCamera 并将其添加到节点中并设置我的 scnView 的 PointOfView。激活此相机的 HDR,scnView.pointOfView.wantHDR = YES; 但背景为灰色。

要删除灰色背景,我删除了背景颜色scnView.backgroundColor = [UIColor ClearColor] 并将相机的曝光设置为 -1:

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

谢谢

4

2 回答 2

1

您可以尝试启用 HDR。它应该导致平衡的曝光

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

启用 HDR 后,您甚至可以使用

scnView?.pointOfView?.camera?.exposureOffset

于 2018-09-28T05:34:31.660 回答
1

.camera?.wantsHDR = true

.camera?.wantsExposureAdaptation = false

应该解决问题!

于 2018-10-04T05:43:43.780 回答