Unity のレンダリング設定を準備する

確認済のバージョン: 2017.3

-

難易度: 中級

以下の解説は、現実のようなビジュアルの実現に焦点をあてたものです。現実世界をリアリスティックに再現するためには Unity のレンダリング機能をどのように使用したら良いかを理解することで目的のビジュアルへの実現に一歩近づきます。 より踏み込んだ情報は、Unity のライティングとレンダリングに関するチュートリアル(英語)をご利用ください。

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

モニターに最適な出力形式への変換を行う前に物理的に正確なライティングおよびシェーディングの計算が行われるように設定するものです。

リニアワークフローかガンマワークフローの指定を行うには、 メニューから Edit > Project Settings > Player の順に選択して Player Settings を開いてください。 次に Player Settings ウィンドウで Other Settings を開き、RenderingColor SpaceLinear に変更してください。

色空間の定義は、最終的なシェーディングとライティングに強い影響を与えるため、プロジェクトの早期に決定すべき事のひとつです。 各ワークフローの説明は Unity マニュアルでお読みただけます。

レンダリングモード

サンプルシーン『Spotlight Tunnel』内では、ディファ―ドレンダリングモードが使用されています。 これを使用すると、Unity 2017 以降のバージョンで、複数の動的ライトを効率的に扱ったり、複数のリフレクションキューブマップを組み合わせたりすることができるようになります。また既存のスクリーンスペースリフレクション機能の使用も可能になります。

この設定を行うには、Project Settings > Graphic か、GameObject > Camera を選択して表示されるインスペクターの中から、Rendering Path の値を使用するレンダリングモードに合わせた値に設定します。

各種レンダリングモードに関する詳細は、Unity マニュアルの こちらのセクション でお読みいただけます。

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

現実のようなライティングをレンダリングする場合、現実世界とほぼ同様に、1 より高い輝度(HDR)を持つライティング値と放射性(Emissive)サーフェスを扱うことになります。そして、これらの値は画面で表現できる範囲に適切にリマップされなければなりません(これはトーンマッピングと呼ばれます)。この設定は、Unity のカメラがこれらの高い値をクリップせずに処理できるようにするために非常に重要です。 有効にするには、シーンのメインカメラを選択し、そのカメラのインスペクターで HDR にチェックマークを入れてください。

HDR ライトマップ符号化方式(オプション)

サンプルシーン『Spotlight Tunnel』ではベイクしたライティングは使用していませんが、強度の高い(HDR)ベイクしたライティングを使用する場合は、ライトのベイク結果を一貫したものにするために、ライトマップの符号化方式を HDR ライトマップに設定することをおすすめします。 このオプションは、メニューの Edit > Project Settings > Player Settings > Other Settings > Lightmap Encoding にあります(Unity 2017.3 以降のバージョンのみ)。 ライトマップ符号化方式に関する詳細は Unity マニュアルでご覧いただけます。

シーン用 の Tonemapper

HDR ライティングを正常に表示するには、プロジェクトで Tonemapper を有効にする必要があります。 アセットストアで入手可能な Unity ポストプロセッシングスタックを事前にインストールしてください。

ポストプロセッシングスタック(バージョン 1)( サンプルシーン『Spotlight Tunnel』で使用されているバージョン)のセットアップを以下の手順で行ってください。

  • プロジェクト内に Post Process Profile Asset を 1 つ作成し、以下のように設定してください。

    • Color Grading > Tonemapper > ACES (Academy Color Encoding Standards)を有効にしてください。
    • Dithering(ディザリング)を有効にしてください Dithering によって、HDR シーンからの、各チャンネル 8 ビットの出力によるバンディングアーティファクトの発生が抑制できます。最近のエンジンはこの技術を使用して 1677 万色出力時の制約を回避しています。
    • この時点では、Tonemapper のその他の設定はそのままにしておいてください。
  • 「Main Camera」を選択し、Post Processing Behaviour コンポーネントを追加してください。

  • 上記で作成した Post Process Profile を Profile スロットにアサインしてください。 ポストプロセッシングスタックのバージョン 2 を使用したい場合は、パッケージの README をご参照ください(現時点ではベータ版であるため)。

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

これにより、シーンビューでの作業中に常に Tonemapper が確認できるようになります。

トーンマッピングされたシーンでは、ハイライトの演出と、暗いトンネルの色値の分離が改善されています。トーンマッピングを使用していないシーンでは、ハイライト部分の色が周囲と一体化していないのが確認できます(ここでは、照り付ける太陽光が黄色っぽくなっています)。

この設定は基本的に、露出の固定されたデジタルカメラ(露出調整や眼の調整の機能が有効になっていない状態)でシーンをキャプチャーするのと同じ状況を再現しようとするものです。

ここまでの時点で、幅広いコンテンツで現実のようなビジュアルを表現するための、シーンの基本的なレンダリング設定が完了しました。