3DCG

修正したVRMモデルに差し替える手順 (blender→Unity)

出来上がったVRMモデルにミスが見つかったりして、差し替える事って結構あるのですよね。

そこで修正したモデルに差し替える手順を、自分用に備忘録として書いておきたいと思います。blenderとUnityはしばらく使ってないと忘れてしまうので(汗)

なお、前提条件としてボーン 構造は一切いじっていない場合とします。

blenderでFBXを書き出す

まずは、blenderで作って修正したモデルをFBXで書き出します。

vrm fbx 差し替え

一度書き出してるので問題ないかと思いますが、エクスポートでチェックするべき点は、以下の3点。

fbx vrm 差し替え

  • スケールを適用:すべてFBX
  • トランスフォーム適用:チェック
  • スムージング:法線のみ(これによりカスタム法線が反映されます)

オブジェクトタイプはアーマチュアとメッシュだけで大丈夫です。

あと、リーフボーン(末端のボーン)の追加が不要な場合は、アーマチュア > リーフボーン追加 のチェックを外します。

リーフボーン追加

これでエクスポートしてください。

UnityでVRMを正規化

次にエクスプローラを開いて、以前に作業したUnityのFBX→VRM正規化用のプロジェクトファイル中の、モデルのFBXファイルを新しいものに上書きします。

テクスチャも変更した場合は、新しい画像ファイルに上書き。

次に、そのプロジェクトファイルを開きます。

fbx vrm 差し替え

上記のように上書きして開くと、モデルとテクスチャは新しいものに変更されています。そしてモデル選択してVRMを正規化。

fbx vrm 差し替え

UniVRMのメニューからモデルのVRMファイルを書き出してください。

スプリングボーン、ブレンドシェイプ、視線制御などをコピー

最後に、Unityで最終的なVRMを書き出します。

まず、スプリングボーン、ブレンドシェイプ、視線制御などをコピーするので、その元となるモデルを読み込みます。

次に、先ほど正規化したVRMも読み込んでおきます。

fbx vrm 差し替え

上の画像では、左がコピー元のモデル、右がコピー先の新しいモデルです。

ここで、コピーには「UniVRMExtensions」というツールを使うので、あらかじめインポートしておいてください。すごく便利なツールです!

UniVRMExtensions - ぽけもり BOOTH支部 - BOOTH
English → Unityのエディタ拡張です。次の2つの機能を含みます。 いずれもUnityエディタ上部の VRM メニュー内に項目を追加します。 🧩 VRMInitializer 🧩 エクスポート→インポートを挟まず、.fbx や .blend を直接VRMプレハブ化してVRMの設定を行えるようにします。 1回...

 
そしてUniVRMのメニューから、CopyVRMSettingsを選択。するとコピー内容を設定するウィンドウが現れます。

fbx vrm 差し替え

ここでは、コピー元のモデルとコピー先のモデルを指定。そしてスプリングボーンやブレンドシェイプなど、コピーする項目にチェックを入れ、決定したら実行します。

fbx vrm 差し替え

すると、見事にコピーできました。素晴らしい!

これでVRMを書き出して、差し替え完了です。

最後に

UniVRMExtensionsでは、VRMInitializerを使ってエクスポート(正規化)→インポートの手順を省けるそうですが、自分の環境 (Unity 2019) ではうまく動作しなかったので、この方法が確実でした。

参考になれば幸いです。

【著者:Mitchie M @_MitchieM

コメント

タイトルとURLをコピーしました