Version: Unity 6.0 (6000.0)
言語 : 日本語
ヒューマンテンプレートウィンドウ
オイラーカーブのリサンプリング

Animation タブ

Switch to Scripting

__アニメーションクリップ__は、Unity のアニメーションの最小の構成要素です。RunLeft、Jump、Crawl など、独立したモーションの一部を表し、さまざまな方法で編集して組み合わせることにより、リアルなアニメーションが生成できます (アニメーションステートマシンアニメーターコントローラー、または ブレンドツリーを参照してください)。アニメーションクリップ は、Unity のアニメーションの最小の構成要素です。それらは、RunLeft、Jump、Crawl などの独立したモーションを表し、様々な方法で操作し組み合わせることで、活気のあるアニメーションを生み出すことができます (アニメーションステートマシンアニメーターコントローラーブレンドツリー を参照)。 インポートした FBX データからアニメーションクリップを選択できます。

アニメーションクリップを含むモデルをクリックすると、以下のプロパティが表示されます。

アニメーションクリップインスペクター
アニメーションクリップインスペクター

Inspector ウィンドウの Animation タブは 5 つの部分に分けられています。

(A) アセット特有のプロパティ。これらの設定は、アセット全体のインポートオプションを定義します。

(B) クリップ選択リスト。このリストから任意の項目を選択してプロパティを表示し、そのアニメーションをプレビューできます。新しいクリップを定義することもできます 。

(C) クリップ固有のプロパティ。これらの設定は、選択した__アニメーションクリップ__のインポートオプションを定義します。

(D) クリッププロパティ。これらの設定は、すべてのアニメーションクリップのインポートオプションを定義します。

(E) アニメーションプレビュー。アニメーションを再生し、特定のフレームを選択することができます。

アセット特有のプロパティ

アセット全体のインポートオプション
アセット全体のインポートオプション

これらのプロパティは、このアセット内で定義されたすべてのアニメーションクリップと制約に適用されます。

プロパティ 機能
Import Constraints このアセットから コンストレイントをインポートします。
Import Animation このアセットからアニメーションをインポートします。

ノート:無効にすると、このページの他のすべてのオプションは非表示になり、アニメーションはインポートされません。
Bake Animations キネマティックなキーフレームを転送するために、IK やリアルタイムな計算で作成されたアニメーションをベイクします。

Autodesk® Maya®、Autodesk® 3ds Max®、Cinema 4D ファイルのみに使用可能です。
Resample Curves Unity のデフォルトの動作は、これらのアニメーションカーブをクォータニオン値でリサンプリングし、アニメーションのすべてのフレームに対し新しいクォータニオンのキーフレームを生成します。

このオプションは、インポートファイルにオイラー曲線が含まれている場合にのみ表示されます 。このオプションはデフォルトで有効です。

アニメーションカーブをもともと作成された通りに保つ場合は、選択しません。このオプションを無効にするのは、元のアニメーションと比較したときに、リサンプリングされたアニメーションに補間の問題がある場合だけです。
Anim.Compression アニメーションをインポートするときに使用する圧縮のタイプ。
Off アニメーション圧縮を無効にします。つまり、Unity はインポート時にキーフレーム数を減らしません。アニメーション圧縮を無効にすると、精度が非常に高いアニメーションになりますが、パフォーマンスの速度が低下し、ファイルとランタイムメモリのサイズが増大します。通常、このオプションを使用することはお勧めできません。高精度のアニメーションが必要な場合は、代わりにキーフレームの削減を有効にし、Animation Compression Error 値をできるだけ低くします。
Keyframe Reduction インポート時に重複するキーフレームを削減します。有効にすると、Inspector に Animation Compression Error のオプションが表示されます。これはファイルサイズ (ランタイムメモリ) とカーブの評価方法の両方に影響します。

LegacyGeneric、および Humanoid アニメーションタイプのリグに適用されます。
Keyframe Reduction and Compression インポート時にキーフレームを減らし、ファイルにアニメーションを格納する時にキーフレームを圧縮します。ファイルサイズのみに影響し、ランタイムのメモリサイズは、Keyframe Reduction をオンにした場合と同じになります。有効にすると、Inspector に Animation Compression Error のオプションが表示されます。

Legacy アニメーションタイプリグのみ。
Optimal Unity が圧縮の仕方を判断します。キーフレームを削除するか、高密度な (dense) 形式を使用するかのいずれかです。有効にすると、Inspector に Animation Compression Error のオプションが表示されます。

Generic__および__Humanoid アニメーションタイプのリグのみ。
Animation Compression Errors Keyframe Reduction または Optimal 圧縮が有効な場合のみ使用可能です。
Rotation Error 回転カーブ圧縮の許容誤差を (角度として) 設定します。Unity はこれを使用して、回転カーブ上のキーを削除できるかどうかを判断します。

これは、元の回転値と削減された値の間の最小角度を表します。

Angle(value, reduced) < RotationError
Position Error 位置カーブ圧縮の許容誤差を (パーセンテージで) 設定します。Unityはこれを使用して、位置カーブ上のキーを削除できるかどうかを判断します。詳細については、位置とスケールカーブのキー 削減の許容誤差の設定を参照してください。
Scale Error スケールカーブ圧縮の許容誤差を (パーセンテージで) 設定します。Unity はこれを使用して、スケールカーブ上のキーを削除できるかどうかを判断します。詳細については、位置とスケールカーブのキー 削減の許容誤差の設定を参照してください。
Animated Custom Properties カスタムのユーザープロパティとして指定した FBX プロパティをすべてインポートします。

Unity は、FBX ファイルをインポートするときに、小さなプロパティのサブセットのみをサポートします (Translation、Rotation、Scale、Visibility など)。ただし、extraUserProperties メンバーを使用してインポータースクリプトで名前を付けることで、ユーザープロパティなどの標準的な FBX プロパティを扱うことができます。インポート中、Unity は名前付きプロパティを ‘実際の’ ユーザープロパティと同様にアセットポストプロセッサーに渡します。

位置とスケールカーブのキー 削減の許容誤差の設定

許容誤差のパーセンテージを設定して、 アニメーション 圧縮の戦略としてUnityが位置またはスケールカーブの キーを削除できるかどうかを決定します。

Anim.Compression プロパティを “Keyframe Reduction”または “Optimal”に設定すると、Unity は元のカーブを特定のキーフレームを削除した後のカーブと比較し、このテストを適用します。

OriginalValue - ReducedValue > OriginalValue * percentageOfError

元の値と削減された値の差が元の値に許容誤差を乗算した値よりも小さい場合、Unityはキーフレームを削除します。

Unity は 3 つのカーブコンポーネント間の距離を比較 (つまり distance(x,y,z) を比較) し、コンポーネントごと (distance(x)distance(y)、そして distance(z)) にも比較します。

この例は、Unityが10%の許容誤差を使用してy 軸の 削減を評価する方法を示しています。

Y軸の平行移動のシンプルなアニメーションで10%の位置誤差を定義します。
Y軸の平行移動のシンプルなアニメーションで10%の位置誤差を定義します。

キーフレームAの値は11.2です。

キーフレーム A の値は 11.2 です
キーフレーム A の値は 11.2 です

キーフレームBの値は11.1です。

キーフレーム B の値は 11.1 です
キーフレーム B の値は 11.1 です

結果の縮小カーブは次のようになります。

結果の縮小カーブは次のようになります
結果の縮小カーブは次のようになります

キーフレーム A は縮小されません。理由は以下のとおりです。

  • 元の値と削減された値の間の距離は D = 11.2 - 10 = 1.2
  • 誤差マージンは E = 10% * 11.2 = 1.12
  • D> E

キーフレーム B は縮小されます。理由: 11.1 - 10 < 10% * 11.1:

  • 元の値と削減された値の間の距離は D = 11.1 - 10 = 1.11
  • 誤差マージンは E = 10% * 11.1 = 1.11
  • D = E

わずかに異なる大きな値を使用する場合、この方法には制限があることに注意してください。シーンを1000ユニット離すと、基本的に同じアニメーションが、0から遠く離れた位置に移動します。

分散が小さな高い値
分散が小さな高い値

この場合、両方のキーフレームが削減されます。

キーフレームAが削減される理由は以下のとおりです。

  • 元の値と削減された値の間の距離は D = 1011.2 - 1010 = 1.2
  • 誤差マージンは E = 10% * 1011.2 = 101.12

キーフレーム B は縮小されます。理由: 11.1 - 10 < 10% * 11.1:

  • 元の値と削減された値の間の距離は D = 11.1 - 10 = 1.11
  • 誤差マージンは E = 10% * 1011.1 = 101.11

キーフレームが削減されたカーブに留まるためには、値が高いほど、元の値と削減された値の差を大きくする必要があります。キーフレーム A の値は 1100 で、破棄されます。キーフレーム B の値は 1112 で、そのまま残ります。

はるかに大きな差が必要な高い値
はるかに大きな差が必要な高い値

クリップ選択リスト

このファイルで定義されたクリップのリスト
このファイルで定義されたクリップのリスト

これらのタスクは Animation タブの各セクションで行います。

インポートしたクリップのプロパティを手動で変更した場合、ソースアセットが変更されても新しいアニメーションクリップはインポートされません。例えば、Animation タブで新しいクリップを作成したり、クリップのタイミングを変更したりした場合に、Unity の外部で FBX ファイルにクリップを追加しても、そのクリップリストは更新されません。新しいアニメーションクリップと変更されたアニメーションクリップを表示するには、新しいソーステイクをクリップリストに追加する必要があります。

クリップ固有のプロパティ

選択したアニメーションクリップのインポートオプション
選択したアニメーションクリップのインポートオプション

Animation タブのこのエリアには、以下の機能が表示されます。

(A) 選択したクリップの編集可能な名前。

(B) アニメーションクリップのタイムライン。

(C) ループ、ルートモーション抽出、カーブ、イベント、アバターマスクをコントロールするクリッププロパティ。

アセット内で定義された各アニメーションクリップに対して、以下のプロパティを個別に設定できます。

プロパティ 機能
Area A
ソーステイクの名前
テイク名
ソースファイル内のソーステイクの名前。ソースファイルには、Motionbuilder や Autodesk® Maya® などの外部 3D アプリケーションで作成された一連のソースが含まれます。

ソーステイクを個々のアニメーションクリップとしてインポートできます。アニメーションクリップをフレームのサブセットから作成することもできます。
Area B
タイムラインエディター アニメーションタイムラインの開始と終了のインジケーターをドラッグして、各クリップのフレーム範囲を定義します。

クリップを作成することは、アニメーションのセグメントに対して開始地点や終了地点を定義することです。ループするクリップを定義するには、開始点と終了点をトリムして、最初と最後のフレームができるだけ一致するようにします。タイムラインをズームおよびスクロールして、より精度を高めることもできます。
Start クリップの開始フレーム
End クリップの終了フレーム
Area C
Loop Time アニメーションクリップを最後まで再生し終わると、リスタートします。
Loop Pose モーションをシームレスにループします。
Cycle Offset 時間をずらしてアニメーションのループのサイクルを開始する場合、サイクルのオフセット。
Root Transform Rotation
Bake into Pose ルートの回転をボーンの動きにベイクします。ルートモーションとして保存する場合は無効にします。
Based Upon ルートの回転のベース
Original ソースファイルの元の回転を維持します。
Root Node Rotation ルートノードの回転を使用します。

Generic アニメーションタイプでのみ使用可能です。
Body Orientation 上半身を前方に向けます。

Humanoid アニメーションタイプでのみ使用可能です。
Offset ルートの回転のオフセット値 (角度単位)
Root Transform Position (Y)
Bake into Pose 垂直方向のルートモーションをボーンの動きにベイクします。ルートモーションとして保存する場合は無効にします。
Based Upon(at Start) 垂直のルート位置のベース。
Original ソースファイルからの垂直位置を維持します。
Root Node Position 垂直のルート位置を使用します。

Generic アニメーションタイプでのみ使用可能です。
Center of Mass 重心をルートのトランスフォームの位置に合わせて整列します。

Humanoid アニメーションタイプでのみ使用可能です。
Feet 足をルートのトランスフォーム位置に合わせて整列します。

Humanoid アニメーションタイプでのみ使用可能です。
Offset 垂直のルート位置のオフセット値。
Root Transform Position (XZ)
Bake into Pose 水平方向のルートモーションをボーンの動きにベイクします。ルートモーションとして保存する場合は無効にします。
Based Upon 水平のルート位置のベース。
Original ソースファイルからの水平の位置を維持します。
Root Node Position 水平ルートの Transform 位置を使用します。

Generic アニメーションタイプでのみ使用可能です。
Center of Mass ルートのトランスフォーム位置に合わせて整列します。

Humanoid アニメーションタイプでのみ使用可能です。
Offset 水平のルート位置のオフセット値
Mirror このクリップで左と右をミラーリング。

アニメーションタイプHumanoid に設定されている場合のみ表示されます。
Additive Reference Pose 加法的アニメーションレイヤーのベースとして使用される参照ポーズのフレームを設定できるようにします。タイムラインエディターに青色のマーカーが表示されます。
Pose Frame 参照ポーズとして使用するフレーム番号を入力します。タイムラインで青のマーカーをドラッグして、この値を更新することもできます。

Additive Reference Pose が有効な場合のみ使用可能です。
カーブ このセクションを展開し、このアニメーションクリップのアニメーションカーブを管理します。
イベント このセクションを展開し、このアニメーションクリップのアニメーションイベントを管理します。
Mask このセクションを展開し、このアニメーションクリップのアバターマスキングを管理します。

すべてのクリップのプロパティ

これらの展開可能なプロパティーは、インポート中のすべてのアニメーションクリップに適用できます。

すべてのアニメーションクリップのインポートオプション
すべてのアニメーションクリップのインポートオプション
プロパティ 機能
Motion このセクションを展開し、インポートされたすべてのクリップのルートモーションノードを管理します。
Import Messages このセクションを展開し、アニメーションのインポート方法に関する情報とオプションの Retargeting Quality Report を表示します。

アニメーションのインポートに関する警告

アニメーションのインポート処理中に問題が発生した場合は、アニメーションのインポートインスペクター上部に警告が表示されます。

アニメーションのインポートに関する警告のメッセージ
アニメーションのインポートに関する警告のメッセージ

警告は、必ずしもアニメーションがインポートされていない、または、動作していないことを意味しているわけではありません。インポートされたアニメーションが、元のアニメーションと完全に同じでないことを意味している場合があります。

詳細情報を表示するには、Import Messages セクションを展開します。

アニメーションのインポートに関する警告のメッセージ
アニメーションのインポートに関する警告のメッセージ

この場合、Unity は Generate Retargeting Quality Report オプションを提供しています。これを有効にすると、リターゲティングの問題に関するより具体的な情報を確認できます。

他の警告の詳細は以下の通りです。

  • Default bone length found in this file is different from the one found in the source avatar. (このファイルに含まれるデフォルトのボーンの長さが、ソースアバターのものと一致しません。)
  • Inbetween bone default rotation found in this file is different from the one found in the source avatar. (このファイルに含まれるボーンとボーンの間の回転が、ソースアバターのものと異なります。)
  • Source avatar hierarchy doesn’t match one found in this model. (ソースアバターの階層が、このモデルに含まれるものと一致しません。)
  • This animation has Has translation animation that will be discarded. (このアニメーションに含まれる 平行移動のアニメーションは破棄されます。)
  • Humanoid animation has inbetween transforms and rotation that will be discarded. (ヒューマノイドのアニメーションに含まれる中間にあるトランスフォームと回転は破棄されます。)
  • Has scale animation that will be discarded. (スケールアニメーションは破棄されます。)

これらのメッセージは、アニメーションが Unity にインポートされ、Unity の内部形式に変換されるときに、元のファイルにあるデータの一部が失われたことを示しています。つまり、これらの警告が基本的に意味しているのは、リターゲットされたアニメーションが元のアニメーションに完全一致しない可能性があるということです。

注意Unity は、constant 以外で事前、または事後の外挿モード (pre-infinity と post-infinity モードとも呼ばれます) をサポートせず、インポート時に constant に変換します。

アニメーションプレビュー

アニメーションクリップのプレビュー
アニメーションクリップのプレビュー

Animation タブのプレビューエリアには、以下の機能があります。

(A) 選択したクリップの名前。

(B) 2D プレビューモードボタン (平行投影カメラと透視カメラを切り替えます)。

(C) ピボットと重心の表示ボタン (ギズモの表示と非表示を切り替えます)。

(D) アバターセレクター (どのゲームオブジェクトのアクションをプレビューするかを変更します)。

(E) 再生/一時停止ボタン。

(F) プレビュータイムラインの再生ヘッド (前後にスクラブできます)。

(G) アニメーションプレビューのスピードスライダー (左に動かすと遅く、右に動かすと速くなります)。

(H) 再生ステータスインジケーター (再生位置を秒、パーセンテージ、フレーム番号で表示します)。

(I) Tag バー (タグを定義し、クリップに適用します)。

(J) アセットバンドルバー (アセットバンドルとバリアントを定義できます)。


AnimationClip

ヒューマンテンプレートウィンドウ
オイラーカーブのリサンプリング