Unity のライティングシステムは他の多くのエフェクトやシステムから影響を受けたり、与えたりします。
Quality ウィンドウにはライティングとシャドウに影響する多くの設定があります。
Player ウィンドウでレンダリングパスと色空間を選択できます。
Camera によって、各カメラのレンダリングパスに Unity の Player 設定をオーバーライドできます。HDR もアクティベートすることができます。
Unity にはレンダリングの方法、「レンダリングパス」がいくつかあります。プロジェクトを開始する際に、どのパスを使うか早めに決定しておく必要があります。Unity のデフォルトは「フォワードレンダリング」です。
フォワードレンダリングでは、すべてのオブジェクトが影響するライトごとに「パス」でレンダリングされます。そのため、どのオブジェクトも影響範囲内にあるライトの数にしたがって、複数回レンダリングされます。
この方法の利点は、とても速いこと - つまりハードウェア要求が低いことです。加えて、フォワードレンダリングでは「シェーディングモデル」をカスタマイズできる幅が広く、また半透明を素早く制御することができます。イメージ品質に多大な影響を与えるディファードレンダリングなどの他の方法では使うことの出来ない「マルチサンプリングアンチエイリアシング(MSAA)」のようなハードウェアテクニックを使うことも可能です。
しかしながら、フォワードパスの重要な問題点は、ライトごとにレンダリングコストが必要になるという点です。オブジェクトに影響するライトの数が増えるほど、レンダリング性能が落ちます。そのためたくさんのライトを使うタイプのゲームでは、非常にコストがかかります。ですが、ゲーム内のライト数は簡単に管理できるので、実際のところ、フォワードレンダリングは高速な方法となるのです。
一方「デファードレンダリング」では、サーフェイスごとの座標と法線、そしてマテリアルが、一連の画面座標系テクスチャとして「ジオメトリバッファ」に出力されるまで、光源情報のブレンドとシェーディングを遅延させます。その後、それらの結果をライティングのパスとともに合成します。この方法には、ライティングの描画コストが、ライト自体の数ではなく、照らすピクセル数に比例する、という原理的な利点があります。このため、画面上に描画するライトの数を気にする必要がなくなります。これは、ゲームによっては重要な利点となります。
デファードレンダリングはかなり予測可能なパフォーマンス機能ですが、一般的に処理能力の高いハードウェアを必要とします。また、一部のモバイルハードウェアではサポートされません。
デファード、フォワード、他の使用可能なレンダリングパスに関する情報は、レンダリングパス を参照してください。
ハイダイナミックレンジによるレンダリングでは、今まで利用してきた方法に比べて、より幅広い色域をシミュレートすることが可能になります。一般的には、まず画面上に表示する露出域を選択する必要があります。これによって、例えばシーンの屋外部分と、影になっている領域の、極端な明度差をシミュレートすることが可能になります。また、シーンの明るい部分に「ブルーム」やグローのようなエフェクトを生成することも可能です。このような特殊効果により、パーティクルやその他の光源を、よりリアルに見せることができます。
HDR に関する詳しい情報は、Unity で HDR レンダリング を参照してください。
トーンマッピングは HDR から画面上にどのように色をマップするかを指示するために必要なカラーグレーディングの ポストプロセシングエフェクト の一部です。詳しくは カラーグレーディング を参照してください。
明白にライティングエフェクトとは言えませんが、輝く金属やガラスなど光を反射するマテリアルをリアルに表示するために、リフレクションは重要な役割を果たします。Unity の Standard シェーダーを含め、現段階で一般的に使用されている多くのシェーディング技術では、リフレクションをマテリアルのプロパティーに統合しています。
詳細は、リフレクションプローブ を参照してください。
レンダリングパスを決めるのと同様に、プロジェクトでライティングを行う前に「カラースペース」を決めることも重要です。カラースペースによって、光源計算の色や、読み込んだテクスチャの値を合成する際にUnityが使う計算方法を確定します。リニアカラースペースは、ゲームのリアリティを上げるのに劇的な効果がありますが、多くの場合、どちらのカラースペースを使うかは、ターゲットとするハードウェアによって選択してください。
リアルなレンダリングに向いているカラースペースはリニアです。
リニア空間を使用する大きな利点は、ライトの強度が増加するにつれシーン内のシェーダーに提供される色が一直線状に明るくなることです。もう一方の「ガンマ」カラースペースでは、明度が上がるにつれすぐに白く変化します。これは、画像の品質に悪影響があります。
詳しい情報は、 リニアレンダリング を参照してください。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.