Unity
VR
VRM
VirtualCast
バーチャルキャスト

VRMモデル作成時、メッシュ直したらSpringBoneとか移すのが面倒な件


この記事について

VRMのSpringBoneやBlendShapeを別のモデルにコピーする方法のメモです。VRMモデルの作成そのものには慣れている人を対象にしています。

以下のような場合に役立ちます。


UnityでVRMをセットアップして動かしてみたらモデルに穴が開いてる! Blenderで直してFBXが出来たけどまたUnityに入れてSpringBoneとか全部設定し直すの? 面倒くさいなあ・・・・・・


この記事の手順でSpringBoneやBlendShapeなどの設定を古いモデルから新しいモデルにコピーできます。


必要なファイルなど

UniVRMのバージョンはv0.43で試しています。古いバージョンでは以下の手順は使えません。新しいUniVRMを入れ直してください。

また、SpringBoneの設定のコピーにCopyComponentsByRegexを使います。リンク先に飛んで右上の「Clone or download」から「Download ZIP」をクリックするとダウンロードできます。ダウンロードできたら、中に入っているEditorフォルダをモデルの入ったUnityプロジェクトの中に入れてください。


古いモデルから新しいモデルに設定をコピーする手順


新しいモデルをインポートしてVRMに変換する

FBXファイルを通常の手順に従ってVRM化します。この段階ではSpringBoneとBlendShapeの設定は何もされていません。


  1. 新しいFBXファイルを、古いモデルと同じUnityプロジェクトにインポートします。通常通りAnimationTypeをHumanoidにしてConfigureからボーンの設定をしてください。ここはコピーできません。

  2. その後も通常通り、そのFBXをシーンに配置してExport HumanoidでVRM化します。


BlendShapeのコピー

古いVRMからBlendShapeの設定をコピーします。モデルのブレンドシェイプの構成が変わっていると上手くコピーできないことがあります。


  1. 古いモデルのBlendShapesフォルダと、新しいモデルのBlendShapesフォルダをエクスプローラで開きます1

  2. 古いモデルのフォルダから「BlendShape.asset」以外の全てのassetファイルを新しい方のフォルダに上書きコピーします。

  3. Unity上で新しいモデルのBlendShapeを選択して、InspectorウィンドウでBlendShapeが表示されるようにします。

  4. Inspectorウィンドウ右上の歯車ボタンからRestoreをクリックします。

以上でBlendShapeの設定をコピーできました。


SpringBoneのコピー

古いVRMからVRMSpringBoneとVRMSpringBoneColliderGroupの設定をコピーします。モデルのボーンの名前や構成が変わっていると上手くコピーできないことがあります。


  1. 新しいVRMをシーン上に配置して古いモデルの横に並べておきます。

  2. Hierarchyウィンドウで古いモデルを右クリックして「Copy Components By Regex」をクリックします。

  3. 新しいウィンドウが出てきます。正規表現の部分に「VRMSpring」と入力してください。

  4. Copyボタンをクリックします。

  5. Hierarchyウィンドウで新しいモデルを選択してからPasteボタンをクリックします。

以上でSpringBoneの設定をコピーできました。


MaterialのコピーとTextureの移動

古いVRMからマテリアルの設定をコピーします。マテリアルの名前などが変わっていると上手くコピーできないことがあります。


  1. 古いモデルのMaterialsフォルダと新しいモデルのMaterialsフォルダをエクスプローラで開きます1

  2. 古いモデルのフォルダから全てのassetファイルを新しいフォルダに上書きコピーします。

  3. Unity上で新しいモデルのTexturesフォルダの中身を全て削除します。

  4. Unity上で古いモデルのTexturesフォルダの中身を全て新しいモデルのTexturesフォルダに移動します。

以上でマテリアルの設定をコピーできました。


その他

もっといい方法があったら教えてください。





  1. Projectウィンドウでファイルを右クリックして「Show in Explorer」をクリックするとそのフォルダを開けます