本日は Blender2.8 の小ネタ枠です。
cats-blender-pluginアドオンを使ってBlenderでキャラクターモデルを軽量化する手順を記事にします。
今回は軽量化したモデルを cluster で利用するため、VRM 形式のファイルに再変換します。
前回記事の続きです。
bluebirdofoz.hatenablog.com
UniVRMの準備
VRM 形式のファイルを作成するため UniVRM を利用します。
以下の記事の手順を参考に UniVRM をインポートした Unity プロジェクトを作成してください。
bluebirdofoz.hatenablog.com
軽量化モデルの取り込み
Unity プロジェクトを作成したら、前回記事で作成した軽量化モデルとテクスチャをプロジェクトにドラッグして取り込みます。
以下のようにモデルが取り込まれます。
この時点では結合したテクスチャのみをインポートしたので、結合部分以外のテクスチャは反映されていません。
モデルの基本設定
最初にマテリアルの作成と、Humanoid リグの適用を行います。
[Inspector]ビューの[Materials]タブを開き、[Extract Materials]をクリックします。
ダイアログが開くので、マテリアルの出力先フォルダを指定して[フォルダーの選択]をクリックします。
これでモデルのマテリアルが生成され、出力されました。
次に Humanoid リグの設定を行います。
[Rig]タブを開き、[Animation Type]を[Humanoid]に設定して[Apply]をクリックします。
これでモデルに Humanoid リグが適用されました。
念のため、適切にボーンの適用が行われているか、[Configure..]を開いて確認します。
確認したところ Jaw (顎)のボーンに HairJoint (髪の毛)のボーンが適用されてしまっていました。
VRoid モデルには顎のボーンはないので[None]に再設定して[Apply]で反映しておきます。
他の箇所についても適切なボーンが紐づいていることを確認してください。
オリジナルの VRM ファイルの取り込み
基本設定が完了したらマテリアルの設定を行います。
今回は結合を行わなかったマテリアルが幾つかあるので、結合しなかったマテリアルはオリジナルの VRM ファイルから取得します。
編集元の VRM ファイルをロジェクトにドラッグして取り込みます。
するとオリジナルの VRM モデルのマテリアルが[ファイル名.Materials]フォルダに出力されます。
再び軽量化モデルの[Inspector]ビューの[Materials]タブを開きます。
同名のオリジナルのマテリアルを各マテリアルにドラッグして上書きしていきます。
全て差し替えたら[Apply]をクリックして反映します。
[Inspector]ビューを開きなおすと、以下の通り、結合箇所以外のマテリアルがオリジナルのマテリアルで適用されました。
結合マテリアルの設定
最後に結合したマテリアルを手動で調整します。
調整結果が見やすいよう、モデルを[Hierarchy]配下にドラッグして[Scene]に表示します。
結合マテリアルは出力したマテリアルを選択し、直接編集することで調整します。
今回は結合マテリアルについても VRM/MToon シェーダを利用するように変更してみます。
VRM/MToon シェーダに切り替えて、[Lit Color]を[R:255,G:255,B:255]にすればそれなりの見た目になります。
拘りたい方はオリジナルのマテリアルなどを参考にその他の項目も調整してみると良いです。
cluster での見栄えを考えると[Shading Toony]などは[0.5]に抑えるのがオススメです。
服の結合マテリアルについても同様に変更を行います。
透明化が必要なマテリアルについては、追加で[Rendering Type]を[Cutout]または[Transparent]に変更する必要があります。
既存マテリアルの軽量化
今回、オリジナルの VRM のマテリアルを利用しましたが、オリジナルのマテリアルには様々なテクスチャが設定されています。
cluster にはテクスチャ枚数の制約もあるため、カラーテクスチャ以外の参照は削除しておいた方が良いでしょう。
[Normal Map]、[Emission]、[MatCap]などのテクスチャが設定されています。
[None]に設定しておけば、テクスチャへの参照が切れるため、モデルにテクスチャが含まれないようになります。
解除しても劣化の少ないテクスチャは全て外しておきます。
再利用するマテリアル全てに同様の軽量化を行います。
VRMファイルの出力とアップロード
これで全ての軽量化の編集作業は完了です。モデルを VRM 形式のファイルとして出力します。
[Hierarchy]配下のモデルを選択した状態でメニューから VRM -> Export humanoid をクリックします。
出力ダイアログが表示されるので、[Title]、[Version]、[Author]を入力して[Export]をクリックします。
[Force T Pose]、[Pose Freeze]のチェックは入れたままにしておきます。
これで軽量化したモデルを VRM 形式で出力できました。
以下の記事を参考に、cluster へモデルをアップロードするとアバターとして利用できます。
bluebirdofoz.hatenablog.com