takeyohのおぼえがき

気になったこと、試したことの記録です。

mixamoを使ったアニメーション作成

Mixamo

 

Aスタイル、Tスタイルの3Dキャラクタモデルを用意。

blender起動

モデル読み込み。

モデルの回転設定をX=90度、Y=0度、Z=180度に設定。

モデルを選択、編集モードに切り替えて回転・移動させて、下の図の位置に動かす。

(+Zが頭頂方向、+Y方向が前方向となるようにする。)

モデルをfbxでエクスポート。設定はエンプティ、メッシュ、その他を選択。スケールは0.01。前方は「-Z(マイナスZ)が前方」を選択。アニメーションをベイクのチェックを外す。

mixamoのサイトにログイン。「UPLOAD CHARACTER」を選択



先ほどエクスポートしたfbxファイルをドラッグ&ドロップする。キャラクタが表示されたら、正面に向ける。

関節となる部分にマークを持っていきます。それぞれ置く場所は下記図の通り。

数分間処理の時間が走ります。

その後、下記の図のように正しい向きで動けばOKです。

 

左のメニューのアニメーションから適用したものを選択すると、右のキャラクタがそれに合わせて動きます。

「DOWNLOAD」をクリックしてfbxファイルをダウンロードする。

 

blenderを新規に起動。mixamoからダウンロードしたfbxをインポートする。

インポートの設定は下図の通り。スケールは100(倍)、前方は「-Z(マイナスZ)が前方」を選択、アニメーションにチェックを付けます。

インポートするとこうなってます。

下のタイムラインの最後の部分を「終了」と合わせます。特にループアニメーションの場合は必要。最後の黄色のひし形のフレーム番号(下記例だと242)を確認し、終了部分にその番号(242)を入れる。

 

ここからさらにfbxでエクスポートします。設定は下図の通り。
エンプティとアーマチュアとメッシュとその他を選択。

前方は「Z(プラスのZ)が前方」を選択。

アニメーションをベイクにチェックをいれ、その下の4つのチェックをすべて外す。

 

ksEditorを起動し、blenderでエクスポートしたfbxを読み込みます。

マテリアルが全く設定できていないので、すべて設定する必要があります。

(2023/1/22追記)
知り合いの方から追加情報いただきました。
このfbxのファイル(例えば、miku.fbx)にもともと設定ファイル(miku.fbx.ini)があったりすると、その設定が優先されます。

アニメーションさせるモデルのマテリアルに設定するシェダーはksSkinnedMeshじゃないといけないのですが、もとの設定ファイルのマテリアル設定のシェダーがksPerPixelとかだと、そちらが優先されてモデルがアニメーションしないというものです。
対策としては、もともとの設定ファイルをリネームまたは削除した状態で、fbxファイルを読み込むと、モデルのマテリアルが自動でksSkinnedMeshに設定されます。
または、元の設定ファイルのマテリアルに設定されているシェダーをksSkinnedMeshに置換する方法でもOKなようです。

 

さらに、FileからOpen FBX Animationを選択。もう一度blenderからエクスポートしたファイルを読み込む。

すると、下の欄にある「Animations」タブにあるスライダーを左右に動かすと、モデルがアニメーションします。(下図はまだマテリアルが設定されていないため色が変ですが、ご容赦ください。)

あとは、車としてkn5ファイルを生成すれば完了です。あとは車とやり方は同じです。

 

/* -----codeの行番号----- */