現在位置: ホーム / shade+OSX / 練習-補遺

練習-補遺

鍋を作成していて気がついたことなど。

練習編で書ききれなかった事柄について、ここにまとめておきます。不定期で追加更新するかも。

 

UVマップについて

こんなことは一番最初にやれ、という声が聞こえてきそうな内容だが、敢えてここで。そもそもUVマップの「U」と「V」は、軸の名前である。3Dのモデルを作成する場所が、XYZ軸の空間であるのに対して、テクスチャは2Dの平面なので、通常の書き方をすると、XY平面、と言うことになる。

3D座標軸2D座標軸

ところが、この二つが同じ場所にあったら、どうなるだろうか。テクスチャマッピングが、まさにこれに相当する。

「テクスチャをマッピングする」とは、「特定のポリゴン面(3D座標軸)に対して、指定した位置の画像(2D座標軸)を貼り付ける」ということ。この説明だけでも、十分にややこしいかも知れないが、これをさらにコンピューターっぽく記述すると、「座標X1Y1Z1のピクセルに、座標X1Y1のテクセルをマッピングする」となる。

なんの呪文だ、これは。

しかも、文の最初の「座標X1」と、中程の「座標X1」は、まったく別のものを指している。ややこしいを通り越して、理解不能。

 

いくらなんでも、これではたまらない。というわけで、少しでもわかりやすくするために、座標軸の名前を変える。一般的に、X軸は「U軸」または「S軸」に、Y軸は「V軸」または「T軸」に変えられる(このマナーは、数学から来ている。高等学校の数学で、たまに出てくる)。

2D座標軸の別名

つまり、テクスチャをマッピングするとは、「3D座標軸XYZで指定されたポリゴンに、2D座標軸UV(またはST)で指定された絵を貼り付ける」となる。

UVマッピングイメージ

ペッタンコ。

これを、UVマッピングという。

 

さらに、コンピューターで平面座標をあらわす場合、Y座標が上下ひっくり返ることがあるのだ。困ったことに。

2D座標軸の別名

理由については、考えない方がいい。考えない方が幸せになれる。

どうしても知りたい場合は、コンピューター発展の歴史迷路(混沌の極み)に足を突っ込む覚悟をしてから、ネットを徘徊すると良い。

 

話を元に戻して。この座標軸が、つまりUVマッピングの座標、と言うことになる。もう少しわかりやすく描き直すと、

UVマップ座標軸

となる。

 

では、なぜ座標軸の単位が、0.0〜1.0となっているのか。練習編で貼り付けたテクスチャは、一辺256pixelだから、ピクセルなら、1.0となっているところは、本当なら256のはずだ。

結論から言うと、この数値は「比率」を現している。0.0が0%、1.0が100%に相当する。これを256pixelの画像に当てはめると、0.5のところは、256*0.5=128で、128ピクセル目を現す。このように比率で指定するようにすることで、仮にテクスチャのサイズが変わった場合でも、UVマップの座標を変更する必要が無いというメリットが生まれる。

モデル作成者には、UVマッピングをした後から「もっと細かくテクスチャを描く」必要が出てきた場合でも、再マッピングが不要でテクスチャサイズを変更できるメリットがある。プログラムに詳しい人なら、これにより「ミップマップ生成時にUVを再計算せずに済む」メリットもあることを理解できると思う。

 

斜めからUVマッピング

たとえば、以下のようなモデルに、テクスチャを貼り付けたい場合を考えてみる。上面、右面図からダイレクトに貼り付けてしまうと、垂直に立ってしまう面があり、UVマップが一部潰れてしまう。そこで、矢印のような角度から貼り付けようと考えたとする。

斜めマッピング#1

こんな場合も、じつは「ろくろ機能」が使える。なんと、UV作成の「投影」「○面図」で適用される座標は、ろくろ機能で回転させた位置から行われるのだ。

斜めマッピング#2

上図は、ろくろ機能で回転させた後で、「投影」「上面図」でマッピング後、単純移動でマップ範囲からはみ出した部分を見えるようにしたもの。大きさや、UVマップ上での基本位置については「ろくろ」前の形状を元に算出されるらしく、UV画面よりも大きかったりはみ出したりするが、各ポリゴン(頂点)の比率は表示状態を引き継いでいる。

使いどころが限られるし、作成後の微調整が必要なのは変わらないが、知っておくとちょっと便利かも。

 

UVマップで頂点を整列

UVマップエディタでも、ポリゴンメッシュ編集で使用できるコマンドの幾つかが、そのまま使用できる。使用する条件は、図形ウインドウでUVマップを選択している(UVのタイトルバーが濃いグレーになっている)こと、

UV作成#16

 

そして、頂点編集モードになっていること。

頂点選択モード

 

この状態で、操作したい対象の頂点を選択状態にして、[メッシュ]-[整列]-[...]にあるメニューの幾つかが利用できる。

UVマップ編集メニュー

 

たとえば、[上下の中心に整列]を実行すると、

UVマップ整列前

実行前

UVマップ整列後

実行後

こんな感じになる。[数値入力...]と併せて、マニピュレーターでは調整しにくい微調整をしたい場合に有効な手・・・なのだが、ローポリだと、これが必要なほど厳密にマッピングする場面はないかも。