はじめに
今回は、顔の中のパーツの作り方を解説します。
第26回の続きになります。
このようなUV展開済みのキャラクターモデルがある事を前提に進めます。

UV配置で気にするポイント
UV配置で気にするポイントは下記の3つ
・UVの大きさによるテクスチャ密度の変化
・パーツ分けを行うかどうか
・UVの余白
まず、この3つについて解説します。
テクスチャ密度について
UVは大きさが変わると、使われるテクスチャの密度が変わります。

・UVが大きい
→ 使えるピクルスが多い
→ テクスチャ密度が高い
→ ディティールが表現できる
・UVが小さい
→ 使えるピクルスが少ない
→ テクスチャ密度が低い
→ ディティールが表現できない
これが気にすべき第1のポイントです。
パーツ分けについて
VRChat向けキャラクターモデルの場合、パーツ分けを考える必要があります。

詳細はこちらでまとめてます。
パーツを分けることで、改変に強くなります。
メッシュを削除した際、分かれていれば不要なテクスチャを無くすことができます。

考慮すべきパーツは下記の3つ。
・メッシュのパーツ分け
・テクスチャ & UVのパーツ分け
・マテリアルのパーツ分け
ココアちゃんの場合、テクスチャは下図のように分かれてます。

また、同じテクスチャでもマテリアルを分けてる事があります。
マテリアルを分けると、高負荷なファーや透過シェーダーをピンポイントで使えるようになります。

メッシュはVRChatで改変しやすい作りを意識して分けます。

これが気にすべき第2のポイントです。
UVの余白
UVは余白の部分を十分にとる必要があります。

フチの大きさ目安はこちら。
色の近いテクスチャ用のUVを置く場合
・256×256px = 2px
・512×512px = 4px
・1024×1024px = 8px
・2048×2048px = 16px
・4096×4096px = 32px
(一般的なフチの大きさ、最小パディング)
色が離れたUVを置き、強いMipマップをかける場合
・256×256px = 4px
・512×512px = 8px
・1024×1024px = 16px
・2048×2048px = 32px
・4096×4096px = 64px
(最小パディングの2倍フチがあると安全)
この余白が無いと、Unityで見た際に余白の色が出てくることがあります。

これは、遠くで見た時にテクスチャの解像度を下げる処理が入るのが原因です(MipMap)

解像度を下げる処理の影響でフチの色が出ます。

なので、距離でこの挙動は変わります。

こちらの対策がフチを作る事です。

これで、色混ざり問題が解決します。

詳細はこちらでまとめてます。
これが気にすべき第3のポイントです。
実際にUVを配置する
気にすべきポイントが分かったので、実際にUV配置を行っていきます。
パーツの分け方を計画する
まずパーツ分けの計画をします。
「テクスチャ&UV」「マテリアル」「メッシュ」の3つを計画します。

あくまで計画なので、必ずこれ通りにならなくて大丈夫です。
◆テクスチャ&UV
テクスチャの分け方を考えます。
改変した際、大きくパーツを削除しそうなモノをまとめます。
ここでは緑色でUV1~5と表示
(服や下着など、ケモ耳や尻尾など、別のモノに変える場合は丸ごと削除しそうなものを想定してまとめました)
◆マテリアル
基本的にテクスチャ&UVの延長で考えます。
その上で部分的に特殊なシェーダーを使いたい場合分けます。
(尻尾はファーシェーダーを使う予定なので分けるよう計画しました)
◆メッシュ
VRChatで衣装切り換え表示で使う事を想定して分けます。
ここでは青色で表示。
(服、下着、靴などは残りつつも、脱衣差分が作られる事を想定してメッシュ分けしました)

服と下着は… 衣装モデラ―の方がセットで作る事を想定して分けませんでした。
が、分けた方が良かったか、まだ少し悩んでます。
以上が、パーツの分けの計画です。
テクスチャ密度を確認できるようにする
次は、テクスチャ密度を確認できるようにします。
まず、UVの大きさを大きめに設定します。
Aキー → Sキーで拡大。

UVエディター上部の+新規を選択。

生成タイプをカラーグリッドにしてOKボタンを押します。

すると、テクスチャ密度を確認できる画像が生成されます。
次はこの画像を割当てるためのマテリアルをつくります。

右上にあるアウトライナー → 表示モードを選択。
Blenderファイルに変更。

マテリアルを開きます。
すると、モデリングの際に増えた大量の不要なマテリアルが入ってます。
Shift+クリックで複数選択 → 右クリック → 削除。


マテリアルがあるパーツをコピーペーストすると無限に増えます。
次に、画面下のウインドウを広げます。
端の方をクリックすると、広がります。

左上のボタン → シェーダーエディターを選択。

+新規で、新しいマテリアルを作ります。

Shift+A → テクスチャ → 「画像テクスチャ」を選択。

カラーとベースカラーを繋げます。
画像テクスチャの +新規 左にある「画像マーク」をクリック。

制作したカラーグリッドを選択して読み込み。

すると1つだけマテリアルが割り当てられます。
そしたらAキーで全選択 → Shift+クリックでマテリアルが割り当てられたメッシュを最後に選択。
Ctrl+Lで「マテリアルをリンク」を実行。

もしくは、マテリアルプロパティを開きます。
ここで不要なマテリアルスロットを削除。

そして1つのマテリアルスロットを残します。(すべて消えた場合は+ボタンで作成)
画像が設定されたマテリアルを読み込み。

これで、モデル全体にマテリアルを割当てます。

以上でテクスチャ密度を確認できるようになりました。

パーツのUVを並べる
まず、UVのパーツ分け方を決まます。

そのパーツ分けに合わせておおまかにUVの配置をまとめて整理します。

UV展開時は大きなUVにしてました。
なので、テクスチャ密度が高い状態になってます。

が、UV書き出しの枠内に収めると小さくなります。
そして、テクスチャ密度が下がります。

あとは、画像の枠内にUVを並べるだけです。
余白は気持ち、多めにとってください。

この時点で細かい調整は不要です。
あとで、フチを表示させて微調整します。
UVを並べるコツ
UVを並べるだけです。
と言われても、困ると思うので簡単なコツ、考え方を紹介します。
紹介する考え方は下記の3つです。
・大きいパーツから配置する
・細く長いモノは斜めすると1.4倍お得
・余ったらスペースに別のUVを入れる
大きいパーツから配置する
まず、メッシュの大きさとUVの大きさを合わせます。
パーツ分けしたメッシュを選択。
UV → 「アイランドの大きさを平均化」を選択。

この状態で、UVは大きいパーツから配置します。
この服の場合は、ワンピースの横が一番長いのでまずこれを配置します。
全体を縮小 → ワンピースを配置。

あとは、これを元にUVを配置します。
裏側など目立たないパーツは、必要に応じてUVの大きさを上げテクスチャ密度を下げます。

以上が1つ目のコツです。
細く長いモノは斜めすると1.4倍お得
尻尾は長い形状です。
このような長いモノは斜めに配置すると1.4倍大きくできます。

正方形に斜め線を引いてできるのは直角二等辺三角形です。
この形は1:1:√2の法則が成り立ちます。(詳細)
√2 ≒ 1.41なので、ななめにする方がおよそ1.4倍お得になります。


ただ、これは理論上の値です。
実際はUVの形や太さで変わります。
また、考え方の1つとして向きを優先してあえて水平垂直に置くのもアリです。

画像はXとYの2次元情報です。
なので、斜め線より縦線の方がギザギザ感を減らして綺麗に表現できます。
(ただ、テクスチャ密度が下がるのでどっちもどっちです。

個人的なおすすめ使い分けは下記。
・普通の補足て長いUV → 斜め置けないか検討する
・矩形状にした細くて長いUV → 基本は水平垂直に置く
以上が2つ目のコツです。
余ったらスペースに別のUVを入れる
実は、元々の計画では尻尾とケモミミのUVは分ける予定でした。
が、尻尾のUVだけだと大きな隙間が発生しました。
なので、この余ったスペースにケモミミのUVを入れます。

ケモミミの毛は間違って矩形状のUVを消してしまってました。
なのでUVを開きなおし、同じ位置の頂点を複数選択 → S → 0キーで1か所にまとめます。

このように、ケモ耳と尻尾のUVを合わせました。
ややテクスチャ密度が減りますが、余ったスペース的にはこちらがお得です。

以上がUVを配置する上での3つのコツです。
UVの余白を確認+再調整する


















データ整理





































おまけ:テクスチャを描く前ならUVを修正可能
テクスチャを描く前ならUVを修正可能です。
数日置いて、UVを見返して「衣装モデラーは下着は作らない人もいるのでは?」と思いました。
なので、下着と服のUVを分ける修正をしました。

そしたら、服のUVを配置し直します。

余白も含めて再調整。

次に下着のUVを再配置します。

まず、下着のモデルを選択。
UV名を「UV_UnderWear」などに変更。

そしたら、余白を考慮しUVを再配置。
これで、UVの修正が完了です。

最終的に、下図のような構造になりました。
・緑 = UV+テクスチャ数
・赤 = マテリアル数
・青 = メッシュ数

以上でUVの配置が完了です。
まとめ
今回は、UVの配置方法を紹介しました。
・UVを配置する際は「テクスチャ密度」と「余白」を意識する
・パーツを分ける場合は、事前にどのような分け方にするか計画する
・テクスチャ密度を確認するためにカラーグリッドのテクスチャを使う
・コツは大きいモノから配置する事
・テクスチャを描く前ならUV配置の修正が可能
↓次回↓(現在、制作中)
また、ほかにも3DCGについて解説してます。
ぜひ、こちらもご覧ください。
コメント