2017-09-29 8 views
15

ARアプリケーションのスクリーンショット機能を提供していますが、私が撮ったスクリーンショット(sceneView.snapshot())がカメラから見えるものよりもかなり暗いことに気付きました。私はアップルからARKitのサンプルコードを使用していて、これはそれに影響を及ぼしているように思える:Scenekit snapshot()にはカメラの露出設定が含まれていません

camera.wantsHDR = true 
camera.wantsExposureAdaptation = true 
camera.exposureOffset = -1 
camera.minimumExposure = -1 
camera.maximumExposure = 3 

私は露出設定を削除すると、スナップショットが正常に動作します。スナップショットがそれらの露出設定を考慮することを確認する方法はありますか?

+0

イムない100%(私はARKitではほとんど行われてきたように)が、私はあると思う。このわから変数 'sceneView.automaticallyUpdatesLighting = true'にこれを試してみて、それが –

+0

あなたはすでにこれを読んだことができますかどうかを確認記事?また、sceneViewの照明についても説明しています。https://blog.markdaws.net/arkit-by-example-part-4-realism-lighting-pbr-b9a0bedb013e – StuiterSlurf

答えて

0

トーンマッピングカーブの上端として使用する輝度レベルとも呼ばれる変数を考慮する必要があります。

var whitePoint: CGFloat { get set } 

ハイダイナミックレンジ(HDR)カメラを使用する場合、SceneKitは上に示すことができる輝度値の狭い範囲に見えるシーン内の輝度値の広い範囲を変換するトーンマッピングと呼ばれる処理を施します表示。 SceneKitは、minimumExposure,maximumExposureexposureOffset、およびwhitePointプロパティからのトーンマッピングカーブを、シーンの輝度の尺度と共に決定します。

デフォルト値は1.0です。このプロパティをより高い値またはより低い値に設定すると、シャドウとハイライトの間でより緩やかな遷移またはより急な遷移を生成できます。 wantsHDRの値がfalseの場合、このプロパティは無効です。

camera.whitePoint = 1.0 
関連する問題