LuxCoreRender の使い方 (with Blender)

この資料でできること

  • Blender に LuxCoreRender を導入し、レイトレーシングによるレンダリングをします。
  • ガラス・鏡・ディスプレイを再現できます。
  • 色収差も再現可能です。

Blender への LuxCoreRender の導入

  1. LuxCoreRender のサイトへアクセスし、BlendLuxCore をダウンロードします。

  2. Blender を起動し、EditPreference を選択

    image.png

  3. Get Extensionsタブ → 右上vマーク → Install from Disk を選択

    image.png

  4. ダウンロードしたBlendLuxCore-2.10.0.zip を選択します。

  5. Add-ons に BlendLuxCore が追加されます。GPU API について、デフォルトでは OpenCL になっていますが、GPUでレンダリングする場合、個人的には Cuda がお勧めです。(過去にOpenCL でよく分からないエラーが出たことがあったからです。ただし今のバージョンでは分かりません。)

    image.png

  6. ここではなぜか GPU を選択できないことがあるようなので、一旦 Blender を再起動します。

  7. 再起動後もう一度 Preferences の Add-ons を開き、 Film Device を GPU に設定します(再起動時に自動でセットされているかもしれません)。

    image.png

レンダリング前の準備

  1. 適当なシーンを用意します。

    image.png

    • 今回はダイヤモンドと板と光源とカメラだけ配置されたシーンを用意しました。

レンダリングエンジンの設定

  1. Properties の Render タブを選択し、Render EngineLuxCoreRender にします。Compute device は環境に合わせて CPU or GPU にします。Lighting integrator は Pathtracing で良いと思います。

    image.png

    • マニュアル作成時に再現できなかったのですが、GPU選択時に OpenCL がどうとかのエラーが出た記憶があります。clinfo?か何かを入れて直った気がします。同様のエラーが出た方は教えてください。
  2. レンダリング時間短縮のため、サンプリング停止条件を設定します。同じく Renderタブ内にある Halt Conditions にチェックを入れ、トグルを開きます。今回は、Use Samples にチェックを入れ、サンプル数を 1024 に設定しました。

    image.png

  3. 背景色を真っ黒にしたければ、Properties の World タブの World LightNone にします。

    image.png

マテリアルの設定

  • LuxCoreRender 独自のマテリアルを設定する場合の例を紹介します。今回は「光源」「鏡」「ガラス」の例を紹介します。
  • 準備

    • Shading タブを開きます。また、Properties の Material タブを選択します。

      image.png

    • マテリアルを設定したいオブジェクトを選択(アクティブ化)します。

光源マテリアルの設定

  • メモ:以下はあくまで設定例です。他の方法もあるかもしれません。
  1. Material タブの Node Tree Presets から Disney を選択します。

    image.png

  2. Shading タブの Material Nodes にいろいろ表示されます。

    image.png

  3. Disney MaterialEmission の右の +Add というボタンを押します。Emission というノードが追加されます。

    image.png

  4. 単色で良い場合は、Emission ノードの Color で色を設定するだけでOKです。画像などを光源として使用したい場合は、以下の手順に従います。

    1. Material Nodes の AddTextureImage を選択します。

      image.png

    2. Imagemap というノードが追加されるので、Open を押し、任意の画像を設定します。

      image.png

    3. Imagemap の Color と、Emission の Color を繋ぎます。

      image.png

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

    image.png

    1. Unit
      • 明るさの単位を設定できます。
      • その下の数値入力欄で、光源の明るさを適宜設定します。
    2. Spread Angle

      • 光源の拡散角を指定できます。ルーバーを貼り付けたみたいになります。

        image.png

      • 最大値が90度で、90度のときは(表面の)すべての位置から見えるようです。

ガラスマテリアルの設定

  1. Material タブの Node Tree Presets から Glass を選択します。

    image.png

    image.png

  2. 必要に応じて、Glass Material ノードについて屈折率や分散などを設定します。

ミラーマテリアルの設定

  • 単純な鏡であれば、Material タブの Node Tree Presets から Mirror を選択しておしまいです。

    image.png

    image.png

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

    image.png

レンダリング

  • ダイヤモンドを色収差あり・無しでレンダリングします。
  • 今回使用したシーン

    LuxCoreRender_Dispersion.zip

  • 通常通り、Render → Render Image でレンダリングできます。

    • 色収差無し(Dispersion = 0)

      white.png

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

      dispersion.png

レーザー光とプリズムによる光の分散のレンダリング

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

    製作済み Blender ファイル

    LuxCoreRender_Prism.zip

  1. Lighting integrator を、Bidirectional に設定します。Path tracing ではレーザーのような細い光のレンダリングが難しいからです。

    • Bidirectional はGPUレンダリングに対応しておらず、CPUレンダリングになってしまうようです。
  2. プリズムと適当な立方体(レーザー光を拡散しカメラから見えるようにするため使用)のためのメッシュを配置します(上の画像参照)

  3. レーザーの光源となる Area light を適当な位置に配置します。ライトを選択した状態で、Properties タブの Object data properties (電球マーク)を選択し、以下を設定します。

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

  5. プリズムのマテリアルを次のように設定します。

    1. Material Properties の中から、Glass プリセットを選択します。(上の画像参照)

    2. Add -> Volume -> Homogeneous を選択し、Homogeneous Volume のノードを追加します。

    3. Homogeneous VolumeVolume と、Material OutputInterior Volume を繋ぎます。また、以下の値を設定します。

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

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

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