Version: 2019.2
Unityで使うアセットの準備
ライティングの手法

Unity のレンダリング設定

以下のアドバイスは Unity のレンダリング機能の使用法を理解して、現実の世界をリアリスティックに模倣し短時間でプロジェクトの現実のようなビジュアルを実現するのに役立ちます。

詳しい情報は、Unity の lighting and rendering tutorial を参照してください。

リニアレンダリングモード

簡単に言うと、リニアレンダリングモードでは、モニターに最適な形式に最終的な出力を変換する前に、物理的に正確な計算を使用してライティングとシェーディングの計算を行うように Unity を設定します。

ガンマワークフローかリニアのワークフローを指定する手順は以下の通りです。

  1. Unityで、メインメニューから Edit > Project Settings に移動し、Player を選択します。

  2. Other Settings > Rendering の順に移動し、Color SpaceLinear に変更します。

色空間は最終的なシェーディングとライティングの結果に著しい影響を与えるため、これを定義することはプロジェクトの初めに行うべきことの 1 つです。各色空間の指定の詳細は、 リニアのワークフローとガンマのワークフロー を参照してください。

レンダリングモード

Spotlight Tunnel サンプルシーンはディファードシェーディングレンダリングパスを使用しています。それによって、以下のことが可能になります。

  • 複数の動的ライトの効果的な使用

  • 複数のリフレクションキューブマップの組み合わせ

  • 既存のスクリーンスペースリフレクション機能を Unity 2017 以降で使用

エディターでレンダリングパスを設定するには、Edit > Project Settings の順に選択し、Graphics を選択します。代わりに、シーンの Main Camera を選択し、Inspector ウィンドウで Rendering Path を設定することもできます。

レンダリングモードに関する詳細は、レンダリングパイプラインについての詳細 を参照してください。

ポストプロセスエフェクトを有効にする

HDR ライティングプロパティーを表示するには、Unity Post Processing Stack V1 をプロジェクトにインストールし、以下の手順に従って設定してトーンマッピングを有効にします。

  1. プロジェクトに Post-Processing Profile アセットを作成し以下のように設定します。

    • Color Grading > Tonemapper > Filmic (ACES) の順に選択します。 For advice on using ACES トーンマッピングを使って高輝度カラーの値を処理するには、高輝度カラー を参照してください。
    • ディザリングを有効にします。 ディザリングにより、シーンは HDR シーンからの 8 ビット/チャンネル出力によって発生する縞模様のアーティファクトを軽減することができます。現段階でよく使用されているエンジンは、この技術を用いて16M カラー出力の限界を回避しています。
    • 他の Tonemapper 設定はデフォルト値のままにしておきます。
  2. シーンで Main Camera を選択し、インスペクターウィンドウで Add Component をクリックし Post-Processing Behaviour を選択します。

  3. Profile フィールドに、作成したポストプロセスプロファイルを入力します。

Spotlight Tunnel ポストプロセスサンプルシーンでは、Post Processing Stack V1 が使用されます。Post Processing Stack V2 の使用に関するアドバイスについては、パッケージの readme を参照してください。

ハイダイナミックレンジ (HDR) カメラ

現実のようなライトをレンダリングする場合、現実世界によく似た、ライトの値が 1 より大きい (ハイダイナミックレンジ) 明るさをもつライトの値とエミッシブなサーフェスを扱っています。そのため、これらの値をスクリーンに適切な範囲に再マッピングする必要があります (トーンマッピング を参照)。 ハイダイナミックレンジの設定は重要です。なぜなら、それにより Unity のカメラで高い値をクリップするのではなく、処理することができるようになるからです。HDR を有効にするには、シーンで Main Camera を選択し、インスペクターウインドウで Allow HDR がチェックされていることを確認します。

HDRライトマップエンコード (オプション)

Spotlight Tunnel サンプルシーンはベイクしたライトを使用しません。ただし、HDR のベイクしたライトを使う予定ならば、一貫した結果を得るためにライトマップエンコードを HDR ライトマップに設定します。

Unity でライトマップエンコードを設定するには、Edit > Project Settings の順に移動し、Player を選択し Other Settings パネルを展開し、Lightmap Encoding に移動します。詳細については、ライトマップ:技術情報 を参照してください。

ビューポートのイメージエフェクトの有効化 

シーンで作業中にトーンマッパーを表示するには、シーンビューの上部にあるドロップダウンツールバーメニューで Image Effects を有効にします。以下の画像では、トーンマップされたシーンのハイライトの表現と暗いトンネルの差が改善されています。トーンマップなしのシーンを見ると、ハイライトがスッと白色に抜けない (収束しない) で 、ハイライトの色がそのまま残ってしまっています (この場合は、黄色っぽい太陽の色が混じっています)。

トーンマップなしのシーンと ACES トーンマップシーンの比較
トーンマップなしのシーンと ACES トーンマップシーンの比較

この設定は本質的には、デジタルカメラが (露出調整/アイアダプテーションの機能を有効化せずに) 固定された露出でシーンをキャプチャする方法を模倣しようとするものです。

この時点で、さまざまなコンテンツで現実のような映像を作成するための、シーンレンダリングの適切な基礎設定ができました。


  • 2018–03–23 Page published
  • 現実のようなビジュアルを作成するためのベストプラクティスガイドは Unity 2017.3で追加
Unityで使うアセットの準備
ライティングの手法