初めに
地理的に正確な太陽の位置を指定できるようになるSunPositionCalculatorプラグインというものがあります。こちらを使用することで緯度経度と時間に応じた太陽の動きをUnrealEngine上で表現することが可能になるので、陽光のシミュレーションとして使用することができます。このプラグインを有効にするとSun and Skyアクターエンジンに追加されます。具体的なSun and Skyアクターの使い方は公式ドキュメントに記載されていますので、こちらでの説明は割愛させていただきます。
さて、こちらのSun and Skyなのですが、Third Personテンプレートで使用する場合には問題ないのですが、VRテンプレートで使用すると空が真っ暗になってしまう現象が発生します。今回はこの問題の修正方法を説明したいと思います。
環境情報
Windows 11
UE 5.3.2
問題の事象
VRテンプレートでプロジェクトを作成し、SunPositionCalculatorプラグインを有効化します。
Sun and Skyアクターを追加してみても空が真っ暗になってしまいます(ExponentialHeightFogとVolumetricCloudも追加しています)。
修正方法①
Project SettingsのEngine→Rendering設定内のForward Shadingがデフォルトでチェック状態になっているので、ここのチェックを外します。
エンジンの再起動を求められるので再起動します。
プロジェクトが開くと無事に空が表現されるようになります。
修正方法②
Forward Shadingを有効なまま修正にする方法です。
①Simulation Blankプロジェクトを作成します
②SkySphere_Equirectangular関連のものをMigrateする
Simulation Blankプロジェクトを開くとレベル上にいくつかオブジェクトが配置されています。
Outliner上にあるStarSkySphereに割り当てられているSkySphere_EquirectangularをVRテンプレートのContentフォルダにMigrateします(関連するもの全てMigrateします)。
③VRテンプレートのレベル上にStatic Mesh Actorを追加する
今回はSphereを追加しました。
④Static Mesh Actorにメッシュなどの設定を行う
・Scale:4000000などの大きな値
・Static Mesh:SkySphere_Equirectangular
・Materials:MI_StarSkySphere
ちなみにProject Settings→Engine→Rendering→Support Sky Atmosphere Affecting Height Fogにチェックを入れることで地表部分が真っ暗になってしまっている部分を青色にすることができます。
こちらもチェックを入れた後にプロジェクトを再起動する必要があります。