【Blender】ちゃんと使えたBetter FBXアドオン【UE5】

アドオンとプラグインの違いがよく分からんのだが、Blenderの拡張機能はアドオンになるらしい。

前回の記事ではBetter FBXアドオンがちゃんと使えるんだか使えないんだかよく分からないことを書いてしまったので、ここでちゃんと使えたことと、その方法を記しておく。さらに「Blenderを使う」で書いた次のことも実現できたので、それについても記しておく。

まずはどんなアニメーションでも構わないから、MixamoでUE5のQuinnのfbxを出力→Blenderに取り込んで手直ししてfbx出力→UE5で取り込みQuinnのアニメーションとして動かす、とここまでやってみる。

Mixamo Converter Version 2.4 - October 29, 2022
Blender 4.1
BetterFBX 5.4.17
Unreal Engine 5.3.1


(1)MixamoコンバーターについてくるQuinnのfbxを使って、拝借したいアニメーションを選ぶ。

とりあえずInjured Runを選んでみた。

(2)Mixamoからfbxファイルを出力する。

フォーマットは普通のfbxで良い。
Keyframe Reductionは何を選んでも同じことになるのかもしれない。(全フレームがキーフレームになってしまう)

(3)Mixamoから出力したfbxファイルをMixamo Converterで変換する。

この変換処理によってUEのQuinnと同じ骨になる。これをやらないと見た目はQuinnでもMixamoの骨のままとなってしまう。

(4)Blenderに読み込むBetter FBX Importアドオンのパラメータを設定する。

Better FBX Importのパラメータはデフォルトにした後、Bone Optionsだけを設定すれば良い。
Bone方向の自動整列:デフォルトのまま(チェックを入れたまま)がいいと思う。
Calculate Rate:デフォルトのまま(チェックを入れたまま)がいいと思う。
Leaf Bone:デフォルトはLongだが、Shortの方が作業しやすいと思う。好みで。
Detect Deform Bone:デフォルトのまま(チェックを入れたまま)で問題ないと思う。チェックを外しても変わらなかった。
Fix Bone Poses:デフォルトでチェックが外れているが、そのままチェックを外しておく必要がある。
Fix Attribute For Unity & C4D:デフォルトでチェックが入っている。そのままでも問題なさそうだが、外しても問題なさそう。俺はチェックを外してみた。
変形ボーンのみ:デフォルトでチェックが外れているが、そのままチェックを外しておく必要がある。

(5)Better FBX ImportアドオンでBlenderに読み込む。

一見すると余計な大きい骨が付いているように見えるが、骨はUEのそれになっている。

モデリングにしてポーズを変えると、見覚えがある感じになる。

余計なモノだと思って削除すると赤で囲った「ボーンに対して重みがつけられた頂点がありません」という骨がおかしくなる。削除されるのかどうかよく分からないが、とにかく変わって、アニメーションもおかしくなるかもしれない。Quinnと同じ骨を維持しておきたいなら余計に見えても削除しない方が良さそう。

しかし、このままでは作業しにくいから余計な骨は非表示にしておく。モデリングの状態で非表示にしてもアニメーションにすると再び表示されてしまうので、アニメーションにしてから非表示にする。

これで作業しやすい。

(6)Blenderでアニメーションを一部変更してみる。

歩いている間に左手を上にあげるようにしてみる。肩と上腕、前腕のキーフレームをそれぞれ3つだけ残して、中間となる10フレーム目をそれぞれ操作する。

上腕
前腕

(7)Better FBX Exportアドオンでfbxファイルを書き出す。

デフォルトから、FBX AxisをUnreal1、Material StyleをUnreal Engineにするだけで問題ないと思う。

(8)Unreal EngineでFBXファイルを読み込む。

デフォルト設定後にImport AnimationsとForce Front XAxisにチェックを入れればちゃんと読み込める。もしかしたら他にも変えた方が良いパラメータがあるのかもしれないが、よく分からない。

自前のアニメーションシーケンス

もっと手を高く上げるようにした気がしていたんだが、見直してみたら同じだった。

(9)Quinnの走るアニメシーケンスと差し替える。

Quinnの走るアニメがどこで決定されているのか調べてみるとBS_MF_Unarmed_WalkRunというので定義されていた。ブレンドスペースとかいうものらしい。

アニメーションシーケンスのMM_Run_Fwdを自前のものに差し替えたいが、「互換性のないスケルトンを許可」しないとリストに出てこないかもしれない。FBXファイルを読み込むときに何かやればいいのかもしれないが、よく分からない。

ただし、これで完璧とはいかないらしい。4つ前の画像「自前のアニメーションシーケンス」と次のMM_Run_Fwdを見比べるとちょっと違うものがある。

たぶんだけど、この差がアニメーションに出るんだと思う。
止まった状態から歩き出すと、最高スピードになる前、加速中のアニメーションがちょっとおかしい。というか画面全体がちょっと変?全部が滑る感じになっているような気が。目の錯覚なんだろうか。


この記事が気に入ったらサポートをしてみませんか?