· 

【Blender】テクスチャーをまとめる

Last Updated  2024.08.27


 Blenderでテクスチャーをまとめようとした際の備忘録です。

 

  

 なお、今回はVRoid StudioからエクスポートしたVRMモデルの、初期設定シェーダーである 

 [ MToon_unversioned ] を採用した状態でのお話になります。

新しいUVマップの作成

 画面右下のプロパティ内、《オブジェクトデータプロパティ》を選択(緑のっぽいアイコン)

 UVマップ欄の『+』で追加することが出来ます。

 今回は服のテクスチャーをまとめようとしているので、解りやすい名前にしました。

 

 ※名前横のカメラアイコンは、どのUVマップをレンダリングするかの設定になります。


 テクスチャーをひとまとめにするので、そこそこ大きい基盤を新規作成します。

 UVマップのワークスペース画面、左上の《画像》→《新規》を選択

 今回は2048×2048で作成しましたが、テクスチャーの書き込みが細かい場合や、パーツ数が多い場合は、更に大きいサイズの方が良いです。※容量は大きくなるので、モデルの使用目的に合わせて下さい

 

 自分は透過画像の方がいいので《アルファ》の項目にチェックを入れ

カラー》→アルファの値を1から0に変更。

 

これでOKすると、基盤になる透明な画像が作成されます。


 あとは通常のUV展開のように、各パーツのUVマップを、画像内に収まるようにまとめていきます。

 複数のオブジェクトのUVマップを表示させたい場合

 「 編集モード 」でアウトライナー欄

左端の " ・ " を、Ctrl+した状態でクリックすればOKです。

ベイクが出来ない問題

 今回はここからが本題。

 

 

 「Blender テクスチャー まとめ方」で検索すると、追加したUVマップに現在のテクスチャー画像をベイクする方法が紹介されています。

 

 ただ、ノード設定でシェーダーに [MToon_unversioned] を採用している状態(あるいはVRoid Studioからエクスポートした状態から手を加えていないパーツ)のマテリアルは、そのままベイクすることが出来ませんでした。

 

 マテリアルの『ノード構成に一切変更を加えてないパーツ』だと "真っ黒" になります。

 

 

 ノード構成をあれこれ弄ればいけるっぽいのですが──

▲いちおういけた成功例
▲いちおういけた成功例

 

 

 正直、この手の作業はペイントソフトの方が慣れているので、VRoidモデルから流用するテクスチャーは、もう外部ソフトで配置、サイズ調整してしまいました。その方が、手間ですけど直感的で早かったんですよ……

 方法としては、UVマップワークスペース上の《UV》→《UV配置をエクスポート》で、ひとまとめにした版のUV配置を画像出力し──

 そのUVマップに合わせてペイントソフトで透過を駆使して重ねました。

▲力業でテクスチャーをまとめる様子
▲力業でテクスチャーをまとめる様子

 正直、これは参考にならない方法だと思うので、もっとノード構成の理解が深まった際に、改めて挑戦したいと思います。テクスチャー削減のためだけに時間かけるわけにもいかないので……

テクスチャーの再設定

 テクスチャーを1枚の画像にまとめたら、各パーツのテクスチャーを再設定していきます。

 

 作業自体は、シェーディングの《画像ノード》に設定してあるテクスチャーを、新しく作った画像に差し替えるだけです。 ※冒頭で作成したUVマップを選択している状態で行って下さい。

▲[ MainTexture ] に繋げてる画像ノードのみ差し替えると、マテリアルビュー以降がピンク表示されてしまうので……

 [ ShadeTexture ] の画像も忘れずに差し替えます。

 全てのパーツの差し替えが終わり、表示に問題がなければ、古いUVマップは削除します。

 ※削除しておかないと、出力した際にテクスチャーの表示がおかしくなります

おわりに

 テクスチャーをまとめるだけで、想定より時間がかかり、記事も長くなってしまいました。

 

 ただ、これをやっておかないと、VRoid StudioからエクスポートしたVRMモデルは最初に設定されているテクスチャー名が " ただの番号 " なものが含まれているため、解りづらいですし──ひとつのモデルに使用しているテクスチャーの数が多いと、キャラが増えるごとに『ネズミ算式』に増えてしまうため、ある程度の圧縮は必須なんですよね。

 

 ベイクしてまとめる方法は結局『未修』なのですが、今後も引き続き勉強し、なんとか自分がやり易い方法を模索したいと思います。

 ……VRoid Studioからエクスポートする際にマテリアル削減の項目があるので、この時点で一旦まとめてしまう方が速いかもしれませんね。

 これに関しては、次のモデルを作る際に試してみる予定です。