3dsMaxにおける便利UV展開
モデリング
先日、積木製作のFaceBookにて、3dsMaxにおける便利なUV展開ツールを紹介しましたが、
実際にどのように使用しているのかをまとめました。
試しにトラックの頭部分を展開してみましょう。
まず、頭を選びUVWアンラップモディファイアを追加。
そして全ポリゴンを選択して、赤枠の投影Zで平面的なUVにします。
これは、まず最初に余計な切れ目のないきれいなUVからスタートするためです。
いくつのパーツに分かれているのか、どれだけアジの開きをしないといけないのかを
一目でわかるようにするためにUnwrap Proを使って開きます。
Unwrap ProはインストールするとUVWアンラップモディファイアを追加したときに
一番先頭にタブで出てきます。
赤枠のUnrwapボタンを押してもいいですし、ショートカットでSpaceを登録してあるので
そちらでもいいです。
一度のボタンクリック(もしくはSpece)で開かれる場合もあり
何度も押すことによって徐々に開かれる場合もあります。
すると開けるやつは自動で開かれ、UVに切れ目がなく開けないものは特に変化なしの状態で
UVエディタ上に展開されます。
開かれた、もしくは開かれずに放置されたUVは各々独自のスケーリングがなされ
相対的に同じサイズ比になっていません。
そこで使うのがPoly Unwrapperです。
こちらはインストールするとUVアンラップエディタを開いたときに一緒にUIが出てきます。
赤枠のアレンジタブにある、白いレンガボタンを押すと
同じスケール比(グリッドをマッピングしたときに同じグリッドサイズになる)で
なんとなく整列してくれます。
今回の場合、色々なパーツに分かれていて、すべてが開かれたようです。
次に斜めになっているUVをまっすぐにします。
まず、ビューポート上でわかりやすくするためにPolyUnwrapperのcheckerボタンを押して
数字グリッドを表示させます。
次にRotateUVsというスクリプトを事前に入手してボタン登録しておいてください。
登録したボタンを押すと、赤枠のようなインターフェースが出てきます。
まっすぐにしたいUVのエッジを選択します。
複数選択でもいいです。
次にRotateUVsのModeをmanualにして、下のHold Selectionボタンを押します。
すると何かしらの計算が入りボタンが赤くなります。
エッジの選択数が多いほど計算に時間がかかるので、待ち時間が長くなります。
ボタンが赤くなったらその下のHorizontalボタンを押すと
選択したエッジを起点としてUVがまっすぐになるように回転します。
そうしたら、ビューポートの数字グリッドを見つつ、数字が斜めになっていないか確認して
まだ斜めのUVがあるようなら同じ手順でまっすぐに補正します。
すると、1つだけアジの開きになっていないUVを発見しました。
赤枠のように、開けないUVはUnwrapProを実行しても赤いバーが出てきて開けないエラーになります。
これは手動でUVに切れ目を入れて展開できるようにしましょう。
形状としてはT字のボックス型のようなので(すべてが閉じられた形状なので開けなかった)
Tボックスの裏面を選択し、赤枠のブレークボタンでUVを切り離します。
すると切り離したポリゴンのエッジに緑の線ができました。
これでボックスの前面と後面でUVが切り離され、開かれたUVとなったのでUnwrapProで開けます。
TボックスのUVをすべて選択して開いてみましょう。
結果は次の通りです。前面と後面でUVが分かれました。
サイズ比と回転を先と同じ方法で直しましょう。
RotateUVsでまっすぐにした後、PolyUnwrapperのアレンジタブ 白レンガボタンで次の通りです。
赤枠の青レンガボタンを押してみましょう。
白レンガボタンよりも、無駄の無い綺麗な整列をしてくれます。
ボタンの右にRescaleのチェックがありますが、これはチェックした状態で青レンガボタンを押すと
UV領域を目いっぱい使うようにUVがリスケールされて整列(UVスケールの相対比は変わりません)
チェックを外すと、今のUVの大きさを変えずに整列してくれます。
PaddingはUV同士の隙間ですね。どのくらい間隔を空けて整列するかです。
最後にこれは必ずしも必要というわけではありませんが、弊社のようにUnityにモデルを持っていく場合
UnityではUVチャンネル1~4を使うことになります。
とりわけライトマップのUVをよく修正することがあると思いますが
Unity上でライトマップ用のUVはチャンネル2であり
3dsMax上でうっかりチャンネル1を調整してしまった場合
チャンネル2にコピーするのがとても面倒です。
この場合に限りませんが、特定のUVチャンネルを別チャンネルにコピーしたい場合は
copyUVWというスクリプトが便利です。
これも事前に入手しボタン登録しておいてください。
起動すると赤枠のインターフェースが出てきます。
1つ注意事項があり、このツールは編集可能ポリゴンにのみ機能するので
モディファイアをすべて集約して編集可能ポリゴンのみの状態にする必要があります。
一目了前ですが、fromにコピーしたい元のUV、toにコピーしたい先のUVチャンネルを入力して
Copy UVW channelsボタンを押すとコピーしてくれます。
こんな感じで、複雑な形状でもほぼ自動でUV展開ができてしまいます。
ぜひお試しあれ。