ガイドハウツー5 分で読めます

VRM から FBX、GLB から FBX、その逆も: アニメーションを保つ 3D コンバーター

どんな 3D モデルも、ブラウザで GLB、FBX、USDZ、OBJ、STL に。スケルトン、スキンウェイト、すべてのキーフレーム、表情シェイプもそのままです。

afk.ai/rig/convert
afk.ai/rig/convert にドロップした VRM:プレビュー、FBX を選択、FBX に残るもの、変換後のファイル。待ち時間は早送りしています。 モデル:VRoid Studio の AvatarSample_C(作者:pixiv)。

afk.ai/rig/convert は、3D モデルを動かすための情報を失わずに、別のファイル形式に変換します。VRM をドロップすれば、Unity が表情シェイプ付きのリギング済みキャラクターとして読み込める FBX に。アニメーション付きの FBX をドロップすれば、Web 用の GLB に。スケルトン、スキンウェイト、すべてのアニメーションのすべてのキーフレームが、元のまま引き継がれます。

変換できるもの

読み込めるのは VRM 0 と 1.0、GLB、glTF(関連ファイル付き、または ZIP)、FBX、OBJ、STL、PLY、USD、USDZ で、150 MB までです。書き出せる形式は 5 つで、それぞれモデルのどこまでを保持できるかが違います。何が残るかは、変換する前にページに表示されます。

形式残るもの含まれないもの
GLBスケルトン、ウェイト、すべてのアニメーション、表情シェイプ、マテリアル、テクスチャVRM 専用の追加情報だけ
FBX同上。各アニメーションは個別のテイクになるVRM 専用の追加情報だけ
USDZスケルトン、ウェイト、表情シェイプ、アニメーション 1 つほかのアニメーション:USDZ はタイムラインを 1 つしか持てない
OBJメッシュ、マテリアル、テクスチャ(ZIP)スケルトン、アニメーション、表情シェイプ
STL形状(実寸、ミリメートル単位)それ以外すべて(色やテクスチャも)

Unity 用に VRM を FBX に変換する方法

  1. afk.ai/rig/convert を開いてログインします。
  2. VRM をドロップします。 VRM アプリと同じようにプレビューで再生され、髪が揺れ、表情も試せます。
  3. FBX を選びます。 このモデルについて、FBX で残るもの、変わるもの、含まれないものが一覧表示されます。
  4. Convert to FBX を押します。 当社のサーバーで作成され、自動でダウンロードされます。VRoid のアバターなら数秒、数百種類のアニメーションがあると数分かかります。
  5. Unity にインポートします。 FBX を Assets にドラッグし、Rig タブで Animation Type を Humanoid にして Apply します。
afk.ai/rig/convert で FBX を選択:VRM から FBX へ。残るもの、変わるもの、含まれないもの

VRM から FBX へ

afk.ai/rig/convert で FBX を選択:アニメーション付き GLB から FBX へ。残るもの、変わるもの、含まれないもの

アニメーション付き GLB から FBX へ

afk.ai/rig/convert が示す、FBX で残るもの・変わるもの・含まれないもの。ドロップしたモデルに合わせて判定されます。ここでは VRM の AvatarSample_C と、アニメーション 5 つ入りの GLB にしたものです。

VRM はどう変換されるか

VRM は、VRM アプリだけが読む追加情報の付いた glTF です。コンバーターは、ほかのアプリが使えるものはすべて残し、残りはほかのアプリでも使える形に変えます。

  • 表情:その名前(Joy、Angry、Blink など)が付いた表情シェイプ(ブレンドシェイプ)になります。Unity、Unreal、Blender、three.js のどれでも動かせます。
  • スプリングボーン:髪や服の揺れが、VRM アプリで再生したときと同じように、モデルのアニメーションにキーフレームとしてベイクされます。VRM 自体はアニメーションを持たないので、先に afk.ai でアニメーションを付けて ください。
  • トゥーンシェーディング:同じテクスチャを使った、通常のライティングのマテリアルになります。GLB なら、フラットなアンリットのマテリアルを選ぶこともできます。
  • 向き:VRM 0 はほとんどのアプリで後ろを向いてしまうので、前を向くように回転させます。
  • 含まれないもの:ボーンのラベル、視線(look-at)、一人称視点の設定、作者情報など、VRM アプリだけが読むもの。

VRoid Studio の AvatarSample_C を変換してみました。13.1 MB の VRM は、101 本のボーン、18,347 個の頂点、14 個のマテリアルとそのテクスチャをすべて持ち、前を向いた 10.5 MB の FBX になりました。14 個の表情は、Neutral、Joy、Angry、Sorrow、Fun、Surprised、Blink と、口の形の A、I、U、E、O という名前のシェイプキーになり、VRoid が作った 54 個の表情シェイプと並んで入りました。

  • AvatarSample_C の Neutral の表情Neutral
  • AvatarSample_C の Joy の表情Joy
  • AvatarSample_C の Angry の表情Angry
  • AvatarSample_C の Surprised の表情Surprised
コンバーターのプレビューでの JoyVRM(afk.ai 上)
同じ顔を、変換した FBX のシェイプキーとして Blender で表示したものFBX(Blender 上)
コンバーターのプレビューでの VRM の表情 4 つと、そのうち 1 つを変換後の FBX として Blender で開いたもの。表情の名前が付いたシェイプキーになっています。 モデル:VRoid Studio の AvatarSample_C(作者:pixiv)。

すべてのキーフレームを、1 フレームも違えずに

コンバーターの多くは、アニメーションをリサンプリングしたり、カーブを単純化したり、開始が 1 フレーム遅れたりします。このコンバーターはそうしません。すべてのアニメーションのすべてのキーフレームが元の位置に置かれ、各アニメーションは自分の表情の動きを保ち、元と同じく時刻 0 から始まります。

FBX では、各アニメーションが個別のテイクになり、すべてのボーンのすべてのフレームが書き出され、何も単純化されません。すべてのボーンを 1 秒間に 240 回サンプリングして測定しました。GLB から作った FBX も、その FBX から作り直した GLB も、変換前のファイルとの差は 0.002 mm、0.05 度以内に収まりました。

同じアバターに afk.ai のアニメーションを 5 つ付けて試したところ、7.2 MB の GLB が数秒で 29.3 MB の FBX になりました。各アニメーションは 120 fps の個別のテイクで、すべてのフレームにキーがあり、どれにも髪やコートの揺れが入っていました。

その代わり、FBX は大きくなります。afk.ai の無料アニメーション 193 種類すべてを 1 体のキャラクターに付けると、FBX は約 230 MB になり、変換には 2 分ほどかかります。

  • Dance Groove
  • Jumping Jacks
  • Run Anime
変換した FBX の 3 つのテイクを Blender でレンダリング。アニメーションは元のままで、髪とコートの揺れもベイクされています。 モデル:VRoid Studio の AvatarSample_C(作者:pixiv)。

Blender、Unity、Unreal、Godot で使う

  • Blender:File、Import、FBX。各テイクはアクションとして、表情シェイプはシェイプキーとして読み込まれます。
  • Unity:Rig タブを Humanoid にします。各テイクはアニメーションクリップになり、表情シェイプは Skinned Mesh Renderer のブレンドシェイプになります。
  • Unreal Engine:Import Morph Targets と Import Animations をオンにして、Skeletal Mesh としてインポートします。
  • Godot と three.js:GLB をそのまま読み込めます。
  • Apple デバイス:USDZ は Quick Look と Reality Composer で開けます。
  • 3D プリント:実寸・ミリメートル単位の STL、または OBJ を使います。
Blender の Shape Key Editor に Neutral、A、I、U、E、O、Blink、Blink_L、Blink_R、Angry、Fun、Joy、Sorrow、Surprised が並び、顔には Joy

VRM の FBX:14 個の表情がシェイプキーに。Joy は 1

アニメーション付き FBX を開いた Blender:ダンス途中のアーマチュア、Outliner の 5 つのアクション、Action Editor の全フレームのキー

アニメーション付き GLB の FBX:5 つのテイク、全フレームにキー、120 fps

2 つの FBX ファイルを Blender 5.2 で開いたところ。 モデル:VRoid Studio の AvatarSample_C(作者:pixiv)。

自分のモデルを、どの形式でも

afk.ai/rig でリギングしたモデルも、5 つの形式すべてでダウンロードできます。チェックしたアニメーション入りの GLB か FBX、アニメーション 1 つ入りの USDZ、静止した状態の OBJ か STL です。変換したモデルは、このブラウザ内の Your Models に保存されるので、あとから別の形式でダウンロードし直せます。+ ボタンで自分のモデルを追加して、どの形式でもダウンロードすることもできます。

よくある質問

VRM を FBX に変換するには?

VRM を afk.ai/rig/convert にドロップし、FBX を選んで Convert to FBX を押します。スケルトン、スキンウェイト、テクスチャはそのまま引き継がれ、表情は表情シェイプになります。

変換してもアニメーションは残りますか?

はい。GLB と FBX では、すべてのアニメーションのすべてのキーフレームが残ります。USDZ はアニメーションを 1 つしか持てないので、最初のアニメーションが入ります。OBJ と STL は静止したモデルになります。

VRM の表情は Unity で使えますか?

はい、ブレンドシェイプとして使えます。各表情は、その名前(Joy、Blink、Angry)が付いた表情シェイプとして Skinned Mesh Renderer に入り、スクリプトやアニメーションから動かせます。

髪の物理は残りますか?

ベイクされます。FBX、GLB、USDZ ファイルにはスプリングボーンを入れられないため、VRM アプリで再生したときと同じ揺れが、各アニメーションにキーフレームとして書き込まれます。エンジン上では、物理の設定なしで再生されます。

FBX から GLB、GLB から FBX に変換できますか?

はい、どちら向きにもできます。OBJ、STL、PLY、USDZ からも変換できます。Collada (.dae) には対応していません。

VRM に変換できますか?

まだできません。フェイストラッキングと物理付きの VRM 書き出しは、近日対応予定です。

FBX が大きいのはなぜ?

この FBX はすべてのボーンのすべてのフレームを保持しているので、動きが正確です。アニメーションが数百あれば、数百 MB になります。アニメーションを減らすか、ずっと小さい GLB を使ってください。

無料ですか?

はい。無料アカウントで 1 日 10 回まで変換できます。ファイルは 150 MB までです。

モデルをリギングしてアニメーション

ブラウザで AI がリギングし、数百種類のアニメーションがそのモデルで再生されます。どのエンジンでも使える GLB を 1 つダウンロードできます。

モデルをリギング

ほかのガイド