UE4 オンラインラーニング ライティングの基礎概念とエフェクトを見る(1/3)

UE4

はじめに

撮影関係に興味があるのでライティングについて学びます。UEを通してこのような知識を無料で学べるの本当にすごいですね😃

ライティングの基礎コンセプト: はじめに

このコースは Unreal Engine でのライティングの基礎を説明します。静的、動的ライティング、 室内と屋外のライティング、 それらの組み合わせなどを説明します。またライトマップがどのように作成されるか、 4 種類のライトアクタで最も重要なプロパティについても見ていきます。

ライティングの基本

4 種類のライトアクタ、 共通するプロパティ、 ライト強度の単位、 動的ライティングと静的ライティング、 ライトの可動性について説明します。

ここでは下記についての解説を行うとのこと

  • 4タイプのライトアクター
  • 共通プロパティ
  • ライト強度単位
  • 動的・静的ライティングの概念
  • ライト可動性

ここで使用するレベルの解説

ここで使用するレベル

FundamentalsClassesContentFundamentalsLighting_RenderingEssentialConceptsStartAssetsLightingBasics

  • 開いた図
  • 部屋があり部屋の中にはベッド、テレビ、ソファ、観葉植物などがある。ライトが無いため真っ暗な模様。
  • 部屋の中にポイントライト、スポットライト、サンライト、アンビエントライトを置いた例が示される

4タイプのライトアクター + 1

ポイントライト

  • オムニライト、またはポイントライトのこと
    • 全方向に光を発するライト

docs.unrealengine.com

ポイントライト は、電球のタングステン フィラメントから全方向に光を放射する現実世界の電球のように機能します。しかし、ポイントライトは、パフォーマンス上の理由から単純化されて、単に空間内のひとつのポイントから全方向に均一に光を放射するようになっています。

スポットライト

  • 回転などが可能

docs.unrealengine.com

スポットライト は光を一点から円錐状に放出します。ユーザーは Inner Cone Angle と Outer Cone Angle の 2 つの光の形状を使用できます。ライトは Inner Cone Angle 内で最大輝度を放ちます。内半径から Outer Cone Angle へ移動するとフォールオフが発生し、半暗部を作成したりスポットライトの円盤型イルミネーション周りをソフトにします。ライトの半径によって、コーンの長さが決まります。簡単にいうと、懐中電灯のような機能をしたり、ステージを照らしたりします。

ディレクショナルライト

  • 太陽光
  • 配置する場所は関係なく環境全体に影響する

docs.unrealengine.com

DirectionalLight (指向性ライト) は、はるか遠くにある光源から放出される光をシミュレートします。つまりこの光から投影されるシャドウは全て平行になるため、太陽光のシミュレーションに理想的な選択肢です。

スカイライト

  • 本質的にアンビエントライティング
  • 単にソリッドカラーを適用するわけではない
  • 空からの光の大気散乱をシミュレートしている
  • 🤔複雑そうですが一番自然なものの印象

docs.unrealengine.com

スカイライトは、レベルの遠い部分 (SkyDistanceThreshold 以遠全て) をキャプチャし、それをライトとしてシーンに適用します。空が大気圏または、スカイボックスの一番上にレイヤーされた雲、あるいは遠くの山々とつながっていても、 空の外観とライティング / 反射が一致します。キューブマップの使用を手動で指定することもできます。

短形ライト

  • 動画作成時のバージョンには存在していなかった模様

docs.unrealengine.com

矩形ライト は、幅と高さが定義された矩形平面からシーンにライトを放出します。矩形ライトを使用すると、テレビやモニターの画面、天井の照明器具、壁付きの燭台など、矩形領域を持つあらゆる種類の光源をシミュレートできます。

共通のプロパティ

ライト強度単位 Intensity Units(高度の単位)

種類 UnitlessCandelasLumensLux
ポイントライト
スポットライト
ディレクショナルライト
スカイライト
短形ライト
  • 何を選択してもパフォーマンスには影響はない
  • 使い慣れた単位を使用してくださいとの事
Tips

露出(EV Exposure Value)をゲーム設定にするか手動設定にするか選び表示を変えられる。

手動設定のデフォルト値はEV100

Attenuation Radius(減衰半径)

ライトの適用範囲を定義する

Light Color と Temperature

  • どちらもライトの色を変える。
  • お好みで使ってくださいとのこと
  • 🤔現実世界の場合は色が変えられるライトはLED。LEDを模したライトなら色。それ以外は温度(3200~5600)で設定したほうがいいのかなという印象。(この前に学んだショットビズの内容から)

Cast Shadow

ライトが影を作るかどうか

Affects World と Visible

ライトの有効・無効につかうという点で同じ機能との事

動的・静的ライティングの概念

詳細は後の章で説明。ここではごく簡単に説明するとの事。
可動性はライトが環境にベイクされる(static)か、リアルタイムにレンダリングされるか(movable)を制御する。

ライティングのベイク – ライトマス

ライティングをベイクすることの利点、 ベイクの設定方法と設定調整方法、 結果の品質をあげるためのライトマス設定の調整とポータルの使用方法について説明します。

ここでは2ステップで解説を行うとの事。

  • 最初のステップはライトマス
    • ライティングをベイクする方法
    • ライトマストは何か?
    • ベイクされたライティングのパフォーマンスへの影響
    • ライトをベイクするための品質と設定
    • Importance Volume
    • Lightmass Portals

ここで使用するレベル

FundamentalsClassesContentFundamentalsLighting_RenderingEssentialConceptsStartAssetsBakedLighting_Lightmass

  • ベイクされたライトは通常品質が優れている
  • ベイクされたライトはパフォーマンスも優れている
  • グローバルイルミネーションのサポート
  • ラジオシティ ライトバウンスのサポート
  • ランタイムに変更できないためスタティックライトとも言われる
  • ライティングをビルドすることでライティングが設定される
  • ベイクされたライトの品質はモデル上のライトマップ自体で品質が部分的に定義される
    • 次の章で解説との事

ライティングをベイクする方法

  1. ベイクするライトがない為、ポイントライトを配置
  2. ビルドされるように Static に設定する
  3. ライティングのビルド(ベイク)する

    • 尚、ライティングのビルドはSwarm Agent というUE4とは異なったアプリで行っているとの事
  4. ビルド結果
  5. 一度ベイクしたStaticライトを動かす場合は再度ベイクが必要
  6. ライティングのビルドはレベル上のすべてのライティングをビルドしライトマップを作成する
    • 具体的にはライティングを画像テクスチャにベイクし、その画像テクスチャをレベル内のすべてのモデルに適用する
      • そのためStaticライトが1個だけでも1万個あってもランタイム時のパフォーマンスは変わらない。しかしビルド時間は大幅に変わる

ライトマスとは何か?

ライトマスとはUnrealでライティングをベイクするシステム

  • ライトマスに含まれている前述のSwarm Agentを開く方法(windows10)
  • 下図は Swarm Agent のビルド中画面
  • Swarm Agentはネットワーク上の異なったPCを使ってライティングの分散レンダリングなども行える
  • 上記のビルド中画面はPCが一つだけのため1つしか表示されていないが、複数台ある場合は複数行表示される
  • ライティングのビルドは開始時と終了時に時間がかかる
    • 🤔EaseInEaseOutのカーブみたいですね

ライトをベイクするための品質と設定

品質を設定できる箇所は2箇所ある

  • 一つはビルドオプション→ライティング品質
  • 一つはワールド設定のライトマス設定
    • 設定 → ワールドセッティングでワールドセッティングのタブを表示させる
    • ライトマスのライトマス設定より修正する
    • ここで設定可能な値は入門編の範疇を超えている為説明は省くが、最も重要なのは間接ライティングのバウンス数との事
      • 静的ライティングレベルスケール
        • ライティングの全体的な品質
      • 間接ライティングのバウンス数
        • Staticライトのバウンス回数を設定する箇所
      • スカイライティングのバウンス回数
        • スカイライトのバウンス回数を設定する箇所
      • 間接ライティングの品質
        • バウンスしたライトの品質
  • すべてのパラメータは変更した後サイドビルドする必要がある

Importance Volume (ライトマス Importance ボリューム)

レベル上でベイクされたライティングを使用する場合は必ず使用すべきボリューム。動的なライトを多用している場合でも使用することをオススメする。との事

部屋の外側から部屋全体を囲むようにボリュームを配置。(画面中オレンジのボックスがImportance Volume)

  • 🤔このボリュームの範囲内を高品質にするというより遠方であったりゲームに関係ない領域のレンダリングに力をいれないようにするためのものというイメージですね。この箱の領域以外はレンダリングに力を入れなくていいから。と指示を出すような。
  • 🤔このボリュームを配置してもライトビルドしてくださいと出てきませんでした。ということはやはりビルドの範囲を定めるものであり、ボリュームを設置せずにビルドしたときの方が広域なので必要ないといったところでしょうか?

Lightmass Portals

  • スカイライトや大気からのライティングが建物内にバウンスするのをサポートする
  • 設置時の留意点
    • 正確なサイズにある程度合わせる必要はあるが厳密である必要はないとの事
  • という事で窓と同じ位の大きさで設置した図
  • しかしここではポイントランプしか配置していないため機能はしない。
    • 🤔実際配置してビルド前後を比較しましたが全く同じ結果でしたね。
  • 機能させるにはスカイライトが設定されている大気が必要な模様

メモ

英語メモ

  • Moving forward in this course on lighting essential concepts

講師の方が言っていた一言。気になったので絵にしてみた。前進しましょう。このコース内を。ライティングの重要概念に関する。

用語メモ

ラジオシティ Radiosity

ラジオシティ とは、3次元コンピュータグラフィックスレンダリングにおける、グローバル・イルミネーションの計算法のひとつである。 ウィキペディア

複数ビューポート

ライティングビルド前ビルド後の比較をするためにビューポートの見ている位置をお気に入り登録する機能があったような気がしたが、見つからなかった。その代わり複数ビューポートが使える事がわかったので、そちらで代用。

タイトルとURLをコピーしました