Godotでアニメーションをインポートする際の覚書
書いておかないと忘れるので
現在制作中のゲームにはこちらのサイトで公開されている人型キャラクターのアセットを使用させていただいているのですが、Godotでアニメーションのあるモデルをインポートして使用する際の手順がちょっと多いので、忘れないように書き留めておきたいと思います。
1.FBXファイルを使用する場合の準備
上記サイトのアニメーション付きキャラクターアセットはFBXという形式で配布されており、Godotでは標準でサポートされていません。
こちらのページを参照し、インポート用のツールをダウンロード・展開して適当な場所に置いておきます。GodotのエディターメニューからFBXインポーターの設定を開いてツールのパスを指定し、プロジェクト設定からFBXのインポートを有効にするとFBXのインポートができるようになります。
2.ファイルの格納
ダウンロードして展開したアセットのモデルとアニメーション3種のファイルをプロジェクトフォルダ内に「assets」フォルダを作って格納しておきます。ファイルにはテクスチャも含まれていますが今回は必要ありません。
3.キャラクター用シーンの作成
人型キャラクターを使用するシーンを作成します。CharacterBody3Dをルートにして必要なノードを追加し、そこへモデルのFBXファイルを右クリックからインスタンス化して追加、サイズ調整などをしておきます。AnimationPlayerとAnimationTreeのノードも忘れずに追加しておきましょう。
4.アニメーションを編集可能に設定
インポートしたアニメーションはそのままでは編集できませんので、設定を変えます。
アニメーション用のFBXファイルを右クリックしてメニューからシーンを開くと高度なインポート設定というウィンドウが出てくるので、シーンタブから編集したいアニメーションを選んでファイルへ保存を有効にし、適当なパスを入力、カスタムトラックを保持のチェックも入れます。
そうしたら再インポートを押すと指定したパスにアニメーションのファイルが作られます。
3種類あるアニメーションのFBXファイルすべてで行います。
5.AnimationPlayerに組み込む
FBXファイルを右クリックしてメニューから新しい継承シーンを作ります。
そのシーンに含まれるAnimationPlayerを選択するとウィンドウ下部にアニメーションのタイムラインが出てきますので、使いたいアニメーションを選んで編集ボタンを押し、トラックをコピーします(3の手順をやっていないと編集ボタンが押せない)。すべてのトラックを選択してコピーし、今度は実際に使用するキャラクター用シーンのAnimationPlayerノードに新規で空のアニメーションを作って、編集でトラックをペーストします。
こちらも3種類すべてからコピーして、キャラクター用シーンのAnimationPlayerノードにペーストしてひとつにまとめます。
FBXファイルから作った継承シーンは保存せず閉じてかまいません。
6.ループと秒数の設定
キャラクター用シーンのAnimationPlayerノードで、3種類のアニメーションすべてでタイムラインの右端にあるループをオンに設定します。それから新規で作成したアニメーションはすべて長さが1秒になっているのでコピーしてきたそれぞれのアニメーションに合わせて秒数を適宜調整します。
あとはAnimationTreeノードで適切にアニメーションの設定をすれば動くはずです。
以上です
ここまでお読みいただきありがとうございました。
よろしければ購読をお願いします。