チュートリアル / 初めての背景モデル制作
第3回:命を吹き込むためのUV展開

  • Maya
  • ゲーム
  • コラム
  • チュートリアル
  • マテリアル・シェーダー・UV
  • モデリング
  • 学生・初心者
  • 映画・TV

みなさんこんにちは。
SAFEHOUSE鈴木です。

第一回第二回を終えて、今回はUV展開の回になります。
今回は前回作ったハイモデルに対してテクスチャーを張って質感を付けていきたいと思います。
その前に作業としてやらないといけないのがUV展開です。
CGやり始めのころはUVって何って思っていた人もいるかと思いますが、簡単に説明するとテクスチャーというシールを張るための型取りみたいなものですね。
なので、この型がずれたりしてしまうと上手くテクスチャーが張れなくなってしまうのでUVに対しての考えをしっかりと理解しましょう。

割と近年ではソフト内のオートマチック機能が優秀になって自動でUVを開いてくれることが増えてきたかと思います。ただ僕のUV回ではそれは許しません。w
UVをしっかり手順通りやることで、省略できるところ、ちゃんとやらないといけないところを機能に任せるのじゃなくて自分の肌で感じてください。
という事でUV展開もツールを使うのではなく、Mayaの標準機能を使って作っていきたいと思います。
慣れてしまえばパズルのような物なのでYoutubeを見ながらでもサクサクとやれてしまうと思います。

ではやっていきましょう、レッツゴー。

まずは、一番見えるところの一番大きな面のモデルを必ず選んでください。
後で理由を説明するので、この広い面からUVを開いていきます。

UV展開前

Windows > Modeling Editors > UVEditorを開いてください。
UVEditorをひらくとUVToolkitというものがあると思います。
なければUVEditorのTools>Show UV Toolkitを押してください。
今回はこのUVToolkitをつかってUVを作っていきます。

UVToolkit

ではとりあえずUVToolkit>Create>Planarを押してください。

デフォルトのPlanarMappingをそのまま実行

・・・これ何なん?

って思うでしょうが、これはデフォルトのPlanarMappingをそのまま実行しているだけなので今度はShiftを推しながらPlanarをもう一度押してください。
PlanarMappingのオプションが開いたかと思います。
これを見るとProject formがX axisになっていますねこれはWorldのX方向から投影しているという事です。

分かりやすくするためにAxisを表示したいと思います。
MayaのDisplay>Heads Up Display>Origin Axisにチェックを入れてください。
原点にXYZのAxisが表示できたかと思います。
X axisからPlanarMappingしたという事はこの赤いXと書かれた方向からUVを投影しているという事ですね。

X方向からモデルを見る

X方向からモデルを見ると同じ方向から投影されていることが確認出ると思います。

UVの方は上下がつぶれて形がモデルと違っている

ただUVの方は上下がつぶれて形がモデルと違ってしまっていますね。
UVEditor>Textures>Checker Mapにチェックを入れてみてください。
View上でチェッカーが張られたと思います。

横につぶれてしまっている

ただ横につぶれてしまっているのでこれを正しい形に合わせたいと思います。

もう一度PlanarMappingのオプションを見てください。
Keep image width/height ratioのチェックをオンにしてください。
これをすることでPlanarの縦横比を同じにしてPlanarMappingが出来るようになります。
基本このチェックを外すことはないのでチェックを入れた状態でPlanarMappingのオプションのEdit>Save Settingsをしておいて大丈夫です。
この状態でもう一度Planarをしましょう。今度はモデルと同じ形になってチェッカー模様が正方形になったと思います。
この状態が、UVが歪まずに正しく作成できているという事です。
ただこのモデルを逆側から見てみてください。文字が反転しているのが分かりますね。
これはUVが裏返っているということです。
UVEditor>View>Shadedにチェックを入れてください。
View上で青と赤の色がついたかと思います。
この状態は赤色が、UVが裏返っていて青色が表を向いていますよという意味です。

裏返ったUV

UVにもポリゴンと同じように表と裏があって裏返っているとNormalMapが裏返ったりなど問題が起こります。
なのでこれを全部青色に、チェック模様を正方形になるように部分部分にPlanarMappingをかけていってUVを開いていきます。

ではモデルへ戻りましょう。
このモデルはZ方向を向いていますね?なのでZ方向からPlanarをかけます。
Planarへカーソルをのせてくださいそうすると、MayaのHeplLineに説明が出てきます。

MayaのHeplLineに表示された説明

左クリック:現状の設定で実行(デフォルトでX方向)
中クリック:Y方向から実行
右クリック:Z方向から実行
と書かれています。
なので右クリックでPlanarを実行してください。壁の正面からUVを作れたかと思います。
ただZ方向を向いていない部分はチェッカーが伸びてしまっていたり、赤くなってしまっていると思います。この部分を調整していきましょう。

UVToolkit>Unfold>Unfold AlongのU方向を選択して実行

まず歪んでいるFaceを選択してみて分かることは横方向にUVが伸びているのでそれを直してあげれば良いという感じですかね。
なのでUVToolkit>Unfold>Unfold AlongのU方向を選択して実行してください。

綺麗に開けたUV

はい、綺麗にUVが開けましたね。
基本はこの連続です。歪んでいるところを選択してUnfoldです。
特に背景モデルのUV展開するとき、僕は90%ぐらいPlanarで開きます。
PlanarでXYZからバーンです。
CylindricalやSphericalなどUVを作る手段は沢山ありますが、あとでUnfoldすることを考えればPlanarで開いてしまったほうが、手数が少なく済むと思っているので。
(例えばパイプなどシリンダー形状の物でもCylindricalを使うのではなくてとりあえずPlanarをバーンと張ってからUVをカットしてUnforldですね。)

では次は入口の細かい部分のモデルが歪んでいるので修正します。

入口の細かい部分のモデルが歪んでいる

歪んでいる部分を選択してUnfold(Unfold Alongじゃない方)を実行してください。

歪んでいる部分を選択してUnfold(Unfold Alongじゃない方)を実行

歪んでいる部分が解消されたかなと思いますが、歪んでないほうが今度歪んでしまいましたね。
これを防ぐためにPinningをします。
UVToolkit>Pinningをして下さい。Pinningは動かさないという意味です。
歪んでいる部分を選択しているならPinを実行してInvert Pinning、歪んでいない部分を選択しているならPinを実行しましょう。こうすることでUnfoldしてもPinningされたところはUnfoldの影響をうけません。
どうでしょうか?前よりは良くなりましたが、まだ下の部分と角の部分が歪んでしまっているようです。
遠景にあるものでこれくらいの歪みは見えないのでこれでも十分ですが、近景にあるものなので出来るだけこれをなくしたいです。

この一連の流れは後程動画で説明します。
その説明の前にTexelDensityとUVlayoutの話をしなければなりません。

まずベースとなるメッシュを開いたらTexelDensityを決めます。
これはUVの0.1のエリアの中でテクスチャーの大きさをどれくらいに設定するかという事です。
どれくらいのレンダリングサイズでどれくらいのテクスチャーサイズにするかという情報を先に決めないとちゃんとしたTexelDensityを決めることはできません。
今回レンダリングサイズを1920*1300に、テクスチャーサイズを4Kに設定します。

では、一番初めに開いたUVのメッシュを見てみましょう。
レンダリングサイズに対してどれくらいの大きさを持っているでしょうか?

一番初めに開いたUVのメッシュを見てみる

縦が1300ピクセルに対して半分くらいの大きさを持っていそうですね。
なのでメッシュの高さが1Kあればレンダリングに耐えられそうです。
4Kベースでテクスチャーを書くのであれば四分の一のTexelDensityに設定してみましょう。

4Kベースでテクスチャーを書くのであれば四分の一のTexelDensityに設定する

UVを開くときに一番見える一番大きなメッシュを選択してUVを開いてくださいと言ったことを覚えていますでしょうか?
一番大きなメッシュのTexelDensityを決めることで残りのメッシュはこれよりも大きくなることはないのでUVをエリア内に収めやすく配置しやすくなります。
これをベースにして他のメッシュもこれと同じTexelDensityにしましょう。
UVToolkit>Transform>TexelDensity
ベースメッシュを選択しGetを押しましょう。そうするとこのメッシュのTexelDensityの数値をもらえます。この数値を入れた状態のまま残りのメッシュを選んでSetを押してください。そうするとすべて同じTexelDensityにすることができます。

なぜTexelDensityを同じにするかというとUVの大きさが同じでないとレンダリングしたときにTextureの解像度が変わって見た目も変わってきてしまうからです。
このテクスチャーは高解像度だけどここは解像度が低いよね。というちぐはぐな結果をなくすために基本は全てのUVの大きさ(TexelDensity)を統一しておいてください。

その後このUVをパズルのように配置していくのですがその前にこのTexelDensityで問題ないか4Kのテクスチャーを張って十分に解像度が足りているのかレンダリングして確認するといいと思います。

TexelDensityで問題ないか4Kのテクスチャーを張って十分に解像度が足りているのかレンダリングして確認

これくらいなら大丈夫そうですね。

ではTexelDensityの次はUVレイアウトをしましょう。
今回はUDIMをつかってUVを配置していきます。
UDIMを知らない人はググってください。w
素材別にマテリアルを作成します。
今回は石素材の壁のWall_MT、地面のGround_MT、ガラス素材のGlass_MT、その他木の素材の窓枠やドアの細かい部分をParts_MTにまとめて、植物は別々のマテリアルにアサインしてあります。

まずはWall_MTの配置をしていきましょう。
UVレイアウトはただ並べればいいというわけではないです。
分かりやすく並べるという事を心掛けてください。
綺麗に並べることで素材の情報量のズレを少なくすることができます。
テクスチャーを写真素材から作るときに、写真が持っている色むらや明度の差がある場合、UVが近くにあればそのずれを少なくすることが出来ます。
隣り合うモデルのUVがEditor上で離れてしまっていては情報のズレが出来てしまうのは容易に想像できますよね?
あと分かりやすいレイアウトになっていれば人にデータを渡したときに作業の引継ぎも楽です。
仕事では複数人で作業することもあるし、クライアントにデータも提出します。
なので、人にデータを渡すという事を意識しておくと良いと思います。

僕の中できれいなテクスチャーというのは、テクスチャー画像からモデルの形が想像できるようなテクスチャーです。
そうするにはモデルの位置とUVの位置が似たような場所にあると良いと思います。
特に背景のテクスチャーの場合はモデルが10メートル以上になることが多いので高さを表現することが重要になってきます。
なので、位置的に地面に近いモデルがUVEditorの上側にあると混乱しますよね?

ある程度位置関係が合っているといいと思います。
ただモデルとUVの位置を合わせる事を優先しすぎてテクスチャーが描きにくくなってしまう事は避けましょう。
最低限やっておくといいことは、同じ素材でモデル上は上下になっているものがUV上では下上になってるとか、モデル上では左右に配置されているのにUV上では上下になっているなど位置的に混乱を招くような配置は避けたほうがいいと思います。

UVのレイアウトを確認

Adobe Substance 3D Painterを使えば配置は特に考えなくてもソフト内でポジションを処理してくれますが、現場での作業ではモデラーがSubstanceで書き出したテクスチャーを他の人がPhotoshopで加筆することもあると思います。
そういったときに分かりにくい配置になっているとイラっとさせてしまう事もあるかもしれません。
このメッシュのUVどこにあるんだよ、なんでこんなとこにあるんだよ、、とか?笑

ただ、UVEditor>Modify>Layoutを使うと自動でUVを並べてくれますが、この機能を使わないかというと、バリバリ使います。
どういう部分に使うかというと構造よりも細かいディティールに対して使います。
ボルトとか見た目の影響にあまりかかわらない部分ですね。
勘違いしないでほしいのは、モデル的な構造というよりも絵的な構造だと思ってください。
例えば、柱などは建物を支える構造になりますが、その柱が100本あったとします。
これを一本一本並べるかというとそうではないです。
100本も画面に収まるという事は、カメラから近くにあるというよりも遠くに存在していて、カメラの中で小さく見えているという状況が想像できますね?
それは絵的にはディティールの部類に入るのでモデルとUVの位置関係がズレていてもレンダリングに影響することはほぼないです。
そこよりもその柱が絵的にどの位置関係に100本並んでいるかという所のほうが重要ですね。そこが絵を作っている構造という部分になります。

では上記の内容を踏まえて一通りUVを開いてみましょう。
今回はUVを展開している動画を用意したのでご覧ください。

とその前に
UVToolKitのUnfoldの説明をしましたが、僕は動画の中でUVEditor>Modify>Unfoldを使ってます。
なにが違うかというとあらかじめPinningを設定しているという事です。

・・どういうことでしょう??

いま一連の流れを作業して感じたと思いますが、選択したポリゴンをUnfoldするよりも、選択したポリゴンをPinningして選択してないところをUnfoldすればPinningする手間を省けますよね?
それをUnfoldのオプションで設定しているという事です。
UVEditor>Modify>Unfoldのオプションボックスを開いてください。
デフォルトではMethodがUnfold3Dになっているかと思います、それをLegacyにしてください。
そのPinningメニューの中のチェックがあるPinUVsをPin selecterUVsにチェックを入れて下さい。
これをしておけば、選択したところをPinningし選択していない所をUnfold出来ます。
ぼくはこの設定で更にUnfold constraintを設定しています。
UV全体をUnfoldしてしまうよりも縦方向横方向を決めてUnfoldしたほうが、UVが歪みにくいです。
なので、動画の中ではUVToolkitのUnforldではなくPinning設定をしたLegacyのUnfoldのVerticalとHorizontal、Noneの三つのUnfoldをMarking Menuに登録してUVの展開をしています。
こういうのはいちいちオプションボックス開いて選択して実行するのが面倒くさいのでMarkingMenuやShelfに登録するほうが楽でいいです。

どうやるかというとMayaのメニューであればCtrl+Shift+クリックでシェルフに登録出来るんですが細かなところはScriptEditorを開いて中で何をやっているのかを見て登録しましょう。
Unfold UVsのオプションを開いて実行してみてください。

Unfold UVsのオプションを開いて実行
unfold -i 5000 -ss 0.001 -gb 0 -gmb 0.5 -pub 0 -ps  1 -oa  0 -us off;

と表示されると思います。
この式が表示しているオプションの内容の文字列になっています。
例えば-ps 1はPin SelentedUVsにチェックしているという内容でこの数字を0にするとPin UnselectedUVsに切り替わります。
-oa 0はUnfold constraintがNone、1がVertical、2がHorizontalです。
この式を選択して中ドラッグでShelfにドラッグ&ドロップするとMelとして登録しておくことができます。
そうするといちいちオプションを開いて選択せずに1クリックで出来るので便利ですのでScriptEditorを開いて中身を解析してカスタマイズすると作業を早くすることができるのでやってみてください。
例えばPlanarXを-Xから出来るようにしたり、Planarのサイズをあらかじめ固定したりなど作業のひと手間を省くことができるので便利になりますよ。

ではさっそくどうぞ。

このようにUV展開は似たような作業の繰り返しなので慣れてしまえばどうってことはないかと思います。

動画内ではMayaのデフォルトのCheckerMapを使っていますがこれだと上下が分かりづらいので僕はこのような文字のついたものをCheckerMapとして使って上下左右どちらを向いているかを確認できるようにしています。

文字のついたものをCheckerMapとして使って上下左右どちらを向いているかを確認する

モデリングの回の時にお話したと思いますが背景モデルはカメラからどう見えるかで作り方を考えるものです。
それはモデルだけでなくUVやテクスチャーの時にも同じ考えでいてください。
背景モデルはキャラクターやプロップを作るときと違う考え方をしないといけないという事を覚えておいてください。

このUVの説明の後に質感とテクスチャーも解説する予定だったのですが、予想以上にUV回のボリュームが増えてしまったので質感とテクスチャーは次回に持ち越しします。

地味なUV回となりましたが、学校や教材ではあまり深掘りしない背景モデルのUVの部分を伝えられたのかなと思いますので僕的にはある意味神回かなと思います。

次回はモデルに命を吹き込む質感、テクスチャー制作になりますのでお楽しみに!

ではまた~。


製品購入に関するお問い合わせ
オートデスク メディア&エンターテインメント 製品のご購入に関してご連絡を希望される場合は、こちらからお問い合わせください。