如何使用 Sceneviews Autolighting 拍摄 Sceneview 的快照

How to Take a Snapshot of a Sceneview with the Sceneviews Autolighting

对于任何使用过快照场景视图屏幕的人来说,当我说照片输出看起来比您正在捕获的屏幕暗得多时,您就会明白我的意思。如何捕获显示场景视图亮度的场景视图的照片输出。我不确定如何更好地提出这个问题,但本质上这就是我捕捉场景的方式。

    @IBAction func ARSnapTapped(_ sender: Any) {
    if !draw {
        let newImg: UIImage = self.sceneView.snapshot()
        DispatchQueue.main.async {
            self.imageTaken.image = newImg
            self.imageTakenView.isHidden = false
        }
        self.image = newImg
    }
}

这是为希望在 swift 中拍摄场景视图快照时增强快照输出照明的任何人提供的解决方案。

if let camera = sceneView.pointOfView?.camera {
        camera.wantsHDR = true
        camera.wantsExposureAdaptation = true
        camera.whitePoint = 1.0
        camera.exposureOffset = 1
        camera.minimumExposure = 1
        camera.maximumExposure = 1
    }

调整 exposureOffset 和 min/max 的值将 brighten/darken 屏幕截图的输出。