本日はBlender枠です。
LumaAIなどでスキャンしたモデルは大量のテクスチャやめちゃくちゃなUVで構成されている場合が多いです。

このようなデータでは人力による修正や加工が非常に難しくなっています。
今回はこちらを人間の手である程度修正しやすい形に修正していきます。
〇環境
・Blender4.1
・Windows11PC
〇UVの準備
今回はテクスチャのベイクを行います。
ベイクとは3Dオブジェクトの持つ情報を2Dテクスチャに焼き付けることです。
テクスチャを扱う上でUVというものが非常に重要です。
オブジェクトを選択し、データプロパティからUVマップを開きます。

ここではすでにUVMapとしてUVマップが割り当てられています。
これをUVEditウィンドウで確認すると非常に細かいUVマップが広がっていることがわかります。

①UVマップの+アイコンを押し、新しいUVスロットを作成します。

②自動UV展開を実行します。

これによってある程度人間の目で認識しやすいまとまりをもったUVになりました。
〇ベイクの準備
①Shadingウィンドウメニューからマテリアルを選択し、新規テクスチャノードを作成します。

②新規テクスチャを作成します。なおテクスチャサイズに関しては今回は4kにしていますが場合によって2k、8kを選択してください。

③作成したテクスチャノードをコピーしてすべてのマテリアルに対してテクスチャノードが配置されるようにします。


以上でベイクの準備は完了です。
〇レンダリング設定とベイク
①レンダーエンジンをCyclesに変換し、GPU演算に設定します。

②オブジェクトモードでシーンにUV球を配置します。

これは全周囲からオブジェクトを照らし均一なベイク結果を得るためのライトとして使用します。
③編集モードでUV球のメッシュの法線をノーマル→反転で反転させます。

法線とは面の向きであり、これによって球の内側が表面になります。
④球に新規マテリアルを作成し、サーフェスの値を放射に設定します。

これによってライトとして使用することができます。
⑤スキャンモデルをオブジェクトモードで選択しベイクからベイクを行います。

ベイク処理が完了すると次のように見た目で見て意味のある1枚の画像が生成されます。

⑥新規でマテリアルを作成しスキャンモデルに適応します。

この状態のままでは見た目が壊れてしまっています。

⓻最初に使用していたUVMapを削除します。

これによってマテリアルとテクスチャが1つでスキャンモデルを再現できるようになりました。

スキャンデータによっては100枚のテクスチャが含まれていたりデータ量が多くなる傾向があります。
テクスチャをまとめることでその分解像度が落ちますが、この場合は2枚のテクスチャとマテリアルで再現するなどのTipsを使用するとトレードオフのバランスをとることができます。
本日は以上です。