メモ

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 にならなくても良いようです


メモ


Pixel samples は段階式?

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


レンダリング結果が一様ではない

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


カメラ直接映り込まないオブジェクトは?

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


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

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


レンダリングに使用する CPU のスレッド数は固定できないか?

全 CPU を使用してしまうので、他の作業が止まる


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 を使った場合、透過部分のノイズを軽減する方法を調べる必要がある


面の裏表に注意

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


IBLの設定方法

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


Render Statisics を外す

レンダリング結果の上部にある「Integrator:~」を消す方法。
アクティブカメラを選択し、カメラタブの Mitsuba Film - Render Statisics をオフ

mitsuba logo を外す

レンダリング結果の右下にある「RENDERED USING MITSUBA」を消す方法。
アクティブカメラを選択し、カメラタブの 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 していない
    • テクスチャやマテリアルで設定しているイメージファイルが見つからない
    • 組み合わせられないマテリアルをミックスしている
    • 設定すべき項目に未設定部分がある

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

  • 特に設定を変更したわけでもないのに突然レンダリングできなくなる
    • [WinError 32] □□~□□: 'C:/Users/~/AppData/Local/Temp//~.00001.png' とエラーが表示され、レンダリングできなくなる
    • 文字化けしてるがメッセージをコピーしてみると「[WinError 32] プロセスはファイルにアクセスできません。別のプロセスが使用中です。」と表示されていた
    • ファイルを保存して、Blender を再起動して再度レンダリングしてみると、何事もなくレンダリングしてくれます


マテリアルが真っ黒になった

Mitsuba Subsurface - Int. Media で Dipole Subsurface にし、Scattering Coefficient で色を変えたらマテリアルプレビューでも真っ黒になり、実際のレンダリングも真っ黒になった
Scattering Coefficient の色で、RGB のいずれかが 0.00 になると真っ黒になってしまうっぽい


Stamp の設定

Blender や Cycles で Stamp を有効にしていると、Mitsuba でもレンダリング後にスタンプされてしまう
Mitsuba では Stamp の設定を変更することができないので、一度 Render を Blender もしくは Cycles に変更し、Stamp をオフにしてから、Mitsuba に戻す


Pack into .blend できない

Mitsuba のマテリアルで利用している外部画像ファイルを blend ファイル内にパックしようとしてもできない
なので、ファイルをどこかに送るときや、フォルダ構成が変更される場合は、外部ファイル共々扱わないといけないっぽい
注意が必要そう






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


画像認証

  • 最終更新:2014-05-30 14:43:26

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

認証パスワード