MODO 機能紹介・チップスサイト このサイトでは、MODOの基本機能やチップスをご紹介していきます。

カメラ視線からテクスチャをマッピングしUVに貼り付けるには


https://www.youtube.com/watch?v=LJLOaKpYvsQ

モデルにテクスチャをマッピングする際、カメラ視点からテクスチャをマッピングしたいという場合も出てきます。今回はカメラ視点からテクスチャをマッピングするカメラマッピングの方法と、さらにそれをUVにベイクする方法をご紹介します。

サンプルシーンにはモデルが1つ用意されています。今回はわかりやすいように、拡張modoテクスチャからタイルパターンのテクスチャをマッピングしてみます。拡張modoテクスチャタイルHex Tileを追加します。このテクスチャはプロシージャルテクスチャなので、テクスチャロケータタブを見てみると、デフォルトでプロジェクションタイプソリッドとなっており、3D空間内にテクスチャがマッピングされている感じになっています。

これをソリッドからフロントプロジェクションへと変更してみます。これがカメラマッピングを行うためのプロジェクションタイプであり、カメラからマッピングするタイプとなっています。フロントプロジェクションを選択したら、投影パラメータの中にプロジェクションカメラというオプションが追加され、どのカメラから見た視点でマッピングするのかを定義できるようになっています。

通常カメラマッピングを行う場合、レンダリング用のカメラと、マッピング用のカメラとを分けたほうが自由度が高くなりますので、カメラを一台追加します。アイテムメニュー > カメラ作成でカメラを追加したら、わかりやすいようにCamer_Projectionといった名称にリネームしておきます。このCamera_Projectionを投影パラメータのプロジェクションカメラとして指定します。レンダーレイアウトで、左上のプレビューではCameraから、左下の3DビューではCamera_Projectionからの視点でビューを見てみると、Camera_Projectionを移動させるごとに出てくるテクスチャが変わってくるのがわかります。特にプロシージャルテクスチャの場合、自分の望むような模様を出したいときには、このフロントプロジェクションがおすすめです。もちろん、画像マップでも同様にフロントプロジェクションを利用することで、例えば視点から見たままの状態で写真などの画像をモデル上へとマッピングすることが可能です。

ただし、このテクスチャマッピングを再利用しようとすると、マッピングされているモデルの他に、プロジェクションのもととなるカメラも保持しておく必要があり、管理が大変になります。このため、いったんカメラマッピングがうまく設定できたら、それをUVのテクスチャへとベイクして、移し替えておくと良いでしょう。

レイヤー追加画像(新規画像)で新たに画像を設定します。後はベイクするだけなのですが、テクスチャをベイクする場合に注意する点があります。テクスチャをベイクする場合、0~1空間のUVを元にベイクすることになるため、生成する画像の解像度も幅・高さともに同一となっています。しかしフロントプロジェクションで指定しているプロジェクション用カメラの画角の縦横比が異なっていると、テクスチャに歪みが出てくる可能性があります。このためカメラのフィルム幅と高さを合わせておく必要があります。

Camera_Projectionを選択し、カメラプロパティ > フィルムバックフィルム幅高さを合わせます。設定したら、シェーダツリーからベイクする画像を選択し、右クリックでテクスチャへベイクを実行します。これでカメラから見たのと同じテクスチャが用意できましたので、後は画像タブでベイクした画像を保存すれば、カメラなしでもいつでも同じマッピング状態を再現できるようになります。

2018年8月16日