本日はBlenderの技術調査枠です。
Blender標準テクニックの実施枠で、現在UV展開を実施中ですが、一点問題が発生しました。
書籍では同じオブジェクトにまとめてあった、瞳、ツインテール、顔のオブジェクトを分けてしまっていました。
オブジェクトを分割している場合、UVマップはオブジェクト毎に設定するため、同時に一つのテクスチャにUVを展開する操作ができません。
それぞれのオブジェクトで展開位置を調整して、一つのテクスチャに参照をまとめることは可能ですが、オブジェクト間で確認しながら進めるのは手間がかかります。
そこで以下の記事を参考に、複数オブジェクトの同時UV展開を行う方法を試してみました。
・Blender Addon Review : 複数オブジェクトの同時UV展開(Texture Atlas)
http://www.cgradproject.com/archives/3965
まずアドオンをインストールします。2.79 の Blender ではデフォルトで付属しているようです。
ファイル -> ユーザ設定 を開き、「アドオン」タブを開きます。
「Texture Atlas」で検索をかけると、アドオンが見つかるので、これにチェックを入れて有効化します。
ついでに「ユーザー設定の保存」を押下し、設定を保存しておきます。
プロパティウィンドウの「レンダー」画面を開くと、「Texture Atlas」パネルが追加されていれば有効化完了です。
では同時UV展開を行ってみます。
同時UV展開したいオブジェクト(私の場合、瞳、ツインテール、顔)を選択した状態にします。
この状態で「Texture Atlas」パネルの「+」ボタンをクリックします。
するとグループ名の入力ウィンドウが表示されるので、適当な名前を入力して「OK」をクリックします。
グループが作成され、以下のようなプロパティが表示されます。
以下、参考ページからの引用です。
・「Resolution」 UVをエクスポートしたときの画像のサイズ。 ・「RemoveOtherUVs」 Texture Atlasの上部に表示されているグループのスロットで選択しているUV以外がオブジェクトにUVが設定されていたら、それらを削除します。 ・「RemoveSelected」 選択しているオブジェクトをグループから削除します。 ・「AddSelected」 選択しているオブジェクトをグループに追加します。 ・「SelectGroup」 グループスロットで選択しているグループに属するオブジェクトを選択します。 ・「Auto Unwrap」 自動でUV展開します。 3種類(Smart UV、Lightmap、No_Unwrap」)のうちいずれかを選択して、「Auto Unwrap」ボタンで実行。 そのボタンの右にある数値は展開したUVの塊(UV island)同士の間隔幅。 ・「Manual Unwrap」 「StartManualUnwrap」ボタンを押すと、自分でUV展開するモードに入ります。 このとき、オブジェクトは自動的に、一時的にひとつのオブジェクトに統合されます。 「Tab」キーでエディットモードに入ってから自分で展開します。 作業が完了したら、「FinishManualUnwrap」ボタンを押します。 すると、統合されたオブジェクトは元のバラバラなオブジェクトに分かれて、Manual Unwrapモードを抜け元に戻ります。
展開方法には Auto Unwrap を用いての自動展開と、Manual Unwrap を用いての手動展開があるようです。
今回は手動展開を試してみます。
実行前に予め「RemoveOtherUVs」をクリックして、不要なUVマップを削除しておきます。
オブジェクトの選択を解いてしまっていた場合は「SelectGroup」をクリックすると、グループのオブジェクトを一括選択できます。
「StartManualUnwrap」ボタンを押下します。
すると一時的に、グループのオブジェクトが一つのオブジェクトに統合されます。
この状態で編集モードに入り、展開したいメッシュを選択して メッシュ -> UV展開 -> 展開 でUV展開を行います。
今回は顔のシーム付けが未だなので、それ以外を選択し直しています。
また、このとき、デフォルトのテクスチャ画像が設定されます。
レンダーモードを「テクスチャ」に変更することで、どのメッシュ箇所がどこにUV展開されたかが分かります。
最後に「FinishManualUnwrap」ボタンをクリックすると、統合されたオブジェクトが元に戻ります。
各オブジェクトのUVマップを確認すると、オブジェクト毎に先ほどのUVマップが展開されていることが確認できます。