UnityのTimelineでキャラクターがその場から動かない?その場でアニメーションしてしまう(解決済み)

モーション付きのアニメーションファイル(.anim)を適用したキャラクターを、カメラとともにUnityのTimelineで制御したときのお話です。
管理がめん…大変なので、ひとつの空オブジェクトを作ってタイムラインを適用、そこにカメラやオブジェクトの切り替え等ができるようにしていたのですが、キャラクターがその場から動かない。Animator Controllerの「Apply Root Motion」のチェックを入れ忘れて再生したときような…その場でアニメーション再生されてしまいました。
その解決方法です。もしかしたらもっと最適な解決方法があるかと思います。その際はコメント等でご教示頂けますと幸いです。

キャラクターのTinelineを設定する

1.Animator Controllerにアニメーションさせたい「.anim」ファイルをセットし、キャラクターに適用させる。その際に「Apply Root Motion」にチェックを入れておく

2.「Assets」を右クリックして、「Create」→「Timeline」を選択し、タイムラインを作成する

3.作成したタイムラインをキャラクターにドラッグ&ドロップする

4.作成したタイムラインを「Hierarchy」にドラッグ&ドロップする

5.キャラクターに適用したタイムラインを開き、「+」マークから「Animation Track」を選んでAnimation Trackを追加する

6.新規に追加したトラックの「None」となっているところに、アニメーションさせたいキャラクターをドラッグ&ドロップする

7.トラックにアニメーションファイル(.anim)をドラッグ&ドロップする

全体のTimelineを設定する

8,「Hierarchy」の「+」をクリックし、「Create Empty」を選んで空のオブジェクトを作成する

9.「Assets」を右クリックして、「Create」→「Timeline」を選択し、タイムラインを作成する

10.作成したタイムラインを8.の空のオブジェクトにドラッグ&ドロップする

11.空のオブジェクトに適用したタイムラインを開き、「+」マークから「Activation Track」などを追加してカメラの設定やオブジェクトの表示/非表示を設定する

キャラクターのTimelineを全体のタイムラインに呼び出す

12.「+」マークから「Control Track」を選んでControl Trackを追加する

13.4.でドラッグ&ドロップしたHierarchy上にあるタイムラインを、下記のようにControl Trackのトラックにドラッグ&ドロップする

スクリーンショット 2020-08-17 15.07.17

14.キャラクターの初期再生位置を変えたい場合は、キャラクターのタイムラインを開きトラックをクリックする。するとInspectorに下記が表示されるので、PositionとLotationを設定する

スクリーンショット 2020-08-17 15.09.20

15.カメラ等を設定した方のタイムラインを再生すると、キャラクターもAnimator Controllerのときと同様に移動して動く(ただしそのようなアニメーションが適用されている場合)

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