この資料でできること
- Blender に LuxCoreRender を導入し、レイトレーシングによるレンダリングをします。
- ガラス・鏡・ディスプレイを再現できます。
- 色収差も再現可能です。
Blender への LuxCoreRender の導入
- 以下のページの指示に従うだけですが、こちらでも書き起こします。最新のインストール方法に関しては、以下を参照したほうが良いと思います。
-
LuxCoreRender のサイトへアクセスし、BlendLuxCore をダウンロードします。
-
今回は Stable 版を使います

-
BlendLuxCore-2.10.0.zipなどがダウンロードできます
-
Blender を起動し、
Edit→Preferenceを選択
-
Get Extensionsタブ → 右上vマーク →Install from Diskを選択
-
ダウンロードした
BlendLuxCore-2.10.0.zipを選択します。 -
Add-ons に BlendLuxCore が追加されます。GPU API について、デフォルトでは OpenCL になっていますが、GPUでレンダリングする場合、個人的には Cuda がお勧めです。(過去にOpenCL でよく分からないエラーが出たことがあったからです。ただし今のバージョンでは分かりません。)

-
ここではなぜか GPU を選択できないことがあるようなので、一旦 Blender を再起動します。
-
再起動後もう一度 Preferences の Add-ons を開き、 Film Device を GPU に設定します(再起動時に自動でセットされているかもしれません)。

レンダリング前の準備
-
適当なシーンを用意します。

- 今回はダイヤモンドと板と光源とカメラだけ配置されたシーンを用意しました。
レンダリングエンジンの設定
-
Properties の
Renderタブを選択し、Render EngineをLuxCoreRenderにします。Compute device は環境に合わせて CPU or GPU にします。Lighting integrator はPathtracingで良いと思います。
- マニュアル作成時に再現できなかったのですが、GPU選択時に OpenCL がどうとかのエラーが出た記憶があります。clinfo?か何かを入れて直った気がします。同様のエラーが出た方は教えてください。
-
レンダリング時間短縮のため、サンプリング停止条件を設定します。同じく
Renderタブ内にあるHalt Conditionsにチェックを入れ、トグルを開きます。今回は、Use Samplesにチェックを入れ、サンプル数を 1024 に設定しました。
-
背景色を真っ黒にしたければ、Properties の
WorldタブのWorld LightでNoneにします。
マテリアルの設定
- LuxCoreRender 独自のマテリアルを設定する場合の例を紹介します。今回は「光源」「鏡」「ガラス」の例を紹介します。
-
準備
-
Shadingタブを開きます。また、Properties のMaterialタブを選択します。
-
マテリアルを設定したいオブジェクトを選択(アクティブ化)します。
-
光源マテリアルの設定
- メモ:以下はあくまで設定例です。他の方法もあるかもしれません。
-
MaterialタブのNode Tree PresetsからDisneyを選択します。
-
ShadingタブのMaterial Nodesにいろいろ表示されます。
-
Disney MaterialのEmissionの右の+Addというボタンを押します。Emissionというノードが追加されます。
-
単色で良い場合は、Emission ノードの Color で色を設定するだけでOKです。画像などを光源として使用したい場合は、以下の手順に従います。
-
Material Nodes の
Add→Texture→Imageを選択します。
-
Imagemapというノードが追加されるので、Open を押し、任意の画像を設定します。
-
Imagemap の Color と、Emission の Color を繋ぎます。

-
-
その他、必要に応じて以下などを設定します。

Unit- 明るさの単位を設定できます。
- その下の数値入力欄で、光源の明るさを適宜設定します。
-
Spread Angle-
光源の拡散角を指定できます。ルーバーを貼り付けたみたいになります。

-
最大値が90度で、90度のときは(表面の)すべての位置から見えるようです。
-
ガラスマテリアルの設定
-
MaterialタブのNode Tree PresetsからGlassを選択します。

-
必要に応じて、Glass Material ノードについて屈折率や分散などを設定します。
- 屈折率(IOR)・分散(Dispersion)に関する資料
-
以下は、上記ページに載っていた表です。以下を目安に設定しても良いと思います。
Material IOR Dispersion Water 1.3244 0.0031 Window Glass (Soda Lime) 1.5111 0.00425 Acrylic (PMMA) 1.4767 0.0048 Prism Glass (N-SF11) 1.7387 0.0159 Diamond 2.3818 0.0121 Sapphire 1.7522 0.0055
ミラーマテリアルの設定
-
単純な鏡であれば、
MaterialタブのNode Tree Presetsから Mirror を選択しておしまいです。

-
Roughness 等も設定したい場合は、Metal などを使っても良いかもしれません。

レンダリング
- ダイヤモンドを色収差あり・無しでレンダリングします。
-
今回使用したシーン
- ダイヤモンドのモデルはこちらを拝借しました
-
通常通り、Render → Render Image でレンダリングできます。
-
色収差無し(Dispersion = 0)

-
色収差有り(Dispersion = 0.0121、ダイヤモンド)

-
レーザー光とプリズムによる光の分散のレンダリング
-
次のように、白色のレーザー光がプリズムに当たり、波長ごとに光が分かれる様子をレンダリングします。

製作済み Blender ファイル
-
Lighting integrator を、
Bidirectionalに設定します。Path tracingではレーザーのような細い光のレンダリングが難しいからです。

- Bidirectional はGPUレンダリングに対応しておらず、CPUレンダリングになってしまうようです。
-
プリズムと適当な立方体(レーザー光を拡散しカメラから見えるようにするため使用)のためのメッシュを配置します(上の画像参照)
-
レーザーの光源となる
Area lightを適当な位置に配置します。ライトを選択した状態で、Properties タブの Object data properties (電球マーク)を選択し、以下を設定します。

- Laser にチェックを入れる。
- Unit を Lumen に変更し、値を 50 程度の任意の値にする。
- Size を 0.01 程度にする。
-
上の Shading タブを開きます。また、右下の Material Properties も選択します。

-
プリズムのマテリアルを次のように設定します。
-
Material Properties の中から、Glass プリセットを選択します。(上の画像参照)
-
Add -> Volume -> Homogeneous を選択し、
Homogeneous Volumeのノードを追加します。

-
Homogeneous VolumeのVolumeと、Material OutputのInterior Volumeを繋ぎます。また、以下の値を設定します。

- Homogeneous volume の IOR(屈折率)を任意の値に設定する。
- Glass material の Dispersion (分散の値)を任意の値に設定する。
- Scattering scale を 0.05 程度に設定する。
-
ここで一度、プリズムだけでレンダリングしてみてください。以下の画像のように光線が描画されたらOKです。

- なぜか正しく描画されないことがあります。その場合、プリズムのカメラ側の面(光線の入射・出射に寄与していない Face)を削除すると、正しく見えるようになることがあります。正攻法の解決策をご存じの方いらっしゃいましたら、教えていただけると幸いです。
-
-
プリズム外のレーザーの光を視認可能にするためのフォグ状のマテリアルも同様に設定します(プリズムの外側の立方体に適用するマテリアルです)。以下の画像を参考にしてください。

-
プリズムの角度を適当に調整し、レンダリングしてみてください。

