Version: Unity 6.0 (6000.0)
言語 : 日本語
ライティング
Lighting configuration workflow

ライティングの概要

ここでは Unity のライティングの仕組みを紹介します。

Unity のライティングは、現実世界のライトの動きを近似することで機能します。Unity では、ライトの仕組みの詳細なモデルを使用して現実に近い効果を得たり、簡易なモデルを使用して様式化された効果を得たりします。

ライティングパイプライン

次のフローチャートは、コンテンツ作成者の視点で、Unity のすべてのライティングパイプライン全体を高レベルから見たものです。

まず、レンダーパイプラインを選択 します。次に、間接光の生成方法を決定し、それに応じてグローバルイルミネーションシステムを選択します。すべてのグローバルライティング設定がプロジェクトに対して適切に調整されていることを確認したら、続けて LightsEmissive SurfacesReflection ProbesLight ProbesLight Probe Proxy Volumes (LPPVs) を追加できます。

ライト

Light は、すべてのシーンで重要です。メッシュとテクスチャでシーンの形状と外観を定義し、ライトを使って 3D 環境の色や雰囲気を定義します。多くの場合、各シーンで複数のライトが使用されます。これらをうまく連携させるには少し練習が必要ですが、素晴らしい効果が得られます。

ライトは、GameObject->Light メニューからシーンに追加できます。表示されたサブメニューから使用したいライトの形式を選びます。追加したライトは、他のゲームオブジェクトと同じように操作できます。また、Component->Rendering->Light を使用して、選択したゲームオブジェクトに Light コンポーネントを追加できます。

Inspector の Light コンポーネントにはさまざまなオプションがあります。

ライトの Color を変更するだけで、シーンの雰囲気全体を変えることができます。

明るい太陽光
明るい太陽光
暗い中世のライト
暗い中世のライト
不気味な夜のライト
不気味な夜のライト

直接および間接ライティング

直接光は放出されると表面に一度当たって反射し、センサー (例えば、目の網膜やカメラなど) に直接届きます。間接光は表面に複数回当たるライトやスカイライトなど、センサーに最終的に反射して届くその他のすべてのライトです。現実に近いライティング効果を得るには、直接光と間接光の両方をシミュレートする必要があります。

Unity は直接光、間接光、または直接光と間接光の両方を計算できます。Unity が使用するライティング技術は、プロジェクトの設定方法によって異なります。

リアルタイムライティングとベイクしたライティング

リアルタイムライティングは、Unity がランタイムにライティングを計算します。ベイクしたライティングは、Unity が事前にライトの計算を行い、その結果をライティングデータとして保存し、ランタイムに適用する方法です。Unity では、プロジェクトはリアルタイムライティング、ベイクしたライティング、またはこれら 2 つを混合したライティング (混合ライティングと呼ばれます) を使用できます。

リアルタイム、ベイク、または混合ライティングに加える Light コンポーネントを設定する方法については、ライトモード を参照してください。

グローバルイルミネーション

グローバルイルミネーションは、直接光と間接光の両方をモデル化して、現実的なライティング効果を提供する一群の技術です。Unity には、直接光と間接光を組み合わせた 2 つのグローバルイルミネーションシステムがあります。

Unityでは利用可能なグローバルイルミネーションシステムは以下の通りです。

  1. Realtime Global Illumination:このシステムは、サードパーティ製のミドルウェアソリューションである Enlighten をベースに構築されています。事前計算を行い、ContributeGI 設定を有効にしたシーンのゲームオブジェクトを変更しない場合は、ライティングをリアルタイムで調整できます。

  2. Baked Global Illumination:このシステムを選択すると、Unity はプログレッシブライトマッパー (CPU または GPU) を使用して、ライトプローブ、ライトマップと呼ばれるテクスチャ、リフレクションプローブにライティングデータをベイクします。

プログレッシブライトマッパーはパストレーシングで間接光の値を計算します。シーンビューカメラに映っているオブジェクトに影響を与えるライティングの事前計算を優先できます。ライトマップの一部のライティングを更新するだけでベイク時間全体が長くなりますが、ライティング設計をより迅速に繰り返すこともできます。

レンダーパイプライン間の Lighting 機能のサポートの詳細については、レンダーパイプラインの機能の比較 を参照してください。

レンダリングパス

Unity は、様々な レンダリングパス をサポートしています。これらのパスは主にライトと影に影響するため、ゲームの要件に基づいた正しいレンダリングパスの選択により、プロジェクトのパフォーマンスを向上できます。レンダリングパスの詳細については、レンダリングパスのセクションを参照してください。

ライティング
Lighting configuration workflow