【Blender】UV展開の手順と注意点とTIPs

UV展開もなんとなくやってきたけど、Blenderに慣れるにつれどうも非効率に感じるようになってきた。そこでどういう点に気を付ければよいのかをまとめておく。

参考にした動画など

人物モデルを展開する

以下は必ずしも順番通りにというわけではない。行きつ戻りつしながらやる感じ。

UVGridを当てる

必須ではないが、人物モデルだったりすると、バランスが重要になってくる(例えばリアルな肌質をノーマルマップで出そうと肌のキメテクスチャを割り当てたりする際、UVのバランスが悪いと部分部分でキメの細かさが違うという事態が起こったりする)

作り方
UVエディタの左画面のツールバーから Image – Newを実行する。そしてGeneratedTypeをUVGridにして生成する。で適当に名前を付けて保存する。

そしたらシェーダーエディタを開き(マテリアルがない場合はマテリアルを作成)、先ほど作ったUVグリッドテクスチャを接続する。

シームを入れUnwrapする

シームをどこに入れるか

適当にやると下の画像のようにシームの部分が切れ目ができてしまう。これがリアル志向の人物モデルだったりすると、例えば肌のテクスチャを割り当てたときに大きな違和感を感じさせる。

対処法として、テクスチャを重ねてペイントでシーム部分をぼかすといった方法もあるが、手間が増えるので、可能な限り仮に線が入っても目立たない場所、うまく隠せそうな場所にシームを入れることを意識した方がいい。

例えば人物の胴体部分を展開するにしても、両横に入れて腹側と背中側を分けるようなかんじにするか、背骨の箇所に一本だけ入れて展開するかといった具合にいくつも方法がある。

シームの入れ方

辺選択モードにして画像のように片腕(右腕)を選択し、Ctrol + E(または 上のツールバーにあるUVの箇所 )でMark Seamでシームを入れる。
ただMarkSeamの位置が真ん中の方で操作しづらい。MarkSeamの上で右クリックして AddtoQuickFavorites機能に登録しておく。そうすればQキーでMarkSeamを呼び出せる(これは他の操作でも登録可能なので、次のミラー選択操作も登録しておけば作業がはかどる)。

左右対称のオブジェクトなら Shift +Control + M(またはSelect – select mirror) でミラー選択を行うと作業効率が大分上がる(左腕にシームを入れ、ミラー選択で右腕に移動しそこでもシームをいれるという具合)

より早くやるなら、
①メッシュの片側を削除してMirrorModifier を当てた状態にする
②その状態でシームを入れていく。
③入れ終えてからミラーモディファイアをApplyする(これでシームもミラーが適用されている)
④UVEditingで Unrwapする。
という方法もある。

下の画像のようにシームで区切っていく。

ループ選択が効かないような場所は、 Ctrolキー + 左クリック 最短距離選択を使ってやっていく(頂点Aを選択した状態で、頂点Bを ctrol + 左クリック することで AB間の最短距離を選択可能)。

Unwrap

シームを全身に入れてからでも、一部であってもいつでもいい。

仮に一部分を展開してみるといった場合、面選択モードに切り替え(他の選択モードだと効かないので注意)、シーム内部の面をどこか一箇所選択し、その状態で Lキーを押す。すると下のようにシーム内部だけ丸ごと選択できるので、この機能を使って展開していくと楽。

うまくいけば左画面に展開図が表示される。あとは適宜サイズや回転を調整する。

いったんでかく表示したいという場合は UV – PackIslandを実行する。すると下の画像のように領域いっぱいに展開してくれる。(必要があればマージンを設定する)

全体ではこんな感じにシームを入れてUnwrap。

バランス調整

アイランドのサイズ

リアル志向の人物モデルの場合、UVの各アイランドのサイズはモデルに準拠している(UVGridのサイズが均等)ほうがいい(肌のノーマルテクスチャなどを当てる際、アイランドのサイズが異なると、キメにばらつきが出て不自然になる)。

サイズの確認は、UVGridを当てることで確認できる。各四角が同じようなサイズになっていればOK

自動でやるなら、UVEditorを開き、UV – AverageIslandsScaleを実行することでサイズがモデル準拠になる。

アイランドの角度調整

これもシームの箇所が不自然にならないよう、リアル志向の場合はやっておいたほうがよい。
UVGridを当てて、不自然だなと感じるアイランドを選択し、回転させる。

TIP集

ミラーモディファイアのかかったオブジェクトをUV展開する場合 –展開図にもミラーを反映させたい

ミラーモディファイアのData – Mirror U にチェックを入れる

UVEditingモードの左画面の上部、ModifiedEdgesにもチェックを入れる

これで表示されるはず。(ただ画像のように左右対称になってしまうので、顔のように一体化させたい場合は調整が面倒くさい。その場合はとりあえず片側のシームだけ入れておき、後からミラーを適用するとシームも適用されているので、それからUnwrapすると楽)

三角面で構成されたオブジェクトの展開・ループ選択とかが使えない場合

三角面で構成されたオブジェクトはループ選択ができないので能率が落ちる。下のアドオンを使うと三角面でもループ選択ができるようになる(頂点をダブルクリックで選択)。

NGon Loop Select
Get my Ultimate Value Bundle with all my 15 addons (EXTRA 20% OFF using code 'lucky20',Till 24th April) :Some of the new Features in the RanTools(and P-Cutter) ...

それか Ctrolキー + 左クリック 最短距離選択を使ってやっていく(頂点Aを選択した状態で、頂点Bを ctrol + 左クリック することで AB間の最短距離を選択可能)。

ひとつのオブジェクトに複数のUVMapsを割り当てたい

例えば頭と体を別個に造形し、後からくっつけたということがある。すでにマテリアルを個々に割り当てているので、ひとつのオブジェクトにマテリアルも2つある。UVも2つ。

例えば、頭には頭のマテリアルを割り当て、さらにShaderEditorでInput – UVmapノードを出し、当該のUVMapを割り当てる。

テクスチャペイントなどをするときにはObjectDataPropertiesのUVMapsで切り替えることで左画面に表示されるUVMapを切り替えることが可能。

テクスチャペイント用のUVと別のUVをひとつのオブジェクトに使用する

テクスチャペイント用には、塗りやすさや精細具合を考慮してUV展開を行うが、例えば肌のキメの表現には別個のNormalMapテクスチャを利用したいといったことがある。
後者のテクスチャを利用する際、テクスチャペイント時に使ったUVをそのまま使うと、体の部位によってキメのサイズが変わるといった事態が起こる。
キメのサイズは全体で統一するには、キメ用のUVMapを作成し使用する。

見づらいが、上ではテクスチャペイント時に使ったUVを利用し、下ではキメ用のUVを利用している。


シームを複数パターン使いたい

Multiple sets of seams for multiple UVs?
When UV mapping and lightmapping an asset for game use, I find that I need to erase my seams after UV mapping in order to place new seams for the lightmapping. ...

UV1とUV2で別のシームを使いたい時がある。
シーム情報単独で管理する機能はないものの、展開されたUVMapsからシームを復元するということが可能(UV – Seams from Islands)。

具体的には、まずUV1を展開し終えたら、オブジェクトからClearSeamでシームを消す。
そしてUV2で新しくシームを入れて展開する。
UV1のシームに切り替えたいときは、左画面のアイランドを全部選択し、Seams from Islandsを実行する。

UVを削除したい

ObjectDataPropertiesのUVMapsを開き、マイナスアイコンで消せる。

Project From View でまとめていっぺんに展開するのではなく、前後・表裏で別々に展開したい

UVEditorに入り、右画面をEditmodeにする。テンキーの1で視点を正面に据え、その状況でボックス選択で前面を選択。
UV – Project from View を実行すれば、左画面に表面のUVが展開される。
UVが重なるのを避けるため、一旦のけておく。

後は裏面も同様の手順でやると、表裏で分離できる。

コメント

タイトルとURLをコピーしました