以前、mixamoを使って作ったモデルをblender経由でもassettocorsaで使える方法を書きました。
あれから、もう少し弄っていて、一つモデルを作って、あとはアニメーションを追加していくというやり方ができないか?と前後ろが逆なのが気になっていて、それを直せたので、覚書第2弾です。
まず、アニメーションさせたい人物の3Dデータをblenderにインポートします。
AモデルまたはTモデルがやりやすいです。
オブジェクトプロパティでモデルの回転をX=90,Y=0,Z=0に設定。(X=90が必要なのかどうかがまだ完全に検証できてません・・・)
あとスケールはX,Y,Zすべて1にします。
この状態で、人物のオブジェクトを選択し編集モードに切り替え。
グローバル座標で-Y(マイナスY)方向が正面になるようにする。(ローカル座標では+Z方向)
(↑この部分が前回と異なってます。)
あわせて、編集モードのまま、オブジェクトサイズを変更して、身長を適切な高さに修正します。
調整ができたら、fbxでエクスポートします。→①
設定は”サイズは0.01,-Z(マイナスZ)が前方”です。
①のfbxをmixamoにアップして、リグを作成し、お好きなアニメーションを設定し、fbxをダウンロードします。
このプロセスは前回の覚書と同じなので、そちらをご参照ください。
ここからがちょっと変わります。
考え方としては、ボーンとウェイトが設定された基本のモデルをkn5で作成し、アニメーションの作成を切り離し、アニメーションを複数作っても、モデルは一つだけあればOKという状態を作ります。
まず、基本モデルとなるkn5の作成です。
ダウンロードしたfbxをまたblenderでインポートします。→②
設定は”サイズは100、-Z(マイナスZ)が前方"です。
アーマチュアを選択して、ポーズモードに切り替えます。
オブジェクトデータプロパティでビューポート表示にある、「最前面」というところにチェックを付けると、オブジェクトの中に埋まって見えないボーンも見えるようになります。操作が楽になるので、お勧めです。
ポーズモードの状態で、左上のポーズからトランスフォームをクリア→すべてを選択すると、ボーンが設定された状態のTポーズ・Aポーズに戻ります。
続いて、設定されているアニメーションを削除します。
右上のツリーをビューレイヤーからBlenderファイルに切り替えます。
アクションの中にある項目を削除します。
削除するとアニメーションの設定がすべて消えます。
ここまでできたら、kn5を作成するためのfbxをエクスポートします。
(オブジェクトの面数が65535を超えているとksEditorでは取り込めないので、あまり複雑な形状のキャラクタは調整が必要な場合があります。)
エクスポートの設定は”サイズは0.01、-Z(マイナスZ)が前方”です。アーマチュアにもチェック入れるのを忘れずに!→③
③のファイルをksEditorで読み込みます。
シェーダーやマテリアルの設定は、前回の覚書と同様です。
使用可能なシェーダーが限られてますのでご注意を。
設定が出来たらkn5を生成します。
これで、ベースとなるkn5は完成です。car modとして利用が可能です。(ドライバモデルとしては使えません。)
次にアニメーション作成です。
kn5を作成するときに読み込んだ上記②をもう一度行います。
設定は”サイズは100、-Z(マイナスZ)が前方"です。
アニメーションのフレームで最後のフレームの番号を確認し、”終了”のフレーム番号を変更します。この例だと最後のフレーム番号は32なので、終了を32に変更します。
そしてfbxをエクスポートします。→④
設定は”サイズは0.01、-Z(マイナスZ)が前方”です。
アーマチュアのチェックと、アニメーションをベイクの設定を忘れずに。
ksEditorで③を読み込んだ後、fbx animationファイルとして、④を読み込みます。
この辺も前回の覚書と同じです。④を読み込むとfbxと同じフォルダにksanimファイルが生成されます。
ここから先は車のmodと同じ要領でkn5とアニメーションを設置し、ext_config.iniでksanimを実行する設定を書いてゲームをスタートさせれば、アニメーションすると思います。
前回の覚書では車の進行方向に対して、キャラが後ろを向いてしまいましたが、今回の手順で作ったものは、キャラが車の進行方向を向いているので、歩くシーンなんかをつくっても違和感なくできると思います。