Version: 5.4
Root Motion Node を選択
アニメーションウィンドウ ガイド

オイラー曲線のインポート

3Dアプリケーションの回転は、通常、クォータニオンか オイラー角の2つの方法のどちらかで表現されています。ほとんどの部分では、Unity は回転の内部表現としてクォータニオンを使用しています。内部で使われているクォータニオンですが、Unity で回転と方向 の基本的な理解をすることは重要です。

外部ソースからアニメーションをインポートする場合、一般的にはオイラー形式でキーフレームアニメーションを保存します。ですが Unity のデフォルトでは、これらのアニメーションをクォータニオンの値でサンプリングしなおし、アニメーションのフレームごとに新たなクォータニオンのキーフレームを生成します。またこのときに、ソース元のアニメーションとUnity上での見え方で、差異が最小限になるよう試みます。

インポートしたアニメーションをクォータニオンで表現する場合、リサンプリングしても、オリジナルと完全には一致できない事があります。このため、Unity 5.3以降には、アニメーションのリサンプリングをオフにするオプションがあり、クォータニオンの代わりに、元々のオイラーアニメーションのキーフレームを使用することも可能になっています。

インポートしたアニメーションでオイラー曲線のサポートを使用する

アニメーションファイルのオリジナルの Euler Curve の設定値を使用するためのサポートを有効にするには、Animations Import Inspector の “カーブのリサンプリング” オプションを オフ に設定する必要があります。

Animations Import Inspector のリサンプリングカーブのオプション
Animations Import Inspector のリサンプリングカーブのオプション

このオプションを有効にすることで、回転はクォータニオンに対してリサンプリングされます。これは、デフォルトの振る舞いです。 無効にした場合、回転のカーブはリサンプリングされず、オイラーかクォータニオンの、どちらか適切な方が選択された上で、元々のキーフレームがインポートされます。注意: 前後に回転するタイプのジョイントのローテーションは、FBX SDK によって自動的にリサンプリングされ、クォータニオンカーブとしてインポートされます。

インポートされたファイルの最大の多様性と忠実性をサポートするために、Unity は、すべて通常の(リピートなし)オイラー回転順番をサポートします。また、カーブはオリジナルの回転順番でインポートされます。

回転のリサンプリングを無効にして、オリジナルのオイラーカーブを使う主な理由は、デフォルトのクォータニオン補完では誤った結果になり、問題が発生するからです。

アニメーション再生中の結果

リサンプリングしない回転アニメーションを使用すると、アニメーションの再生時にちょっとだけ視覚的差異が生じるはずです。しかし内部では、オイラー角でインポートされた回転カーブは、実行時でさえ、常に保持されるようになっています。

クォータニオンに関するエンジンの仕様により、回転値は、ある時点でクォータニオンに変換されなければなりません。Unity 5.3以前のバージョンでは、この変換は常にインポート時に起こりました。Unity 5.3では、 Animation Import のインスペクターでカーブのリサンプリングを無効にした場合、回転の値はゲームオブジェクトに適用されるまでオイラー値として保持されるようになります。これによる最終結果は、以前より良くなることはあっても、悪くなることはないはずです。

メモリを賢く使い、オーサリングソフトでベイクされていない回転カーブに関して、恩恵を受けられるでしょう。

Transform Inspector 上のオイラー角のデフォルト以外の順番

Unity のトランスフォームインスペクターで使用されるオイラー角は、デフォルトで Z,X,Y の順番で適用されます。

Unity のデフォルトと異なる回転順によるオイラー曲線がインポートされたアニメーションを再生や編集する場合、現在の回転順の指示が回転フィールドの横に表示されます。

デフォルト以外の回転順が、このオブジェクトで回転するアニメーションに使用されていることを示すインスペクター
デフォルト以外の回転順が、このオブジェクトで回転するアニメーションに使用されていることを示すインスペクター

異なる回転順による複数のトランスフォームを編集する場合、適用された同じオイラー回転が異なる回転順によるカーブで異なる結果を与えることを警告するため、ユーザーに対して警告が表示されます。

回転順序のミックスが、選択されたオブジェクトのグループで回転するアニメーションに使用されていることを示すインスペクター
回転順序のミックスが、選択されたオブジェクトのグループで回転するアニメーションに使用されていることを示すインスペクター
Root Motion Node を選択
アニメーションウィンドウ ガイド