🥽

【Unity / Polyspatial】Apple Vision ProでImage Based Lighting

に公開

Unity PolyspatialによるApple Vision Pro向けアプリでは、デフォルトで実際の周囲の環境から動的に作成された環境マップを使用してオブジェクトがライティングされます。これをPolyspatialのドキュメントではEnvironment Lightingと呼んでいます。

PolyspatialではVisionOSImageBasedLightコンポーネントとVisionOSImageIasedLightReceiverコンポーネントを使用することで任意の画像を使用してImage Based Lightingすることができます。
https://docs.unity3d.com/Packages/com.unity.polyspatial.visionos@2.3/manual/ImageBasedLight.html

使い方としてはVisionOSImageBasedLightコンポーネントでImage Based Lightingに使用する画像を設定し、VisionOSImageBasedLightReceaiverコンポーネントのImage Based Lightプロパティに指定します。VisionOSImageBasedLightReceaiverコンポーネントがついているオブジェクトとその子孫オブジェクトがImage Based Lightingの対象になります。

ただし、VisionOSImageBasedLightReceiverだけだと、Environment LightingとImage Based Lightingが同時に効いてしまいます。Environment LightingをオフにするためにVisionOSEnvironmentLightingConfigurationコンポーネントを利用します。VisionOSEnvironmentLightingConfigurationコンポーネントはEnvironment Lightingの強度を制御することができ、Environment Lighting Weightプロパティを0にすることでEnvironment Lightingを無効にすることができます。VisionOSEnvironmentLightingConfigurationコンポーネントも同様にコンポーネントがついているオブジェクトとその子孫オブジェクトが対象になります。

以下は、エディタ上での設定例とその設定を使用したときのApple Vision Proのキャプチャになります。

Discussion