ゴージャスな天井照明用IESを作成する(コースティクスからIES)

弊社のV-Rayユーザー様より、以下のような天井に複雑なコースティクス模様を描く照明を配置する方法の質問を頂きました。

この質問に関連して少し調べていた所、非常に興味深い記事を発見したのでみなさんと共有したいと思います。

このようなコースティクス模様を描く照明をV-Ray等で表現する場合、照明のガラスやリフレクターをモデリングし、中にライトを配置してコースティクスを真面目に計算するというアプローチが正統派の回答になります。

しかし、以下のブログ(ロシア語)にてPankovEA氏が「360度でキャプチャしたコースティクス模様のビットマップからIESファイルを生成する」という方法を紹介されています。(ロシア語)
https://3ddd.ru/blog/post/ies_dlia_nakladnykh_tochiechnykh_svietil_nikov_na_osnovie_sfierichieskoi_proiektsii_kaustiki

PankovEA氏は「IESをDIYする」という別の記事からヒントを得た模様です。(こちらもロシア語)

IESファイル自体が「光源と中心として360度方向への光の強さを数値化したファイル」というヒントから、PankovEA氏はブログにて以下の手法を取ってビットマップからIESを生成しています。

  • 3Dソフトでグレー球体を作成し法線を反転
  • 球体の中央に球体ライトを配置(光源自体不可視、スペキュラや反射を生成しない設定)
  • カメラも中央に配置
  • コースティクスをキャプチャする照明のガラスやリフレクターを作成し中央に配置
  • ガラスやリフレクターにマテリアルを設定
  • レンダリング解像度は 360度x180度 に+1 して361×181ピクセル(0度から始まり、最後に+1で、1度刻みで明度を計算します)
  • コースティクスを有効にして、スフィリカルパノラマ 360でレンダリング
  • 得られたレンダリング画像をBMPで保存(*)し、バイナリエディタでBMPの数値をテキストとして取得、この数列をIESのファイル形式に合わせて整形して完成

(*) 32ビットのEXR、極端な場合は16ビットのPNGまたはTIFFを使用したかったそうですが、そこから各ピクセルの数値データを抽出する方法が見つからなかったとの事。

なお、後日この手法は洗練され手順を自動化するMAX Script「IES from Caustics Generator」として2016年に ScriptSpotで公開されています。
http://www.scriptspot.com/3ds-max/scripts/ies-from-caustics-generator

「IES from Caustics Generator」の使い方のブログ(ロシア語)

残念ながら5年前の記事なのでリンクが切れており、スクリプトは入手できなくなっています。(しかしながらInterNet Archiveから入手可能

PankovEA氏がブログでも触れられていますが、真面目にコースティクスを計算するよりも、IESを使って表現した方が数倍高速かつ鮮明に表現できるそうです。

ちなみに、この手法はゴージャスな照明コースティクスを演出する事が目的なので生成したIESは「物理的に正確な照明」とは言えませんので、この点はご了承ください。

実際に試してみましょう!

まず、実際の照明をモデリングして真面目なコースティクスを計算してみます。

3dsMax にて 3m のBOXを作成し、正面のポリゴンを削除、法線を反転します。(実際のサイズでテストする事が大事です。)天井付近にVRaySphereライトを作成します。程よく小さいサイズで強い出力にします。「光源が小さい程鮮明なコースティクス模様が得られます」ので覚えておきましょう。

 

3dsMaxの天球体(GeoSphere)を作成し、ポリゴン編集モディファイアで面を選択して、面単位でベベルをネガティブに加えて以下のようなオブジェクトを作成しました。
オリジナルの天球体(何も編集していない物)のコピーを作成し、法線を反転して加工した天球体をアタッチして中空にしておきます。この辺りは自分の好みのガラスオブジェクトを作成してください。

純粋なガラスマテリアル(Diffuseカラーを黒、Reflectカラーを黒、Refractカラーを白)にします。なおコースティクスを計算する場合、フェイクのコースティクス効果である “Affect shadows” を必ず無効化しておく必要があります。IORでコースティクスの具合が変化しますので好みで調整してください。

せっかくなので、V-Ray 5.1 のプログレッシブコースティクスを使ってみましょう。
イメージサンプラをプログレッシブ、GI をブルートフォース/LightCache、コースティクスで Progressive を選択します。プログレッシブコースティクスは、プログレッシブサンプリングで自動的にコースティクスをサンプルするので、フォトンマップの様に自前にコースティクスを計算する必要がなく、補完パラメーターもありません。IPRでも使えます。とても簡単ですね。

 

BOX内に適当にリファレンスの長方形と球体を配置してレンダリングしてみましょう。以下の様にプログレッシブサンプルと同時にコースティクスが計算されます。

 

1分程のレンダリング結果が以下です。(シーンはこちらからダウンロードいただけます。max2018+V-Ray 5.1以降)caustic_with_glass_upload.max

 

結果はまあまあですが、はやり真面目にコースティクスを計算しているので、ノイジーですね。

それでは、このジオメトリのコースティクスからIESファイルを作成してみましょう。ダウンロードした、IESfromCaustics.mzp を3dsMaxのウィンドウにドラッグ&ドロップします。

3dsMaxのツールバー上で右クリックして “カスタマイズ” を選択し、カテゴリ >> #PankovScripts から IES from coustics genarator を好きなツールバーに配置します。

 

ボタンを押すと”IES from Caustics Generator”のウィンドウが開きますので「Render Caustics scene」を押します、するとスクリプトに同梱されているコースティクスベイク用のmaxファイルが読み込まれます。ファイルのガンマを使用して読み込みます。VRayWARNINGも”はい”で変換すると良いでしょう。

 

丸い球体の中心にコースティクスをベイクするガラスオブジェクト(GeoSphere019)とリフレクター(Circle080)が配置されているので、オリジナルのIESを作る場合はこちらを置換します。

ガラスオブジェクト(GeoSphere019)とリフレクター(Circle080)を非表示にするか削除して、自分で作成したガラスオブジェクトをシーンに合成します(ファイル>読み込み>合成)
例えば、caustic_with_glass_upload.max から GeoSphere002 を合成して、原点に移動し(かなり大きいので)スケールを調整します。マテリアルエディタを開くと、スロット1に”Ghange IOR HERE”というマテリアルがあります。これがガラス用のマテリアルなので読み込んだジオメトリに割当てます。

 

後はRenderCameraビューをアクティブにして、”IES from Caustics Generator”のウィンドウの”Create IES to..”ボタンを押すだけです。IESの保存先を指定しましょう。File wite sucess が出ると完了です。

 

このスクリプトには親切にも、IESをテストするシーン(V-Ray用)も付属しています。Render Test IES Sceneボタンを押すと、IESテスト用のシーンが読み込まれます。”見つからないファイル”で test.ies が見つからないと出ますが、続行ボタンでそのまま開きます。

シーンが開いたら、天井にあるVRayIESライトを選択して、先程作成したIESファイルを選択します。

 

レンダリングすると、以下のようなイメージが出ます!模様は1つのIESライトから来ています。
ノイズも少なく、コースティクス模様も非常にクリアです。面白いですね。

 

V-Ray IESライトの Intensity value を変更するとIESライトの明るさを上書きして調整できます。

IESが作成できたので、最終的なシーンを作ってみましょう。caustic_with_glass_upload.maxのシーンから、VRaySphareライトを削除し、VRayIESライトを代わりにセットし作成したIESをセットします。
ガラスオブジェクトにレンダリング用のガラスマテリアルを割り当て、オブジェクトプロパティで”影付け”のチェックを外して、このガラスオブジェクトがIESライトの照明をブロックしない様にします。コースティクスの計算は無効化します。

 

最終的なレンダリングは以下になります。このシーンではコースティクスを一切計算していません!
最終シーンと作成したIESはこちらからダウンロードできます。

 


ちなみに、面白くてミラーボールのIESも作ってみました。IESファイルはこちららダウンロードできます。

コースティクス無しでこんな表現ができます。

みなさんもIESの作成に挑戦してみてください。IESファイルはV-Ray以外にも大抵のレンダラーで利用できるので使いまわしも簡単です。

The following two tabs change content below.