事前計算されたライティング シナリオ

事前計算されたライティング シナリオを使用して、同じジオメトリを使って単一レベルに複数のライティングを設定することができます。

Windows
MacOS
Linux

Unreal Engine 4 (UE4) は、レベル内で様々な 事前計算されたライティング シナリオ (Precomputed Lighting Scenario) を使用することができます。事前計算ライティングの負荷を変えずに、動的ライティングの柔軟性を利用して、単一レベルが複数のライティング設定を格納および表示することができます。 高速パフォーマンス手段を利用した質の高いレンダリングを必要とする VR あるいは建築ビジュアライゼーションでは、事前計算されたライティング シナリオ間での切り替え機能が特に重要です。 本ページでは、UE4 プロジェクトで事前計算ライティングを使用する方法を説明します。

日中のシナリオ Day Scenario

夜のシナリオ Night Scenario

上の例では、指向性ライト、スカイライト、スカイボックスが DayScenario という Lighting Scenario レベルに配置されています。街灯用のスポットは、Night Scenario と呼ばれる別の Lighting Scenario レベルに置かれています。

機能の制限事項

事前計算されたライティング シナリオには様々なメリットがあると同時に、デメリットと注意点もあります。次のセクションでは、これらの制約事項および回避策について説明します。

  • ゲーム内では、1 度に表示できる Lighting Scenario レベルは 1 つだけです。

  • Lighting Scenario レベルが存在する場合、サブレベルのライトマップ データはすべてその中に配置され、日中は DayScenario ライトマップだけがロードされます。その結果、ライトマップはサブレベルからストリーミングされなくなります。

  • サブレベルのライトマップ データは Lighting Scenarios BuiltData パッケージに格納されます。他のサブレベルから反射キャプチャを登録すると、アクティブなライティング シナリオの BuiltData が修正されます。サブレベルを 2 回ロードし、ライティング シナリオの BuiltData を 1 回しかロードしないと、次のようなエラーが発生します。

    Error:Reflection capture /Game/Environments/Levels/Your_Level_Name.level_name:PersistentLevel.SphereReflectionCapture_1.NewReflectionComponent uploaded twice without reloading its lighting scenario level.
    The Lighting scenario level must be loaded once for each time the reflection capture is uploaded.

    BuiltData パッケージをキャッシュしないことで、このエラーを防ぐことができます。

ライティング シナリオの使用方法

UE4 プロジェクトでライティング シナリオ (Lighting Scenario) を使用するには、以下の手順を行います。

  1. [Window] > [Levels] から [Levels Manager] を開きます。

    PCLS_Open_Levels.png

  2. [Levels Manager] を開いたらサブレベルにある [Levels] メニューを→クリックし、[Lighting Scenario][Change to Lighting Scenario] オプションを選択して [Lighting Scenario] レベルに変更します。

    PCLS_LS_Level_Option.png

    Lighting Scenario レベルが可視になると、そのライトマップがワールドに適用されます。

  3. サブレベルを右クリックして [Change Streaming Method] から [Blueprint] を (未選択の場合は) 選択して、Level Streaming メソッドが Blueprint に設定されていることを確認してください。

    PCLS_Level_Streaming_Method.png

  4. 次に、プロジェクトに必要な光または スタティックメッシュ をいずれかのライティング レベルに配置します。そして、他のレベルと同じように各レベルのライティングをビルドします。

    PCLS_Build_Lighting.png

  5. ライティングのビルドが完了したら、Persistent Level の ブループリントを開いて、Load Stream Level ノードを追加し Event Begin Play ノードに接続します。

    PCLS_Level_Load_Nodes.png

  6. Event Begin Play ノードを Load Stream Level ノードに接続して、ロードしたいレベル名を入力します。また、Make Visible After LoadShould Block on Load の両方をチェックして、新規にロードしたレベルが表示されるか確認してください。

    PCLS_Steam_Setup.png

  7. [Play] ボタンを押してプロジェクトを起動すると、初回レベル ロード時に Day レベル ライティングが使用されます。Night レベル ライティングを使用する設定も同様です。ただし、レベル名を (日中用のレベルではなくて) 夜用に変更する必要があります。

    日中のライティング

    夜のライティング

注意すべき制約事項もありますが、UE4 で事前計算されたライティング シナリオを使うとパフォーマンスの改善やベイクしたライティングの変更機能など、(プロジェクトのニーズに合わせた) メリットがいろいろあります。

Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信