テクスチャマッピングとUVの概念

レンダリングにおいて画像を利用したテクスチャマッピングは便利な機能ですが、意図した結果にならないことがあります。サーフェスのUVの概念を理解することにより解決出来るかもしれません。Rhinoレンダーでは、Rhinoオブジェクトでは簡単なテクスチャマッピングをサポートしています。一番簡単なマッピングの方法は、1枚のサーフェスにテクスチャをマッピングする方法です。

クスチャをマッピングするには、プロパティーダイアログで、”マテリアル”、”標準”で、”テクスチャ”を選択して画像を割り当てます。

このとき、サーフェスの属性情報によってマッピングされる向きが意図した方向に向いていない事がおきることがあります。サーフェスは、内部にUV空間という2次元の領域情報を持っています。これは我々が普段、認識しているXY空間に似ていますが、サーフェスの持つU,Vのパラメーターの方向は、単純にお互いに直交する方向にあれば良いという規則ですので、U,V方向がXY空間でいうところのX方向、-X方向、Y方向、-Y方向のどの方向にも向くことがありえます。単純な矩形のサーフェスに、テクスチャをマッピングしてみましょう。そのときは、可能性としては左図のような8つのマッピングが結果として出てきます。

れを意図してマッピングの方向を変更するには、方向分析コマンド(dirコマンド)で、UV方向を変えることによって調整出来ます。Dirコマンドは、UV方向の、反転、入れ替え、面の方向を切り替えることが出来ます。

次に、ポリサーフェスにマッピングするとどうなるでしょうか?単純にマッピングすると、左図のように、ポリサーフェス全体にマッピングしている状態なっているはずです。

ここで、テクスチャマッピングという項目の、高度な設定を利用してマッピングを調整することが出来ます。

左図は、マッピングを直方体、平面に設定した例です。詳細は、Rhinoのヘルプで、” プロパティ: テクスチャマッピング”を参照してください。

仮に、この例で直方体の上部だけ、テクスチャマッピングをしたい場合は、その面だけ、ポリサーフェスから外して、テクスチャマッピングします。このとき、マッピングされる方向がおかしい場合は、先のdirコマンドで方向を合わせます。またマッピングされる領域が一部であったり、不足する場合は、高度な設定で、”平面”を選びます。しかしながらこの方法ではサーフェスを再度、結合してポリサーフェスにした場合、このレンダリング状態は保てません。

以上がRhinoレンダーでのテクスチャマッピングですが、より高度かつ柔軟なマッピングをする場合はやプラグインのレンダラーを使用します。

ここでは、Flamingo2.0の例を紹介します。Flamingoでは、テクスチャマッピングを行う場合、Decale(デカール)という機能を使用します。デカールは、マッピングの方法として、Planar(平面)、Clyndrical(円柱状)、Spherical(球状)、UV という4種類のマッピングがあります。

詳細はヘルプにありますが、ここでは、Planarでのマッピングを紹介します。Planarはテクスチャマッピングを対象とするオブジェクトに対して、どのような平面を参照してマッピングするかを指定します。

あらかじめそのマッピング領域を2次元の矩形で作成しておくことにより、意図した領域にテクスチャをマッピングすることが出来ます。

Decale指定がうまく行くとFlamingoレンダーで左図のようにテクスチャマッピングされてレンダリング出来るはずです。

モデルサンプルは下記からダウンロード出来ます。

Rhinoレンダリングサンプル
Flamingo 2.0 レンダリングサンプル

UVの考え方は、テクスチャマッッピングだけでなくモデリングにも役立ちます。