レイトレースオブジェクトと大気/雲の遅延


レイトレース・オブジェクト

Terragenですべての植物をレンダリングした事を経験しているならば、非常に長いレンダリング時間なくしてリアルで高画質の画像を得るのは難しい事を知っています。より滑らかで美しい草木を望むなら、10以上のアンチエイリアス設定を使用する事も珍しくありませんでした。Terragen 2.1以降、これらの常識は覆されました。

Terragen 2.1以降のバージョンでは、別の遅延レンダーパスでオブジェクトをレンダリングするオプションがあり、残りのシーンと自動的に結合されます。"objects"とは、TGO、OBJ、LWO形式のインポートされたオブジェクト、ビルトイン・オブジェクトのCard、Grass Clump、Rockを意味します。レイトレーシングエンジンを改良し、適応サンプリングルーチンを実装した結果は非常に顕著です。この方法でレンダリングすると、より高品質の画像が得られ、常に適度なディティールのオブジェクトを持つシーンのレンダリング時間を短縮します。例えば、シーン内にポピュレーションを使った多くのオブジェクトを持っている場合、新しい方法でレンダリングする事で、画質と処理速度の大幅な向上に気づかぬはずがありません。

この新しいオプションを使用するには、『Render』ノードの[Advanced]タブで"Ray trace objects"を有効にします。

大気/雲の遅延

Terragen 2.2で、"Ray trace atmosphere"というオプションを導入し、Terragen 3以降、"Defer atmo/cloud"にパラメータ名を変更しました。これは、すべての大気と雲のレンダリングを、レイトレース・オブジェクトで使用される同じ処理工程の遅延レンダーパスに分割します。これは、レイトレース・オブジェクトに使用されるのと同じ適応サンプリングエンジンと組み合わせる事により、雲や大気の高品質画像を生成しますが、"Ray trace objects"がなくても有効にする事が出来ます。"Defer atmo/cloud"の高品質な結果は、レンダリングに時間を費やしますが、使用を必要とする機会が頻繁にあります。特に地面と空を覆う植物が多い複雑なシーンなどの場合には、このパラメータを有効にするだけで、レンダリングがより速くなる場合があります。他の場合では、非常に頻繁に、他の大気と雲の設定が、大気と雲の遅延レンダリングに対して上手く調整されていれば、より短時間で同等の品質結果を達成する事が可能です。

"Ray trace objects"を使用してレンダリングする時、レイトレースオブジェクトのサブピクセルで表示される大気と雲は常にレイトレース・オブジェクトの一部としてレンダリングされるため、"Defer atmo/cloud"はそれらの特定のサブピクセルに影響しません。マイクロポリゴンラスタライザでレンダリングされる任意のサーフェスのマイクロポリゴンシェーディングの一部としてレンダリングされる大気と雲にのみ影響します。これは、通常、地形(惑星)、空(背景の球)、水(湖)またはその他の変位可能なオブジェクトタイプが含まれます。しかし、これらのマイクロポリゴンの一部は、レイトレースされたオブジェクトの後ろに隠れていても計算される可能性があります。従って、"Defer atmo/cloud"を有効にする事で、これらの隠れたピクセルの大気/雲を計算する必要がなくなり、速いレンダリングを引き起こす理由の1つとなります。
"Defer atmo/cloud"を有効にしてレンダリングした場合、オブジェクトの計算を終えた後で大気/雲の計算を行うため、空に掛かる上図の真ん中画像の黒部分の計算を行う必要がなくなります。つまり、右側画像のオブジェクトに重なって見えない大気/雲の部分は、レンダリング計算が省略されるためレンダリング時間が速くなります。

"Defer atmo/cloud"は、マイクロポリゴンのディティールやオブジェクトがレイトレースされているかどうかに関係なく、大気や雲が画像全体にレンダリングされる方法として一貫性をもたらします。

その他の長所と短所については、以下の「技術的詳細」の項目で説明します。

アンチエイリアシングの重要性

オブジェクトをレイトレースしたり、遅延レンダリングパスで大気や雲をレンダリングする場合、画像の品質(およびレンダリングにかかる時間)を制御するための最も重要な設定の1つは、『Render』の[Quality]タブにある"Anti-aliasing"パラメータです。アンチエイリアシング数の2乗は、画像の1ピクセルあたりにトレースされる1次線の最大数、つまり1ピクセルあたりの最大サンプル数を表します。アンチエイリアス値が3の場合、1ピクセルあたり最大9つのサンプルを取得する事が出来ます。値が8の場合、いくつかのピクセルが最大64サンプルを取得する事を意味し、通常、非常に良好な画像を作成するのに十分な値です。適応サンプリング技術は、サンプラが隣接したサンプル間のコントラストがあるしきい値以下である事を検出した場合、サンプルの最大数を取り除く事を避けるために使われます。これは、アンチエイリアシング作業を最も必要とされる場所に集中させ、品質を高め、レンダリング時間を短縮するための効果的な方法です。以前のバージョンでは、そして伝統的な方法でレンダリングされた他のオブジェクトでは、"Anti-aliasing"パラメータを非常に高い設定にしない限りレンダリング時間に大きな影響を与えませんでした。"Ray trace objects"や"Defer atmo/cloud"を使用する場合は、アンチエイリアシングが品質とレンダリング時間の両方に大きな影響を与える可能性がある事に注意する必要があります。

Ray trace everything(シーン全体をレイトレース)

[Advanced]タブには、"Ray trace everything"というオプションがあります。他の種類のオブジェクトのレンダリングが遅くなり、品質が低下する可能性があるため、ほとんどのシーンでは"Ray trace everything"を有効にしない事をお勧めします。Planet (terrain)、Sphere、Plane、Disc、Lakeオブジェクトはすべて、デフォルトのマイクロポリゴンの「 ラスタライザ 」を使用してより効率的かつ高品質にレンダリングされ、レイトレーシングには最適化されていません。前に挙げたオブジェクトの影と反射をより速く処理するために、オブジェクトのディティールはレイトレーシングエンジン用に軽減されます。

ほとんどのシーンでは、"Ray trace objects"を有効にし、"Ray trace everything"を無効にする事をお勧めします。これらは現在、デフォルトで設定されていうます。プロジェクトのデフォルトをカスタム設定する場合は、これらの設定を含めて更新する事をお勧めします。

より技術的なディティール

"Ray trace everything"を使いたいと思うようないくつかの状況があります。シーンのすべてをレイトレースすると、適応サンプリングはシェーダと大気(雲を含む)のアンチエイリアシングによって画質を向上させ、使用されるサンプリング設定に応じて、最もコントラストが検出される場所には必ずアンチエイリアシングを集中させます。これは、ノイズとアンチエイリアスの縁が発生した場所でのみ、それを減らす効果的な方法です。レイトレースや大気/雲の遅延レンダリングでは、雲と大気をボリュームモーションブラーでレンダリングする事が出来るのに対し、マイクロポリゴンラスタライザは、単に動きのない大気をマイクロポリゴンに投影してからマイクロポリゴンをぼかけさせます。これらの品質の向上には代償を伴う事に注意して下さい。レンダラーは、通常、マイクロポリゴンラスタライザを使用した場合よりも多くの回数、シェーダをピクセルごとにサンプリングする必要があるため、高品質にすると、通常以上にレンダリング時間が長くなります。ただし、さまざまな要因によっては、レイトレーシングを使用すると全体的なレンダリング時間を短縮して同等の品質を得る事も可能な場合があります。

Terragen 2.2以降では、"Ray trace atmosphere (Terragen 2.2)"、または"Defer atmo/cloud (Terragen 3、4)"を有効にする事で、これらの利点のほとんどを大気や雲に利用する事が出来ます。

すべてをレイトレーシングする(または遅大気/雲の遅延レンダリングを使用)事でレンダリング時間を短縮できる場合があるのには、3つの理由が考えられます。1つ目は、レイトレースはマイクロポリゴンラスタライザで時々起こるオーバードロー(上書き描写)の問題を抱えておらず、そのため偶然に前後左右のどこにでも描画された山脈を持ついくつかのシーンで大きな違いを生じさせるかもしれません。これがおそらく最も適切で、デフォルトのレンダラでポリゴンを細分化する時に使用される非常に単純なソートアルゴリズムによるものでありますが、場合によっては適切にソートされない事もあります。2つ目は、地平線や水平線寄りの俯瞰角度で見られるサーフェスは、たとえそれらがカメラに面していたらもっと大きく見えると推測されるピクセルより小さく表現されるマイクロポリゴンを持つ傾向があります。このディティールレベルは、レンダラーがサーフェスがどの程度平坦であるかを事前に知らないため、重要なディスプレースメントが欠落されないように維持します。これらの領域では、サーフェスシェーダと大気/雲シェーダは、画像の他の部分よりもはるかに頻繁にサンプリングされる可能性がありますが、適応性レイ・トレースは画像のすべての部分を同じ方法で処理します。3つ目は、サンプリングレベルがピクセル単位またはサブピクセル単位で検出されるコントラストの量に適応する事が出来るため、通常は様々な種類のノイズやエイリアシング(ジャギー)を軽減するために選択されるさまざまな他のレンダリング設定に低い値を使用する事が可能です。例えば、雲景は画像の大部分のエリアで滑らかで、他のエリアでは非常にノイズが多い場合があります。マイクロポリゴンラスタライザによってノイズを減らす最も一般的な方法は、雲層または大気のサンプル数パラメータを増やす事ですが、余分なサンプルはノイズのないエリアで無駄になりレンダリングに時間がかかります。代わりに、雲景が遅延レンダーパスの一部としてレンダリングされる場合、アダプティブ(適応)ピクセルサンプラーは、マイクロポリゴンラスタライザよりも多くのピクセルあたりの光線をトレースする事で、全体的にノイズを減らす可能性があり、また、設定が巧く決まるとノイズの出るエリアにより多くの光線が集中するでしょう。

"Defer atmo/cloud"、または"Ray trace everything"を使用する場合、雲や大気で低品質の設定を使用し、アダプティブピクセルサンプラーにすべてのノイズ問題を解決させるが手っ取り早いですが、実際には、これは常に最善の方策とは限りません。非常に低いアンチエイリアス/ピクセルサンプラー設定でほとんどの画像で許容できるノイズのない結果が得られ、アダプティブピクセルサンプラーが全画像の比較的小さなエリアに対して1~2段階品質を押し上げられるように、雲と大気の設定を調整する事をお勧めします。
ところが、場合によっては、高いピクセルサンプリングレベルを利用する事が可能です。他の理由で頻繁にサンプリングする必要がある画像、例えば ディティールの細かな植物の場合、ほとんどのピクセルがより頻繁にサンプリングされるという理由だけで、雲や大気のノードが予想より低い設定で高品質にレンダリングされる事があります。ソフトシャドウの設定などは、他のサンプリング設定でも同様の事が言えます。

従って、空の風景や水のある風景など、地形が含まれていないレンダリングや、後で他のパス(ただし、空の風景と大気パスでは簡単に"Defer atmo/cloud"を使用する事が出来ます)と合成する大気パスについては、"Ray trace everything"を検討する価値があります。

アンチエイリアス設定

"Ray trace objects"、"Defer atmo/cloud、"Ray trace everything"を使用する場合、画像(またはその一部)の品質は、"Anti-aliasing"パラメータに大きく依存します。実際には、このパラメータはアダプティブピクセルサンプラーのパラメータを制御するプリセットのようなものです。これらのパラメータがアンチエイリアスプリセットによってどのように影響を受けるかを正確に知る必要はありません。あなたがそれについて考える必要がないように、我々は最適のプリセットを精選しました。ただし、アダプティブサンプリングを正確に制御したい場合は、『Render Pixel Sampler』ノードを編集する事で可能です。『Render Pixel Sampler』を編集するには、『Render』の「Quality」タブにある[Edit Sampling]ボタンを押します。

(『Render Pixel Sampler』は、アダプティブピクセルサンプラーのパラメータを含むノードです。『Render』ノードの内部ネットワークに含まれています。『Render Pixel Sampler』ノードを削除しても安全ですが、次に画像をレンダリングした時、または[Edit Sampling]ボタンを押したときに、デフォルト設定で別のノードが作成される場合があります。予期しない動作が発生する可能性があるため、追加の『Render Pixel Sampler』ノードを作成しないで下さい。)