V-Ray Next 3dsMax で照明解析

こんにちは株式会社オークのYamauchiと申します。

V-Ray のややマイナー?な情報をお届けするこのページです。

今回はChaosGroupの こちらの記事を翻訳してみました。
V-Ray Next には自動で露出補正と、ホワイトバランスを調整する新機能が付いているのですが、その副産物ですね。

V-Rayで照明解析を設定する方法

ChaosGroupは V-Ray Next 3ds Max に新しい照明解析様のツールを追加しました。このツールはシーンの光レベルを測定して分析するのに役立ちます。ヒートマップとデータオーバーレイを作成し、輝度(カンデラ単位)または照度(ルクス単位)の値を表示できます。

V-Ray Nextの照明解析では、VRayLightMeterヘルパーオブジェクトとVRayLightingAnalysisレンダリング要素の2つのコンポーネントが使用されます。 VRayLightMeterヘルパーオブジェクトはV-Ray 2.0 からありましたが、V-Ray Nextで改善され精度が向上しています。VRayLightingAnalysisレンダーエレメントは、V-Ray Nextからの新機能です。

VRayLightMeter ヘルパーを使用する

VRayLightMeterヘルパーは、格子の各頂点に照度値を示すグリッド状のヘルパーです。全照度、直射照度、間接照度、日光係数(daylight factor)を表示できます。また、光が主にどこから来ているのかを方向を示すベクトルを表示することができます。

左:3Ds MaxビューポートのVRayLightMeterは、ヒートマップ、光の向き、照度の値を表示します。
右:VRayLightMeterのパラメーターインターフェース

ライトメーターの値を表示するには、まず”Calculate”ボタンを押すか、Maxscript で calculate()関数を実行する必要があります。(通常のレンダリングでは、V-Rayは測光値を自動的に再計算しません)精度は誤差許容値(Error tolerance)の値を設定することで制御できます。値を高くする程速く計算されますが、結果はノイズが多いかもしれません。

なお内部的には、V-Rayはライトのベイクを使用して複数のパスで測光値を計算します。これには、主な照度データを収集するためのパス、主な光の方向を決定するためのパス、および日光係数(daylight factor)を計算するためのパスの4つのライトベイク・パスが含まれます。 ライトメーターの計算では、V-Rayは、通常のレンダリング設定を自動的に無効にし、ブルートフォースとライトキャッシュの組み合わせを使用してグローバルイルミネーションを計算しています(結果はラジオシティ法と同等のライトバウンスに匹敵します)


パス計算中に表示されるプログレスバー

V-Rayにはまだ照明解析のコントロールパネルがありません。シーン内のすべてのVRayLightMeterヘルパーオブジェクトのMin/Max値を設定する必要がある場合は、次のMaxscript関数を使用できます。

fn setVRayLightMetersScale fmin fmax logarithmic = (
local lightMeters=getClassInstances VRayLightMeter
for lightMeter in lightMeters do (
lightMeter.min=fmin
lightMeter.max=fmax
lightMeter.log=logarithmic
)
)

次のMaxScript関数を使用して、シーン内のアクティブなVRayLightMeterヘルパーオブジェクトの計算をまとめて実行できます。

fn calcAllVRayLightMeters = (
local lightMeters=getClassInstances VRayLightMeter
for lightMeter in lightMeters do (
if lightMeter.active then lightMeter.calculate()
)
)

 

VRayLightingAnalysis レンダーエレメントを使用する

VRayLightingAnalysisは沢山あるV-Rayのレンダーエレメントの1つです。なおVRayLightingAnalysisエレメントを追加するとそれ自身のエレメントの他に、2つの付加エレメントをV-Rayフレームバッファに追加します。これらのエレメントは、スケーリングされていない絶対照度(ルクス)とルミナンス(カンデラ)値を示します。

左: VRayLightingAnalysisは、レンダリングが完了した後、要素を偽色モードでレンダリングします。
自動で追加される照度(Illuminance)および輝度(Luminance)レンダーエレメントは、
V-Rayフレームバッファのエレメント切替プルダウンメニューで見ることができます。
右: VRayLightingAnalysis レンダーエレメントのインターフェース


左: VRayLightingAnalysisレンダーエレメントでは、元の画像上にグリッド状に照度値を重ね合わせて表示できます。
右: オリジナルの RGB 画像

VRayLightingAnalysisレンダーエレメントはポストエフェクトであり、レンダリングが完了した後に処理されます。その為、レンダリングが完了した後でも、再レンダリングすることなく、ほとんどのVRayLightingAnalysis設定を調整・更新できます。VRayLightingAnalysisエレメントのパラメーターを偏して、更新ボタンを押してください。

VRayLightMeterと同じ設定(min/maxと Scale タイプ)を使用する場合、結果は全照度で同じになるはずです。

ガラスおよびミラーオブジェクト上に表示される照度値は、その表面上の照度を表し、ガラスまたはミラー内に見られるサーフェースの照度を表しません。このようなマテリアルは光を乱反射しないため、V-Rayはこれらの照度値を非常に低い精度で計算するか、もしくは照度計算を完全にスキップすることもできます。したがって、ガラスやミラー上の値は非常にノイジーかゼロであるかもしれません。

またVRayLightingAnalysisを使う場合、より正確な結果が得られるように、デフォルトのV-Ray GI設定+高めのライトキャッシュサブディビジョン(例:2000)、ライトキャッシュリトレースしきい値を高く(たとえば4.0)設定する事を推奨します。

3ds Max標準のライティング解析シーンをVRayのライティング解析シーンに変換する

3ds Max標準のの照明解析コンポーネントをV-Ray用に変換するには2つの方法があります。 1つの方法は、3dsMax 2018から搭載されている3ds Max標準ののシーンコンバータツールを使用する方法です。もう1つの方法は、V-Ray Nextに含まれているV-Rayシーンコンバータスクリプトを使用する方法です。どちらのツールも3ds Max Light MeterオブジェクトとLighting Analysis Overlayレンダリングエフェクトを他のシーンコンポーネントと同様にそれぞれのV-Rayに変換できます。 V-Rayシーンコンバータを使用するには、任意の3ds Maxビューポートで右クリックしクアッドメニューから”V-Ray Scene converter”を選択してください。(V-Rayが現在のレンダラーとして設定されていることを確認してください)

左:クアッドメニューから “V-Ray Scene converter” にアクセスできます。
右:”V-Ray Scene converter”のダイアログメニュー

結論

V-Ray Next for 3ds Maxの新しい照明解析ツールは、これまで3ds Maxに含まれていたものを置き換えるものです。 VRayLightMeterヘルパーとVRayLightingAnalysisレンダーエレメントを組み合わせることで、シーンの光レベルを正確に分析して測定することができます。

The following two tabs change content below.
株式会社オークでV-Rayをサポートしています。