本日は Blender2.8 の小ネタ枠です。
cats-blender-pluginアドオンを使ってBlenderでキャラクターモデルを軽量化する手順を記事にします。
今回はモデルのマテリアルの数の削減を行います。
前回記事の続きです。
bluebirdofoz.hatenablog.com
Blenderプロジェクトの保存
cats-blender-plugin アドオンはマテリアルの結合時、テクスチャを出力します。
デフォルトの出力先は Blender プロジェクトの保存フォルダとなるので、プロジェクトを任意のディレクトリに保存しておきます。
メニューから ファイル -> 名前を付けて保存 を選択します。
ダイアログが表示されるので保存先のディレクトリと、保存ファイル名を指定して[名前をつけて保存]をクリックします。
ここで指定したディレクトリが結合テクスチャのデフォルトの出力先になります。
マテリアルの削減
マテリアルを削減するには[CATS]サイドバーを開き、[最適化]パネルを利用します。
初めに[Generate Material List]をクリックしてリストを更新します。
最適化の処理には画像処理のライブラリが必要なため、以下のような[Install Pillow]のボタンが表示されることがあります。
この場合は、まず[Install Pillow]のボタンをクリックしてライブラリをインストールする必要があります。
[Generate Material List]をクリックすると、現在のモデルが所持するマテリアルの一覧が表示されます。
ここから cluster の制約に収まるように 8 個以下のマテリアルに結合していきます。
結合の際は以下の事柄に気を付ける必要があります。
・なるべく服や肌など質感設定が行えるマテリアル同士で結合する
・テクスチャが圧縮され過ぎないようにテクスチャが大きいマテリアルを多くまとめ過ぎないようにする
・描画処理軽減のため、アルファ値の透明化が必要なマテリアルと不要なマテリアルで分ける
・VRMモデルの場合、髪の毛はテクスチャでなくマテリアルの色情報でカラー設定を行っているので結合は難しい
今回、筆者は以下のように3マテリアルを結合してみました。
服のマテリアル
顔のマテリアル
透明化が必要なマテリアル
結合したいマテリアルを選択して[Save Atlas to..]をクリックすると、マテリアルが結合されます。
ダイアログが表示されるので保存先のディレクトリを指定して[Create Atlas]をクリックします。
これでマテリアルが 8 つにまとめられました。
指定した保存フォルダには、結合されたテクスチャが出力されています。
これで Blender でのモデルの軽量化作業は完了です。
最後にキャラクターモデルを FBX の形式で出力します。
[CATS]の[Export Model]をクリックします。
マテリアルが 5 つ以上ある場合は以下のような警告ダイアログが表示されます。
無視して[Continue to Export]をクリックして出力を実行します。
これは cats-blender-plugin アドオンが VRChat 向けのモデルを作成するツールとして作成されているためです。
(VRChat ではマテリアルを 4 つとすることを推奨しています(最大では 32 個まで利用可能))
ダイアログが開くので、出力先のディレクトリとファイル名を指定して[FBXをエクスポート]をクリックします。
これで結合したテクスチャと最適化された FBX 形式のキャラクターモデルが出力できました。
cluster でアバターを利用する場合、VRM 形式のモデルである必要があるため、FBX 形式のモデルを VRM 形式に再変換する必要があります。
次回は Unity を使ってキャラクターモデルを改めて VRM 形式で再出力します。
bluebirdofoz.hatenablog.com