Unity のレンダリング設定
Modeling

ライティングの手法

最終的なアセットを作成してシーンのライティングを始める前に、ライティングの方法を検討する必要があります。開発の途中でライティング方法を変更すると、ワークフローに多大な影響が出ます。開発を始める前にライティングの検討に時間を割くことは、結果的には時間を節約し、よりよいパフォーマンスを実現し、現実により忠実なビジュアルを実現することができます。

すべての開発で、常にといっていいほど、システムに与える恩恵と負担は互いにトレードオフの関係です。ただし、特定のテクノロジーによって、特定の制約内でこれらのトレードオフを軽減するオプションを提供することができます。各機能のトレードオフを知ることで、プロジェクトにとって最良の選択をすることができます。

一般的な日中の屋外のシーンには、以下のライティングの構成要素があります。

  • Hemisphere lighting:半球ライティング (空からのライト)
  • Direct lights:直接光 (太陽や局所的なライト)
  • Indirect lights:間接光 ( 反射光とリフレクション)

これは、3 つのシンプルな構成要素に見えます。しかし、Realtime (リアルタイムの) ライト、Mixed (混合) ライト、 Baked (ベイクした) ライト、静的ゲームオブジェクト、動的ゲームオブジェクトを混合したり組み合わせたりすることによって、多岐にわたるライティングオプションが得られます。

Unity は、多くのライティングの方法やプロジェクトのシナリオに対応しています。ライティングモードと設定を理解するには、ライティングモード を参照してください。

あまりライティングに詳しくないユーザーにとって、シーンに対してどの設定が最適か、そしてどんなトレードオフがあるのかを見つけるのは考えことは困難です。ですから、もっともよく使われるライティング設定を検討してみましょう。

  • 基本的なリアルタイムライティング: ライトからのスペキュラーハイライトは可視。ただし、間接光は含まれません。
  • ベイクしたライティング: ベイクしたソフトシャドウは可視。静的な間接光は高解像度では可視。ただし、ライトからのスペキュラーハイライトは含まれません。動的にライティングされるゲームオブジェクトは影を作りません。
  • 混合ライティング: ベイクした ライティングと似ていますが、ライトからスペキュラー反射があります。動的にライティングされるゲームオブジェクトは影を作ります。
  • リアルタイムライティングと GI: 適切な間接光の反射とスペキュラー反射は可視。ライトはすべて移動と更新が可能。ただし、ソフトシャドウは含まれません。
  • すべてのオプションを使用: 各ライトの設定によっては、上記のすべてのオプションを組み合わせて使うことが可能です。

以下の図では、説明した設定を比べてその違いを示しています。

ベイクしたライティングを使用した 5 つの異なるライティングモード (アンビエントオクルージョンは未使用)
ベイクしたライティングを使用した 5 つの異なるライティングモード (アンビエントオクルージョンは未使用)
ベイクしたライティングを使用した 4 つの異なるライティングモード (アンビエントオクルージョンを使用)
ベイクしたライティングを使用した 4 つの異なるライティングモード (アンビエントオクルージョンを使用)

注意: リアルタイムの GI は静的なアンビエントオクルージョンをベイクできません。ですから、アンビエントオクルージョンは含まれません。

基本的なリアルタイムライティングとアンビエント (リアルタイム GI とベイクした GI 未使用)

基本的なリアルタイムライティングは、一般的にスタイリッシュなビジュアルのプロジェクトとプロトタイプフェーズで使用されます。

基本的なリアルタイムライティング
基本的なリアルタイムライティング

一般的なプラットフォームターゲット: コンソールと PC

長所

  • すべての直接光とシャドウがリアルタイムで適用されているため、 移動可能です。
  • 事前計算、ベイク、メッシュ処理を行わないため、高速なイテレーションが可能です。
  • 動的なゲームオブジェクトと静的なゲームオブジェクトがすべて同じ方法で照らされます。そのため、ライトプローブは必須ではありません。

短所

  • 半球オクルージョンがなく、スカイボックス/アンビエントの値のみです。そして、その範囲の色は直接ライトで照らされません。
  • GI や間接光の構成要素がないと、シーンは最高のビジュアルを得られない場合があります。

完全にベイクしたライティングとライトプローブ

ベイクしたライティングは、ランタイムのパフォーマンスが問題になる一方、メモリに余裕があるゲームでは一般的に有用です。例えば、トップダウンの等角投影法のモバイルゲームや高いフレームレートの VR ゲームなどがそれにあたります。

完全にベイクしたライティンをアンビエントオクルージョン有りと無しで比較
完全にベイクしたライティンをアンビエントオクルージョン有りと無しで比較

一般的なプラットフォームターゲット: モバイルプラットフォーム、VR、コンソール、ローエンドPC

長所

  • 静的なゲームオブジェクトに対し、すべてのライトはベイクされます。それらはアンビエントオクルージョンと間接光を生成します。
  • Unity は、エリアライトのベイクサポートとソフトシャドウアングルを静的に照らされたゲームオブジェクトにベイクすることができます。
  • ここに挙げられた一般的な設定の中でランタイムパフォーマンスがもっとも高速です。

短所

  • ライティングのイテレーションを遅くする場合があります。理由は、シーンが変わるたびにライトがベイクされる、つまり、ライトを再計算する必要があるためです (プログレッシブライトマッパーを使用している場合を除く)。
  • 動的に照らされたゲームオブジェクトはライトプローブを使ってのみ照らされます。
  • スペキュラーハイライトは、光源ではなくキューブマップとリフレクションにのみ依存します。
  • 動的ゲームオブジェクトからの投影はありません。
  • シーンでどれだけライトマップテクスチャが使用されているかによって、多くのランタイムメモリを必要があるかも知れません。
  • ゲームオブジェクトのテクスチャチャートが重なる場合は、テクスチャ座標チャンネル 2 (ライトマップの UV2) をオーサリングする必要があるかも知れません。

シャドウマスクとライトプローブをもつ混合ライティング

混合ライティングは、時刻がわかるライティング (太陽の動きなど) が重要でないゲームでしばしば役立ちます。

アンビエントオクルージョンを使う/使わない場合の シャドウマスク 混合 ライティングの比較
アンビエントオクルージョンを使う/使わない場合の シャドウマスク 混合 ライティングの比較

一般的なプラットフォームターゲット: VR、コンソール、PC

長所

  • 完全にベイクしたライティングと類似していますが、混合ライティングでは、動的なゲームオブジェクトはリアルタイムのスペキュラーライティングとリアルタイムのシャドウを受け、静的なゲームオブジェクトはベイクしたシャドウマスクを用い、より優れた視覚的な品質を実現します。

短所

  • ゲームオブジェクトはシャドウマスクの数を4 つに制限されています。追加の影を作るライトはベイクされます。
  • ランタイムにリアルタイムのライトをレンダリングすることは、リソースにより負担がかかります。
  • 混合ライトは、ある設定に対しては著しくパフォーマンスに影響する場合があります。

シャドウマスクライティングに関して詳しくは、シャドウマスク を参照してください。

リアルタイム GI を使ってリアルタイムライティングを使用する

この設定は、時刻がわかるライティングの変化 (太陽の動きなど) やダイナミックなライティング効果が必要なオープンエリアのゲームに役立ちます。

間接光の更新をディレクショナルライトの変化として表すリアルタイム GI
間接光の更新をディレクショナルライトの変化として表すリアルタイム GI

一般的なプラットフォームターゲット: コンソールと PC

長所

  • これにより、リアルタイムの間接光を伴う高速なライティングイテレーションが可能になります。
  • 動的ゲームオブジェクトと静的ゲームオブジェクトは、リアルタイムスペキュラーライティングと影を受けます。
  • 間接光に関して、ベイクしたライティングよりもメモリ消費が少なくて済みます。
  • グローバルイルミネーションの更新のための CPU パフォーマンスの影響が固定されています。

短所

  • オクルージョンはベイクしたライティングほど詳細ではありません。通常、スクリーンスペースアンビエントオクルージョン (SSAO) とオブジェクトごとのテクスチャのベイクした AO によってより詳しくする必要があります。
  • 静的ゲームオブジェクトの範囲やライトの角度のソフトシャドウはありません。
  • リアルタイムのライトは、ある設定に対しては著しくパフォーマンスに影響する場合があります。
  • 静的ライティングに影響するゲームオブジェクトが多すぎる場合、特に最適化されたUV 設定がない場合、事前計算にかなり時間がかかる可能性があります。 詳細については、グローバルイルミネーションの UV を参照してください。

リアルタイム GI を最適化するより詳しい情報は、Unity のチュートリアル Introduction to Precomputed Realtime GI を参照してください。

すべてのオプションを使用

メモリ使用とパフォーマンスの制限が厳密に管理された高い忠実度のための要件を持つゲームでは、一般的にすべてのライティングオプションを有効にしようとします。ただし、これを行うのは個々のシステムを完全に理解し、各ライティングを組み合わせる方法を理解している場合に限ります。

すべてのオプションを有効にすると、 Unity で可能なすべてのライティング技術を使用できます
すべてのオプションを有効にすると、 Unity で可能なすべてのライティング技術を使用できます

一般的なプラットフォームターゲット: コンソールと PC

長所

  • ライティング機能の完全なセットで、すべての機能を提供します。

短所

  • ランタイムに高いメモリ消費を伴う高いパフォーマンス要件があります。
  • UV オーサリングとベイクにより長い時間を必要とするため、ワークフローに必要な時間が長くなります。

ライティングについて学ぶために、Spotlight Tunnel Sample Scene はリアルタイム GI でリアルタイムなライティングを使用します。 これにより、さまざまな範囲のスペキュラー反射、良好な反射光が提供され、ライティングを素早く反復することができます。


  • 2018–03–21 限られた 編集レビュー でパブリッシュされたページ
  • リアルな映像を作るためのベストプラクティスガイドは Unity 2017.3 で追加
Unity のレンダリング設定
Modeling