256Ruru ちゃんを Godot Engine に取り込んで回し蹴りさせたい (1/3)

Blender でオリジナルキャラクターを作って自作のゲームにインポートして暴れさせたいなあ、と思ってるんですが、私がオリジナルキャラクターを作れるようになるのを待っていたら日が暮れてしまうので、とりあえずネットで公開されているモデルを使って話を進めることにしました。そこで登場するのが「256Ruru」ちゃんというカッコ可愛いローポリモデルです。これに Mixamo でアニメーションを付けて、Godot Engine に取り込んで、回し蹴りをさせてみました。
※ いろいろと試行錯誤する中で、わりとうまくいった方法を備忘録として残すものです。もっと簡単な方法とか正しく手順を踏んだやり方とかがあるかもしれません。
動作確認環境
- Godot Engine 4.6.1.stable.mono.official
- .NET SDK 8.0.418
- Blender 4.5.4 LTS
大まかな流れ
大まかな流れは次のとおりです。
- モデルをダウンロードする。
- Blender にインポートして、Mixamo で扱いやすい形に手直しする。
- Mixamo でアニメーションを付ける。
- モデルとアニメーションを Godot Engine にインポートする。
今回は 1 と 2 をやります。
ダウンロード
BOOTH にアカウントを作ってログインし、次の URL から 256Ruru_v1_2_1.zip をダウンロードします。
解凍したら readme.txt を確認のうえ、次の 2 つのファイルを使わせていただきます。
- fbx/256fesRuru_v_1_2_0.fbx
- sourceimages/Ruru_BaseColor.png
Blender で手直し
Mixamo には .fbx ファイルを直接アップロードできるんですが、256fesRuru_v_1_2_0.fbx をそのままアップロードしたらうまくいきませんでした。モデルに骨格が入っていたりすると上手くいかないみたいな話があるようです (未確認)。
そこで、Blender に取り込んで骨格やらその他の関係なさそうなオブジェクトやらを整理します。256fesRuru_v_1_2_0.fbx は Maya というソフトで作られていますが、私は持っていないので Blender を使用します。
Blender へのインポート
- 適当なフォルダに 256fesRuru_v_1_2_0.fbx と Ruru_BaseColor.png を一緒に置く (こうすると Blender が勝手にモデルにテクスチャを貼ってくれる)。
- Blender を起動する。
- Camera、Cube、Light は不要なので削除する (図 1)。
- [ファイル] > [インポート] > [FBX (.fbx)] (同図)
- Blender ファイルビューダイアログが開く。右側のパネルを図 2 のように設定する。
- [アーマチュア] > [リーフボーンを無視]: ON
- [アーマチュア] > [子を強制的に接続]: ON
- 手順 1 の .fbx ファイルを選択して [FBX をインポート] をクリックする (同図)。
インポートに成功してマテリアルプレビューで見ると図 3 のような感じ。
なんか、たぶん髪の毛を揺らすためのボーンだと思うんですけど、それが頭部から突き出てなんかやばい人みたいになっちゃってます。これで正常なんでしょうか? Maya で作られたものを Blender に取り込んだから表示がおかしくなってしまったんでしょうか?まあどちらにせよアーマチュアはあとで削除するので、ここはとりあえずスルーします。
また、Maya と Blender では座標系が異なる (Maya は +Z が前、Blender は -Y が前) のに、ちゃんと前を向いています。これはたぶん Blender のインポーターがよきに計らってくれたからだと思います。
不要なオブジェクトを整理する
アウトライナーに表示されている Export と Grp_Geo は今回は要らないので削除します。
- アウトライナーで Export を選択して、3D ビューポート上で Ctrl+A > [全トランスフォーム] を実行する (図 4)。これにより、N キーで確認すると 3 軸とも回転 0、スケール 1 となる。これをやっておかないと、あとで Export を削除したときにモデルが巨大化したり寝転んだりしてしまう。
- アウトライナーで Export 直下の Grp_Jnt を選択して、3D ビューポート上で Alt+P > {親子関係をクリア} を実行する (図 5)。これで Grp_Jnt が Collection 直下になる。
- アウトライナーで Export と Grp_Geo を削除する。
この時点でアウトライナーは 図 6 のようになります。
アーマチュア (骨格) を抜く
前工程により、骨格入りの身体だけが残りました。ここからさらに骨格を抜き、ついでに Geo_Face を Geo_Body にまとめてしまいます。
- アウトライナーで Grp_Jnt を選択して、3D ビューポート上で Ctrl+A > [全トランスフォーム] を実行する。
- Geo_Body と Geo_Face を選択して 3D ビューポート上で Alt+P > [親子関係をクリア] を実行する。これで Geo_Body と Geo_Face が Collection 直下になる。
- アウトライナーで Grp_Jnt を削除する。
- アウトライナーで Geo_Face、Geo_Body の順に選択して (逆でもまあいいけど、ちょっとだけめんどくさくなる)、Ctrl+J で一つのオブジェクトにまとめる。
- Geo_Body を Body にリネームする。
ここまでくると図 7 のようになります。
.fbx にエクスポート
Mixamo にアップロードするために .fbx にエクスポートします。
- オブジェクトモードでモデルを選択する。
- [ファイル] > [エクスポート] > [FBX (.fbx)]
- [Blender ファイルビュー] ダイアログの右側のパネルで [対象] > [選択したオブジェクト] をオンにする (図 7)。その他のオプションはデフォルトのままでいいと思うが、もし Godot にインポートしたときに各軸の回転が 0、スケールが 1 になっていなかったら、このへんのオプションを精査する必要があるかも。
- 出力ファイル名を入力して (ここでは 256Ruru-NoArmature.fbx とした)、[FBX をエクスポート] をクリックする。
これで Mixamo にアップロードするファイルが準備できました。次回へ続きます。
関連記事
- 256Ruru ちゃんを Godot Engine に取り込んで回し蹴りさせたい (2/3)https://retrotecture.jp/godot/import_256ruru2.html
- 256Ruru ちゃんを Godot Engine に取り込んで回し蹴りさせたい (3/3)https://retrotecture.jp/godot/import_256ruru3.html







