HDR Lighting Basics:jp

From Valve Developer Community
Jump to: navigation, search
English Русский 简体中文

HDRライティングの基本

概要

Source Engineの.BSPは独立した2つのライトマップをサポートしています。1つはHDR (High Dynamic Range)で、もう1つはLDR (Low Dynamic Range)です。 LDRライティングはHL2本編と同じライティングです。LDRライティングにおいては、暗い箇所が見えるように追加のポイントライトやテクスチャライトを追加する必要がしばしばありました。 今のHDRでは、ただ自動露出を使うだけで"ごまかし"ライトを使わずにほとんどの暗いエリアでの光を増幅できるようになりました。 2つのライトマップを持つことの一つの欠点は、時には2倍以上になるような.BSPサイズの増加です。

ノート:現時点ではHDRはLost CoastDOD:SCS:S においてのみ使用可能です。HDR対応アップデートが行われるまで、通常のHL2HL2MPでHDRは使えません。

HDRマップコンパイルの基本

今すぐHDR対応のマップを作る簡単な方法は、既にあるマップを最新のVradで再コンパイルすることです。

Hammer内蔵のコンパイラを使用している場合、マップをHDR対応でコンパイルするのはとても簡単です:

  1. .VMFファイルをHammerエディタで開きます
  2. FileメニューからRun Mapを選択します
  3. BSPVISRADのオプションをNormalにします
  4. RADセクションのHDRチェックボックスにチェックします
  5. OKをクリックしてマップコンパイルを開始します
注意: コンパイルログを見ると、HDRをオンにした場合VRADが2回実行されることに気がつくでしょう。 これは正しい動作です。 VRADはLDR、HDRモードでそれぞれライティングを計算する必要があります。

HDRのためのVRADのコマンドライン引数

Hammer内蔵のコンパイラを使っていない場合は、以下のVRADのコマンドラインを使ってください: -both-ldr-hdr-finalです。 .BSPファイルはLDRとHDRの2つのライトマップセットを含むことができます。 両方をコンパイルするにはVRAD-bothコマンドを追加してください。 LDRバージョンだけコンパイルしたい場合は-ldrを、HDRだけの場合は-hdrを追加してください。 このリリースで追加された新しいコマンドの1つは-finalで、多くのCPU時間を光線発射に使いスカイライトと間接光の品質を向上させるのに使うものです。 警告: -finalを使うことでVRADのコンパイル時間が大幅に増えることがあります。これは主にマップの最終コンパイル向けのものです。 このオプションでlight_environmentによって主に照らされている室内のライティングの不自然さが削減され、これが一番の品質向上になります。

Source EngineでのHDRの実行

ショートカットでエンジンのHDRモードでの実行を設定。クリックで拡大

Source EngineはHDRモード、LDRモードで実行することが可能です。 マップがHDRライトマップでコンパイルされていて、ゲームのビデオ設定でHDRが使用可能になっていれば、マップがロードされたときにHDRは自動的に有効になります。 HDRとLDRライトマップは独立しているので、両方のモードのためのキューブマップをビルドする必要があります。

HDRはゲームを起動するときの以下のコマンドで有効・無効にすることもできます:

+mat_hdr_enabled 0/1

  • 0に設定するとLDR、1に設定するとHDR有効になります。 マップがロードされているときにこの値が変更されると、マップのライトマップが再読み込みされます。

+mat_hdr_level 0/1/2

  • 0に設定するとHDRは無しで、1はLDRにHDRマップのブルーム、2は完全なHDRにHDRマップのブルームです。

HDRを有効にしてゲームを起動

ゲーム実行時にHDRとブルームを強制するには、以下の方法のどれかで+mat_hdr_enabled 1 +mat_hdr_level 2を追加してください:

  • HammerのRun MapダイアログのAdditional game parametersに追加します
  • Steam Gamesウィンドウでのゲーム右クリックからプロパティを選択し、起動設定...をクリックしてコマンドを追加します
  • ゲームのショートカットをサクセイし、Windowsのプロパティダイアログでコマンドを追加します
  • エンジンの実行に.BATファイルを使ってるのなら、そのバッチファイルにコマンドを追加します
ノート:HDR機能をサポートできないビデオカードではこれらの指定をしてもHDRは有効になりません。

HDR、LDRキューブマップの作成

HDRマップを作るには、buildcubemapsをHDRモードとLDRモードの両方で実行して適切なキューブマップを作成する必要があります:

  1. VradのHDRオプションを有効にしてマップをコンパイルします。
  2. マップをゲームに読み込みます。 エンジンでHDRを有効にしている必要があります。 HDRを無効にしている場合、コンソールでmat_hdr_enabled 1を入力してHDRを有効にしてください。
  3. コンソールbuildcubemapsを実行してHDRキューブマップを作成します。
  4. mat_hdr_enabled 0を入力してLDRモードに切り替えます(ライトマップの再読み込みに少し時間がかかるかもしれません)
  5. buildcubemapsを入力してLDRキューブマップを作成します。

マップのコンパイルをしたときに毎回行う必要があり、そうしないとキューブマップが正しく表示されないことがあります。

HDRスカイボックスの選択

Map PropertiesでのHDRスカイボックスの選択。クリックして拡大

HDR効果の質を簡単に向上する方法のひとつはHDRスカイボックスを選択することです。

HammerでHDRスカイボックスを選択するには:

  1. MapメニューからMap propertiesを選択します
  2. Skybox Texture NameにHDRスカイマップの名前(例: sky_example_hdr)を入力します。Sky Listにスカイボックスの一覧があります。
  3. マップを新しいスカイボックスで再コンパイルします。

このデモのエンティティを含んだサンプルマップはsdk_hdr_example.vmfです。 注意: このファイルはsourcesdk_contentの'dod'マップフォルダ内にあります。


新しいHDRスカイボックスの作成についてはHDR Skybox Creationを参照してください。

参照

HDR Lighting Settings - HDR設定の変更についての詳細

HDR Skybox Creation

env_tonemap_controller