Tip:
Highlight text to annotate it
X
ライティングについて、見ていきます。
実世界のように、Unity は
ライトによりシーンを照らすことが出来ます。
ライトがなければ、シーン上のカメラには
何も表示されません。
Unity には大きく分けて二種類のライティングがあり
動的ライティングおよび焼き込みされたライティングです。
動的ライティングはゲームが実行されているとき、
リアルタイムで計算されます。
シーンにライトを追加することで、動的ライティングは行なわれます。
焼き込みされたライティングはオフラインで計算されたものであり、
テクスチャに保存されています。
このライティング テクスチャ マップは
シーンに焼き込みされたオブジェクトに適用されることで
パフォーマンスを改善します。
焼き込みされたライティングおよび動的ライティングの
詳細については下にあるリンクを確認して下さい。
シーンをライティングするにはライト コンポーネントを使用します。
Unity の他のすべてのコンポーネントのように
ライト コンポーネントはゲームオブジェクトにアタッチされています。
シーンの中のライトを移動するには
ゲームオブジェクトの位置調整ツールを使用することが出来ます。
ライト コンポーネントには 4 種類のライトがあります。
ポイント ライト(Point Light)、方向性ライト(Directional Light)、
スポットライト(Spot Light)、および
焼き込みされたライティングのみで使用できるエリアライト(Area Light)です。
これらの種類はゲームの見映えにに関して、
まったく異なる挙動をします。
ポイントライトは 裸電球のような挙動をします。
ポイントライトのライティングはシーンのオブジェクトを
シーンにおけるライトの位置にもとづいてライティングします。
回転はライティングにまったく影響せず、
これは全ての方向に均等に
照らすためです。
方向性ライトは太陽のような役割を果たします。
方向性ライトはシーンにおける全てのオブジェクトに影響します。
ゲームオブジェクトの回転によりセットされたライトの方向に
もとづいてライティングします。
シーンにおける位置はまったく影響しません。
スポットライトは懐中電灯または
車のヘッドランプのような挙動をします。
Transform の回転にもとづいた
方向を向いています。
そして、その三角錐の中のすべてのオブジェクトを照らします。
スポットライトは回転および位置に
影響を受けます。
エリアライトはライトマップを焼き込みするときのみ動作します。
エリアライトは四角平面の片側の
すべての方向を照らします。
4 種類のライトに加えて
シーンのライティングに影響することができる
アイテムがふたつあります。
これは環境ライト(Ambient Light)および自己発光(emissive)マテリアルです。
環境ライトはシーンにおける
グローバルな方向性のないライトを制御します。
環境ライトは動的ライティングおよび
焼き込みされたライティングで動作します。
完全に制御するためには
環境ライトを黒色にセットして、
シーン上のライティングのみ使用します。
自己発光マテリアルは
Emission プロパティを
対応する自己発光するシェーダーでセットすることにより作成します。
自己発光マテリアルは焼き込みされたライティングでのみ動作します。
より詳細については下のリンクからレッスンを参照して下さい。
ライトをカスタマイズするためのプロパティが
いくつかあります。
Range によりライトが
ライト コンポーネントをアタッチしたゲームオブジェクトの中心から
どれだけ離れて発行されているかを示します。
Range はポイントライトおよびスポットライトでのみ動作します。
もしライトの種類として Spot を選択した場合、
Spot Angle プロパティに対して
アクセスすることが出来ます。
Spot Angle によりスポットライトが使用する三角錐の傾斜角を
角度単位で使用できます。
Color によりライトのカラーを制御できます。
シーン Gizmo の色は
Color プロパティにあわせて変化するので注意して下さい。
Intensity はRange とは独立して
ライトの明るさを制御します。
シーンをライティングするとき、
効果的なライティングを実現するためには
これらのプロパティの組み合わせが必要です。
ライトは Intensity および Range を増加させると
より明るく感じるかもしれません。
しかし、それぞれに異なった挙動をして、
シーンのライティングを行います。
シンプルに照らすライトにより
複数のエフェクトが使用できます。
シャドウ、フレア、ハロー
および、クッキーとよばれるものです。
クッキーはバーチャル マスクまたは
ライトの前のフラグの働きをして
パターンのあるシャドウを作成します。
クッキーはテクスチャのアルファチャネルを使用して
ライトに照らされたシャドウのパターンを提供します。
クッキーは スポットライトおよび方向性ライトで作業をするとき、
2D テクスチャである必要があります。
クッキーはポイントライト使用するとき
キューブマップである必要があります。
これはスポットライトおよび方向性ライトが
一つの方向に照らしていて、
ポイントライトがすべての方向に照らしていることを考えると
納得がいきます。
方向性ライトを使用するとき
クッキーの Size を変更するオプションがあり、
シーンのパターンをスケールできます。
クッキーはエリアライトとは、一緒に使用できません。
焼き込みされたライティング クッキー は
スポットライトとしか動作せず、
焼き込みされたポイントライトや、焼き込みされた方向性ライトとは使用できません。
次は、シャドウです。
ライトからシャドウを投影するとき、
二種類のシャドウがあります。
ハードシャドウおよびソフトシャドウです。
ハードシャドウはもっともパフォーマンスは軽くなります。
一方、ソフトシャドウのほうが見映えが良い場合が多くなります。
しかしソフトシャドウはレンダリングが高価です。
シャドウをレンダリングするとき、いくつかのオプションがあります。
Strngth はシャドウの暗さの値を
セットします。
シーンの中でシャドウが正しいと感じるまで
値を調整して下さい。
最大の強度にするには値は 1 ですが、
しばしば強すぎます。
Resolution は単に画像の品質設定です。
デフォルトでは、ライトは品質設定(Quality Settings)で使用された
値を使用します。
これらの値はライトごとに
上書きすることができます。
より多くの情報については
品質設定(Quality Settings)に関するレッスンを参照して下さい。
Bias はすべてのライトからの
シャドウ レンダリングを最適化する
オフセット値を制御します。
Bias はオブジェクトからどれだけ遠くシャドウが
開始するかに影響する設定です。
値が小さすぎる場合は画像の乱れを発生させ、
値が大きすぎる場合は
オブジェクトが浮遊しているようにみえます。
ソフトシャドウつきの方向性ライトを使用するとき
ふたつの追加設定があります。
Softness および Softness Fade です。
Softness は
シャドウの線の粗さであり、
Softness Fade は
カメラからどれだけ離れたところまで
ソフトシャドウが描画されるか表します。
より詳細については
下のリンクにあるライトのドキュメントを参照して下さい。
Draw Halo によりシーンのライトの周りの
デフォルトのハローを描画します。
ハローはライトの Range および
Instensity に影響します。
デフォルトのハローについての詳細は
シーンのレンダリング設定でセットされます。
デフォルトのハローを上書きするには
この設定はオフとすべきであり、
個別のハロー コンポーネントを
代わりに使用すべきです。
フレアはハローに似ていますが、
眼鏡を通した明るいライトの光源を
再現しています。
フレア アセットが Flare スロットにロードされるとき
ライトはレンズ フレアを使用してレンダリングします。
フレアはライトの Intensity にのみ影響を受けます。
レンズ フレア コンポーネントは
ゲームオブジェクトに直接アタッチできます。
しかしライトの Flare プロパティは
空のままとしないと
ライトには二つのフレアがレンダリングされます。
フレア レイヤー コンポーネントは
カメラにアタッチしないと
カメラはフレアをレンダリングできません。
次はレンダリング モードです。
動的ライトをレンダリングするには
二種類の方法があり、
頂点ライティングを使用する方法と、
ピクセル ライティングを使用する方法です。
頂点ライティングは通常、もっとも高速であり
そしてオブジェクト メッシュの頂点で
シーンのライティングを計算します。
ライティングはメッシュ表面上を
補間します。
ピクセル ライティングは画面上のすべてのピクセルを計算し、
このほうがより高価です。
ピクセル ライティングはよりレンダリングに時間がかかりますが
頂点ライティングでは実現できないエフェクトを
可能にします。
法線マッピング、ライト クッキーおよび
リアルタイム シャドウはピクセル ライトでのみレンダリングされます。
スポットライトの形および鏡面のハイライト
はピクセルモードでレンダリングしたとき
遥かに良い結果となります。
ライトはレンダリング スピードに大きな影響があります。
ピクセル ライトの数は
ピクセル ライティングの Count プロパティを使用して
画質設定(Quality Settings)で上限を決めることが出来ます。
フォワード レンダリング パスにいるとき
レンダリング モードは
ライトが頂点ライティングあるいはピクセルライトでレンダリングされるか
明示的に制御できます。
Important にすることでライトは
ピクセル ライティングが適用され、Important としないと
ライトのレンダリングは
より高速なモードである頂点ライティングか、
球面調和ライティングを使用します。
レンダリング パスおよび
レンダリングモードに関する詳細は下のリンクのドキュメントを参照して下さい。 (翻訳:gamesonytablet)