見出し画像

【Blender】曲面メッシュのUVを真っ直ぐにUV展開する方法(標準機能で)

曲面のあるメッシュを普通に展開すると曲がった状態で展開される。

これだとUVのマス目が均一ではないし、テクスチャーも描きずらい。
何が描きずらいかというと、柄模様やグラデーションを付ける時、まがって歪んだ形に沿って描かなければならないことで手間がかかる。あとからの調整や修正もやりにくい。

・・・ということで、今回は、標準機能だけで曲面メッシュのUVを真っ直ぐにUV展開する方法を紹介。


■やりたいこと

まず、トーラスを作成する。(※曲がった曲面を持つメッシュ)。
展開したい切れ目をループエッジで選択し、シームを入れる。

画像1

普通にUV展開するとこうなる。
これでは、UVアイランドが曲がっていて均一性がない。テクスチャーを描くのも面倒くさい。

画像3

なので、UVは、下図のようにしたい。
UVがきれいに展開できていて、均一性もある。テクスチャーも描きやすい。

画像4
画像5

■やり方(A)

曲がったUVを真っ直ぐに展開するやり方は、複雑そうに見えるが、慣れれば簡単にできる。

・3Dビューポートで、編集モードにしてオブジェクトを全選択(A)し、
 UV>ライトマップバック でUV展開する。
・2Dビューポートで、四角形面を1面だけ選択する。
・3Dビューポートに戻り、UV>アクティブ四角形面に追従 を実行。
 すると均一なマス目のUVが生成される。
・UVアイランドを選択し2Dビューポートで、UV>アイランドに梱包

━━━これで完成。

画像5

■やり方(B)

ライトマップパックを使わないやり方。

まず、ビューポート上のメニュー:UV>展開で、UV展開を行う。

とりあえずUV展開した状態

どれか、UVの1マスを選択し、4つの頂点を揃えて、きれいな正方形にする。作業としては、直線にしたい2頂点を選択した状態で、マウス右クリックして、UVコンテクストメニュー>自動整列 を実行する。すると頂点位置がX軸、Y軸に沿って揃う。(特に揃える軸を考慮しなくてもよい)

頂点を揃えたり、移動させたりして正方形に調整

調整したUVの1マスを選択した状態で、マウス右クリックして、UVコンテクストメニュー>アクティブ四角形面に追従 を実行する。

アクティブ四角形面に追従

これで、UVのマス目が均一で真っ直ぐに揃った。(作業完了)
※この方法だと作業過程でUVが反転することはない。

■トラブルシューティング

ケース1:UVが反転されている

テクスチャーの文字が反転表示している場合は、手動でUVを反転しておく。UV>ミラー>X軸 or Y軸 でUVを反転する。(軸方向指定は任意)

UVを反転(任意の指定軸で)

※ライトマップパックした時点で、UVが反転しているので、あとからUV反転作業は必須。・・・とはいえ、正方形にUVのマス目を整えるのも手間だと思われ。今回紹介した、やり方(A)、やり方(B)は、仕組みを理解して上で適宜選ぶとよい。(後述するAdd-on使う方が作業的に楽になりそうだが)

ケース2:なにか結果通りでない

うまく結果がでない場合、気を付けておくこと。
UVの選択を同期モードは解除しておく。
・3Dビューポート表示のオブジェクトは全選択状態にしておく。

画像8
UVの選択を同期モード

もし、UVの選択を同期モードを有効にした状態で、同様の結果を得たい時のやり方を説明。
・3Dビューポートで、編集モードにして、オブジェクトを全選択(A)し、UV>ライトマップバック でUV展開する。
UVの選択を同期モードを有効にするとUVが常時表示される。
・2Dビューポートで、四角形面を1面だけ選択する。
・この状態のまま、Shiftを押しながら選択範囲でUV全体を選択する。
・2Dビューポートで、マウス右クリックでメニューを表示し、
 アクティブ四角形面に追従 を実行。均一なマス目のUVが生成。

※あとから気が付いたが、このやり方は、UVの選択を同期モードを有効、無効どちらのモードでも結果は同じだったことを付け加えておく。

■補足:ライトマップパックについて

名前通り、ライトマップは、ライト情報をテクスチャーにベイクする際に利用するUVマップ。Unity等のゲーム制作ではおなじみのもの。(処理負荷を抑える目的で)
なお、Blenderだと、ライトマップのベイクは、Cyclesで行う。

ちなみに、ベイクしたライトマップをEEVEEで表示する場合は、マテリアル設定時、シェーダーのベースカラーに接続したRGBミックスノード(乗算)を介し、2つの画像テクスチャーノードを接続して利用する。(ベースカラーテクスチャーとライトマップテクスチャーの合成)

■さいごに

今回紹介したやり方は、Blender Add-onの「Tex Tools」や「UV Toolkit」などの機能を利用すると簡単な手順で行うことができる。導入を検討してみてもよいかも。

https://github.com/franMarz/TexTools-Blender

画像6
ボタン一発で、変換完了

自分の環境もTexTools ver.1.30からver.1.40にアップデートしてみた。
アイコンが刷新されていた。なんとなく渋く落ち着いている印象。

画像7
サイドバーのツールメニュー

※動作問題メモ:Blender 3.0.1及び、TexTools v.1.4.4の組み合わせで、Rectify機能を使うとPythonエラーが表示されるが、変換はされている模様。LTSで保守されているBlender 2.9.3.x系だとAdd-on動作に問題なかった。
※その後、Blender3.0以上に対応したTexTools v.1.5がリリースされた。このバージョンだと問題ない。TexToolsコミュニティは下記サイトを確認のこと。

※その後、Blender4.0では、うまく動作しなくなった。
2024年年初、TexTools_v1.6がリリースされた。 Blender3.2以上対応。Blender4.0でも動作を確認。

-------------------------------------------------------------------------------
あと、曲がったUVを均等に真っ直ぐにしたいだけなら、
「Uv Squares」もいいかも。

以上。

この記事が気に入ったらサポートをしてみませんか?