Unity を使用すると、ゲームオブジェクトの回転をアニメーションにすることができます。この回転の適用方法にはさまざまなものがあり、プロジェクトに最適なものを選択できます。
回転表現については、Unity の回転と方向 を参照してください。
Animation ウィンドウ を使って、Unity がゲームオブジェクトに回転を適用する方法を選択できます。Unity は補間を使用して、アニメーションの中で視覚的にゲームオブジェクトがある方向から別の方向へどのように動くかを計算します。
補間方法が異なると動きも違って見えますが、結果は同じです。Unity は、アニメーションのために 3 種類の補間を用意しています。
Euler Angles 補間は、入力した角度で指定されたゲームオブジェクトに全範囲の動きを適用します。回転が 360 度より大きい場合、ゲームオブジェクトは正しい方向で停止する前に完全に回転します。
Euler Angles (Quaternion) 補間は上記の補間方法を使用しますが、情報はクォータニオン曲線にベイクされます。この方法はより多くのメモリを使用しますが、実行時間は若干速くなります。
Quaternion 補間は、ゲームオブジェクトを特定の方向へ最短距離で回転させます。例えば、回転の値が 5 度でも 365 度でも、ゲームオブジェクトは 5 度回転します。
外部ソースからのアニメーション は、しばしばオイラー形式の回転 キーフレーム アニメーションを含んでいます。Unity はこれらのアニメーションをリサンプリングし、アニメーションの各フレームに新しいキーフレームを生成して、回転のクォータニオンの有効範囲を超える回転を回避します。
例えば、6 フレーム離れた 2 つのキーフレームがあり、x 値が 0 から 270 度の場合、ゲームオブジェクトは反対方向に 90 度回転します。それが同じ結果にたどり着くための最短の方法だからです。代わりに、Unity はすべてのフレームでキーフレームをリサンプリングして加えるため、キーフレーム間の回転は 45 度だけで、回転は正しくなります。
インポートされたアニメーションのクォータニオンリサンプリングが、ニーズに対し十分にオリジナルと一致しない場合、アニメーションのリサンプリングをオフにして、ランタイムにオリジナルのオイラーのアニメーションのキーフレームを使用できます。詳細については、オイラーカーブのリサンプリング を参照してください。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.