今回はUVマッピングの話です。UVマッピングでも基本的なところだけ説明します。BlenderにはUVマッピング関連についても多彩な便利機能が用意されていますが、基本的な作業の流れは変わりません。多機能な部分は、ここでは説明しませんので、私の著書のBlender2.6マスターブックなどを参照してください(またさりげなく?宣伝)。
以下のチュートリアルでは、トミー君の上着にBlenderロゴのテクスチャを貼りつけます。
Step 1
トミー君を選択します。プロパティ・エディターの「モディファイアー」タブを開きます。このトミー君にはミラーモディファイアーが使われており、体の半分がミラーです。ロゴを胸の部分に貼り付けるには不適当なので、ミラーを適用して、ミラーで作られていた片側をメッシュデータに変換します。パネルの「適用(Apply)」ボタンを押します。
Step 2
ここでUVマッピングとはどういうものか説明します。UVマッピングは、オブジェクトの表面を二次元の展開図にしたものにテクスチャを貼りつけることで、立体的に回り込んだ部分にもテクスチャが引き伸ばされることなく貼り付けられるようにするものです。ですので、貼り付けようとするものはアジの開きのように二次元に展開する作業がまず必要になります(UV展開という)。
「Tab」キーを押し、編集モードに移ります。首のところの頂点を選択します(ループ選択)。
Step 3
「Ctrl」+「E]キーを押して、「シームを付ける(Mark Seam)」を選択します。このシームというのは、2次元に展開するときの切れ目になります。シームを削除するには、削除したいシームの付いた辺を選択して、メニューの「シームのクリア(Clear Seam)」を選択します。
[GARD]
シームを付けた部分は編集モードで赤線になるので、それで識別することができます。選択しているとオレンジ色が重なっているので、非選択の状態にすると、下図のようになります。
Step 4
今度は手の付け根の部分にシームを付けます。両手に行ってください。クリースを付けた部分と同じ位置です。
Step 5
お腹の上着とパンツを分ける部分にもシームを入れます。こちらもクリースを付けた部分と同じ位置です。
Step 6
上着の部分がこれで分離できましたが、このままでは2次元に展開できないので、図のように半分になるようにシームを入れます。まず、左側の首から方、腕の上の部分を通る辺を選択し、シームを入れます。
そして、手首のシームを入れた部分から、腕の下側、脇、腰とつながる部分にシームを入れます。
Step 7
同様にして、右側にもシームを入れます。
Step 8
3Dビューの右上にある斜線マーク部分を左にドラッグして、画面を2つに分割します(エディターの分割方法はこちらで説明しました)。
Step 9
分割したエディターの右側のエディターのヘッダーにあるエディタータイプメニューから「UV/画像エディター」を選択します。
Step 10
UV/画像エディターが表示されると、グレーの画面が表示されています。これはレンダリングしたときの画面が表示されるのですが、まだ1回もレンダリングしていない状態の場合、何も表示されていません。UV/画像エディターに何が表示されているかは、ヘッダー部分下図の部分で知ることができます。右にある「×」ボタンを押してください。これでレンダリング画面は表示されなくなります。
Step 11
左側の3Dビューの表示が狭いときは、「N」キーとか「T」キーを押して、横に表示されているシェルフを非表示にすると良いでしょう。
「Ctrl」+「Tab」キーで面選択モードにします。そして、上着の上にマウスカーソルと重ね、「L」キーで図のように選択します。面選択モードの場合、シームで区切られている部分でリンク選択の範囲も区切られます。
Step 12
3Dビュー上にマウスがある状態で、「U」キーを押し、表示されたメニューから「展開(Unwrap)」を選択します。
すると、UV/画像エディター上にUV展開されたものが表示されます。
Step 13
上図のように展開図は胸の部分など曲線を描いています。ここにテクスチャを貼りつけると、オブジェクトに貼りつけられたときにテクスチャが曲がって表示されてしまいます。特にテクスチャに模様があるときは模様が歪んでしまうので、そのような部分がある場合には、その部分をまっすぐにしておく必要があります。この操作は、テクスチャを貼りつけた後に実際に3Dビューで貼り付けた状態を確認しながらできるので後回しにしても構いません。
ここでは胸の部分の頂点を整列させます。下図のように整列させたい頂点を選択します。横方向(X軸方向)に整列させたいときは、「S」キー、「X」キー、0を入力で整列します。縦方向には「S」キー、「Y」キー、0を入力です(UV/画像エディターでは横=X軸、縦=Y軸に対応しています)。
または、頂点を選択した状態で、UV/画像エディター上にマウスがある状態で「W」キーを押すと、「溶接/整列(Weld/Align)」メニューが表示されるので、そこから「X軸で整列」や「Y軸で整列」を選択しても行うことができます。補足ですが、上図ではメニューがGif画面から外れてしまうので、「S」キーを使った方法をしているだけで、特に意味はありません。好きな方で実行してください。
Step 14
UV/画像エディター上で「A」キーを押して、全ての頂点を選択します。そして、「P」キーを押します。これでピン止めします。これは他の部分をUV展開する際に、今まで編集した部分も選択していると、UV展開時に再計算されて、最初の状態に戻ってしまいます。編集した結果がなくならないようにピン止めするようにしておくと良いです。ただし、次からの手順のように選択していない場合は、再計算されないのでピン止めの必要はないです。ここでは説明のため、故意にピン止めしています。
Step 15
背中側を「L」キーで選択します。
Step 16
「U」キー、「展開」を選択して、背中側もUV展開します。展開したものは上下逆さまになっていると思います。そのような場合は、展開したものを選択し、「R」キー、180と入力して回転させます。いずれにせよ、下図のように上の方に移動させます。
Step 17
3Dビュー上で「A」キーを押して全頂点を選択します。すると、UV/画像エディターにも全ての頂点に対応したUV展開図が表示されます。
なお、全頂点ということは、頭や足とかのUV展開図はどこにあるか分かりますか?UV展開作業をしていないので、それらは左下の角の部分にまとめられています。このチュートリアルでは上着の部分にだけテクスチャを貼るので、他の部分のUV展開をしません。
Step 18
UV/画像エディターのヘッダーにある「UV」メニューの「UV配置をエクスポート(Export UV Layout)」を選択し、UV展開したものをを出力します。これで線画として出力されます。
Step 19
エクスポートした画像を他の2Dグラフィックソフトで開きます。下図はGimpでの画面です。ここで、読み込んだUVマップの形状を参考にしながら、貼り付けるテクスチャを好きなように作成します。作成時には、読み込んだUVマップはレイヤーを分けてください。
ここでは、下図のようにテクスチャを作成しました。下図は前回の記事でダウンロードしたものの中にあります(tommy_texture.jpg)。
なお、作成したテクスチャを画像ファイルとして保存する際は、UV展開で出力した線画のレイヤーは非表示にして保存してください(でないと線がレンダリング結果に出てしまいます)。
Step 20
プロパティエディターの「マテリアル」タブを開き、上着のマテリアルである”Material”を選択します(この名前を変えていたら、その名前)。
Step 21
次にプロパティ・エディターの「テクスチャ」タブを開きます。これで上着のマテリアルに貼り付けるテクスチャを設定することになります。複数のマテリアルを用いている場合には、このように「マテリアル」タブで指定する操作をいれないと、Blenderはどこにテクスチャを貼ってよいか分からないです。
「新規」ボタンを押します。テクスチャのタイプを「画像または動画」にします。
Step 22
「画像」パネルの「開く」から、作成したテクスチャを読み込みます。画像ファイルを意味込むと「画像」パネルは以下のようになります。この状態では、テクスチャはこのBlendファイルから参照されているだけで、パスのみ保存されます。したがって、後でテクスチャやBlendファイルを動かしたりすると、テクスチャへの参照が壊れてしまいます。そこで、「ソース」の部分の左にあるトレイ柄のボタンを押すと、そのテクスチャはこのBlendファイル内に取り込まれて保存されるようになり、そのような問題はなくなります。トレイボタンを押してください。
Step 23
「マッピング」パネルの「座標」を「UV」にします。これでテクスチャの貼りつけ方をUV展開によるものと指定しました。
Step 24
この状態で、前回書いたように3Dビュー上で、「レンダー」モードや「マテリアル」モードに表示を変えるか、シェーディングを「GLSL」にして、表示を「テクスチャ」モードにすると貼り付けたテクスチャを確認できます。下図からも分かるようにテクスチャは貼り付けたマテリアルに作用します。なので、同じキャラクターの体でも、使っているマテリアルが別なので、頭や手、下半身にテクスチャの色が付いていません。
なお、シェーディング設定を「GLSL」でなく、デフォルトの「マルチテクスチャ」モードの状態で「テクスチャ」モードでも貼りつけた状態を表示するには、編集モードでUV展開が表示されている状態のUV/画像エディターで、ヘッダーにある画像ボタンを押します(下図)。すると、設定している全画像データのリストが表示されるので、上着用のテクスチャを指定します。
この状態で「マルチテクスチャ」モードの状態で「テクスチャ」モードを見ると、下図のようになっています。テクスチャは見えるようになりましたが、頭やパンツも青色になっています。これは、UV展開していなかった部分も実際にはUVマップの左下にまとめられているだけなので、その部分がUV/画像エディターで読み込んだテクスチャの青色を拾ってきているためです。もし、オブジェクト全体をUV展開して、テクスチャも上着以外の部分もきちんと描いている場合には、このようなことにはならないので、この表示方法でも問題ないわけです。好きな方法を使ってください。