Version: 2022.2
言語: 日本語
アニメーションシステム概要
アニメーションクリップ

アニメーションにおける回転

Unity を使用すると、ゲームオブジェクトの回転をアニメーションにすることができます。この回転の適用方法にはさまざまなものがあり、プロジェクトに最適なものを選択できます。

回転表現については、Unity の回転と方向 を参照してください。

回転の補間

Animation ウィンドウ を使って、Unity がゲームオブジェクトに回転を適用する方法を選択できます。Unity は補間を使用して、アニメーションの中で視覚的にゲームオブジェクトがある方向から別の方向へどのように動くかを計算します。

補間方法が異なると動きも違って見えますが、結果は同じです。Unity は、アニメーションのために 3 種類の補間を用意しています。

Animation ウィンドウで、Interpolation メニューを開くと、回転補間のオプションが表示されます。
Animation ウィンドウで、Interpolation メニューを開くと、回転補間のオプションが表示されます。

オイラー角補間

Euler Angles 補間は、入力した角度で指定されたゲームオブジェクトに全範囲の動きを適用します。回転が 360 度より大きい場合、ゲームオブジェクトは正しい方向で停止する前に完全に回転します。

Euler Angles (Quaternion) 補間は上記の補間方法を使用しますが、情報はクォータニオン曲線にベイクされます。この方法はより多くのメモリを使用しますが、実行時間は若干速くなります。

クォータニオン補間

Quaternion 補間は、ゲームオブジェクトを特定の方向へ最短距離で回転させます。例えば、回転の値が 5 度でも 365 度でも、ゲームオブジェクトは 5 度回転します。

外部アニメーションソース

外部ソースからのアニメーション は、しばしばオイラー形式の回転 キーフレーム アニメーションを含んでいます。Unity はこれらのアニメーションをリサンプリングし、アニメーションの各フレームに新しいキーフレームを生成して、回転のクォータニオンの有効範囲を超える回転を回避します。

例えば、6 フレーム離れた 2 つのキーフレームがあり、x 値が 0 から 270 度の場合、ゲームオブジェクトは反対方向に 90 度回転します。それが同じ結果にたどり着くための最短の方法だからです。代わりに、Unity はすべてのフレームでキーフレームをリサンプリングして加えるため、キーフレーム間の回転は 45 度だけで、回転は正しくなります。

外部アニメーションソースの回転問題の解決

インポートされたアニメーションのクォータニオンリサンプリングが、ニーズに対し十分にオリジナルと一致しない場合、アニメーションのリサンプリングをオフにして、ランタイムにオリジナルのオイラーのアニメーションのキーフレームを使用できます。詳細については、オイラーカーブのリサンプリング を参照してください。

その他の参考資料

アニメーションシステム概要
アニメーションクリップ