Mitsuba

Mitsuba



使い方


Cycles マテリアルを Mitsuba マテリアルに変換する方法

Mitsuba Material Utils - Convert all Cycles materials で、基本的なマテリアルは変換できる

Cycles - Mitsuba 対応状況

  • Diffuse BSDF → Diffuse (Roughness 0.2)
  • Glass BSDF → Dielectric
  • Glossy BSDF → Conductor
  • Anisotropic BSDF → Diffuse (Roughness 0.2)
  • Refraction BSDF → Dielectric (Specular Reflectance Color を Hex:000000 にすると同じ様な表現になる)
  • Mix Shader → Blended material + Material 1 + Material 2

うまく変換できなかったもの

  • Anisotropic BSDF が Diffuse (Roughness 0.2) になる
    • Mitsuba には Anisotropic Ward BRDF があるが。。。
      • Roughness の U と V の値を同じにしないとレンダリングしてくれない。。。→UV Mapping の設定をしたらレンダリングできた
      • シルバーのように明るくなり、スチールのような重みがない → Diffuse Reflectance Color を Hex:000000 にし、Specular Deflectance Color を Hex:BCBCBC 程度に暗くし、UV を 0.1 と 0.5 程度にすれば良い感じになった
  • Group化してあるマテリアルが、ただの Diffuse
  • Displacement は無視される
    • 自分でバンプマッピング設定して対応
  • SSS が Mitsuba BSDF Material - Plastic & Mitsuba Subsurface - int. Media - Dipole Subsurface に
    • Mitsuba BSDF Material を外して、Dipole Subsurface の Scale を 3.0 とかで調整すると良い感じ? (なかなか同じ様にならない…)
  • Translucent が Diffuse
    • Diffuse と Dielectric のミックスにすると近づく? (なかなか同じ様にならない…)
  • World は無視される
    • Sky を使用したい場合は、Sun Lamp を作成し、Sky Type を Sun & Sky や Sky Only にする
    • IBL を設定したい場合は、Hemi Lamp を作成し、Type を HDRI environment map にして HDRI file を指定する


レンダリング関連設定


フォトンマッピング

Render タブの Mitsuba Integrator Settings の Type を Photon Mapper に切り替える

ノイズを減らす

Render タブの Mitsuba Sampler Settings の Pixel samples を 16 から増やす

Mix

2 つ以上のマテリアルをミックスできる
  1. 上の material slot に、ミックスをコントロールするマテリアル (A とする) と、ミックスするマテリアル (B, C とする) を作成
  2. material slot で マテリアル B を選択し、下のパレットで設定する
  3. material slot で マテリアル C を選択し、下のパレットで設定する
  4. material slot で マテリアル A を選択
    1. 下のパレットの Mitsuba BSDF Material で Type を Mixture material に設定
    2. Components を 2 (ミックスするマテリアルが 3 つの場合は、これを 3 とする)
    3. Material 1 に、マテリアル B を選択し、Weight (0.00 - 1.00) を指定
    4. Material 2 に、マテリアル C を選択し、Weight (0.00 - 1.00) を指定
    • Material 1, 2 の合計が 1.00 にならなくても良いようです


その他


IBLの設定方法

Hemi Lamp を作成し、Lamp タブの Mitsuba Hemi Lamp - Type: HDRI environment map にして、HDRI file を設定
マッピング位置の回転は、Hemi Lamp オブジェクトそのものを回転したらできた


レンダリングを実行しても直ぐに終わってしまい結果が表示されない場合

マテリアルの設定でエラーが発生している事が多い
Render タブの Mitsuba Engine Settings - External Type を Mitsuba Console から Mitsuba GUI に切り替えてレンダリングを実行すると、Mitsuba renderer が起動する場合は、Loading 中のエラー内容からどこがエラーになっているかを読み取ってみる


mitsuba logo を外す

アクティブカメラを選択し、カメラタブの Mitsuba Film - Mitsuba Logo をオフ


マスクを使用したテクスチャ

  1. マスク用マテリアル A と、そのベースとなるマテリアル B をスロットに作成
  2. マテリアル B を設定
    1. テクスチャタブに表示させたいテクスチャ B を設定
    2. マテリアルタブで Diffuse 等を設定し、Reflectance Color でテクスチャ B を選択
  3. マテリアル A を設定
    1. テクスチャタブでマスク用テクスチャ A を設定
    2. マテリアルタブで、Mitsuba BSDF Material の Type を Opacity mask にする
    3. Opacity Material にマテリアル B を選択
    4. Opacity Mask でテクスチャタブで設定したテクスチャ A を選択
この設定により、テクスチャ A の黒い部分が透け、白い部分が残り、その残った部分に、マテリアル B で設定した色もしくはテクスチャが表示される
ちなみに、Integrator が Direct Illumination だと透けないので Photon Mapper にする

  • アルファチャンネルをマスク → アルファチャンネルは無視される
  • 指定色をマスク → マスクしたい色の指定はできず、Hex:000000 で 完全にマスクし、Hex:FFFFFF で 完全にマスクされない
    • テクスチャとして表示したい画像ファイルと、マスク用の白黒ファイルの二つを用意する必要がありそお
    • 真っ黒の部分が透過するが、そこに何かがあったことが分かるようなノイズが若干発生している → ドキュメントの絵でも確認できたので限界っぽい
  • テクスチャの影が落ちないようにする→Cycles の様にレイタイプで制御することはできない
    • テクスチャ用のシートにテクスチャを貼り、それをオブジェクトの上に配置する方式では影が落ちそう
    • オブジェクトの必要箇所にテクスチャを貼れる方法を検討せねば。。。


部分的なテクスチャを正確な位置に設定する方法

イラレから画像を作る際、位置合わせようの画像と、テクスチャ用の画像を作成
位置合わせ用の画像は、形状の輪郭や穴の部分が分かるようにしておく
テクスチャ用の画像は、穴の部分を埋め、実際に表示されて欲しい色にしておく
これらの画像のサイズや位置は同じにしておく
3D-CAD 上で、位置合わせ用の画像と同じ位置に当たるフェースをアンソーしデータ変換するか、Blender でそのフェースのみをセパレートする
Blender の UV/Image Editor で位置合わせ用の画像を Open し、テクスチャを割り当てるフェースをテクスチャ画像と同じ向きに同じ角度で見ておき、Editor モードに入り、Project From View で UV マッピングして、位置を合わせる
スケーリングが必要な場合は、XY一律でスケーリングするのが望ましい (一律でスケーリングできないということは、テクスチャ画像とフェースの見てる角度が違うと言うこと) が、必要に応じて各軸でスケーリングを行う
が、部分的にスケーリングするとずれるので、スケーリングは全ポリゴンに対して行う
UV マップ内での部分的な移動は、テクスチャのずれやゆがみが発生するので極力行わないようにする
それでもずれが発生するときは、縦横のエリアがハッキリと分かれている単位で移動し、ゆがみができないように注意する
テクスチャの Wrapping U/V を Clamp にすることで、テクスチャ画像の端の色を延長て利用してくれるので、ポリゴン内の一部にのみテクスチャを割り当て、周りのポリゴンにはテクスチャを割り当てずに色のみ割り当てたい場合は、この設定にする


バンプマッピング

  1. バンプ用マテリアル A と、そのベースとなるマテリアル B をスロットに作成
  2. B に Diffuse 等を設定
  3. A を設定
    1. Mitsuba BSDF Material の Type を Bumpmap map modifier にする
    2. テクスチャタブでテクスチャを設定
    3. Bumpmap material にマテリアル B を選択
    4. Bumpmap Texture でテクスチャタブで設定したテクスチャを選択


うまくいかないこと

  • マテリアル名の変更に追随しない
    • 例えば、Mixture material で、複数のマテリアルをミックスしている際、いずれかのマテリアル名を変更すると、Mixture material で指定しているマテリアル名は自動的には変更されず、自分で選択し直す必要がある
    • これをやらずにマテリアル設定が不備な状態となり、レンダリングが実行できないことがあった
  • Addons - Material: Material Utiles でマテリアルを割り当てると、複数スロットのあるマテリアルは、一番上のスロットしか割り当てられない
    • 複数のスロットを使用しているマテリアルは、Make Links - Materials を利用すると全スロットも割り当ててくれる
  • Border を指定したレンダリングを行うと、位置がずれる → カメラにシフト設定されていたからか? → シフト設定関係なかった
  • Dielectric で Int. IOR を 1.00 にするとレンダリングが実行されない (1.01 にするとレンダリングできる)
  • Roughness を U と V の値を別々に設定できても、同じにしないとレンダリングが実行されない → UV Mapping の設定をしたらレンダリングできた
  • レンダリング実行時の Render プログレッシブバーの進行状況は当てにならない
  • Camera の Shift 設定が無視される
  • マテリアル名に指定できない文字がある
    • &
  • Mitsuba Subsurface - Int. Media の Dipole Subsurface で、Preset name に "Pepsi" を指定したら、メモリ・CPUともマックスに。。。
    • どうやらプレビューの為の処理でメモリをガンガン使用している様子
    • プレビュータイプを Flat にすると Pepsi も使用できた


レンダリングできない場合

以下の事が考えられます

  • Microsoft Visual C++ がインストールされていない
  • マテリアルの設定がおかしい場合
    • テクスチャやマテリアルで UV に関連する設定があるにも関わらず オブジェクトを UV mapping していない
    • テクスチャやマテリアルで設定しているイメージファイルが見つからない
    • 組み合わせられないマテリアルをミックスしている


メモ


  • Mitsuba Sampler Settings - Pixel samples は段階式? (要確認)
    • 例えば、26spp でも 30spp でもレンダリング時間にたいした違いがでない
      • クオリティに違いは出るか?
      • Photon Mapper だからか?
      • Irradiance Cache を使用しているからか?
    • 段階式だとしたらピッチは?

  • Photon Mapper では、Russian roulette 式だからなのかレンダリング結果が一様ではない
    • 同じ条件でレンダリングしなおすと、ノイズ等の発生パターンが毎回変わる
    • 部分レンダリングの切り貼りには利用できなさそう…
      • Border を使用して部分レンダリングするとずれるので、そもそも部分レンダリングは考えることができないか

  • Cycles にある Holdout や Is Camera Ray を利用した カメラ直接映り込まないオブジェクトを配置することはできるか?

  • レンダリング時の Tiles サイズは変えられるか?

  • Depth of Field の設定方法は?
    • カメラを選択し、Camera タブの Depth of Field - Use Depth of Field にチェックし、DOF Aperture Radius を設定

  • テクスチャ部分だけ表面処理を変えることはできるか?
    • グロス系のマテリアルに、マットな材質でペイントされている感じを出す方法は?
      • 光沢のある Plastic 上に、Diffuse のテクスチャを乗せたいが、Mixture で混ぜると、テクスチャにも光沢感が出てしまう
      • 今のところ、マテリアルは Plastic のみを使用し、画像を以下の 2 つ用意して対応
      • -色用のテクスチャ : Diffuse で表現したいテクスチャ部分と、その周りのベースの Plastic の色を含んだもの
      • -ラフ用のテクスチャ : Diffuse で表現したい部分のみ真っ白くし、その他を真っ黒にしたもの
    • Translucent 的な材質上に印刷されている感じを出す方法は?
      • ↑の方法では、印刷部分まで透けてしまう
      • この場合は、Opacity mask を使うしか無さそう
      • Opacity mask を使った場合、透過部分のノイズを軽減する方法を調べる必要がある

  • Russian roulette starting depth を 0 にすると、Path Tracer 等一部のインテグレータによるレンダリングができない

  • 面の裏表に注意
    • Emitter は、表面方向にしか放射されない
    • テクスチャも表面方向にしか表示されない
      • 裏面にも表示したい場合は、Two-sided BRDF adapter




コメントを投稿するには画像の文字を半角数字で入力してください。


画像認証

  • 最終更新:2014-05-22 11:12:26

このWIKIを編集するにはパスワード入力が必要です

認証パスワード