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

Animation タブ

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

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

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

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

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

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

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

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

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

すべてのアセットのインポートオプション
すべてのアセットのインポートオプション

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

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

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

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

このオプションはデフォルトで有効になっています。
元のアニメーションのキー間の補間に問題がある場合にのみ、アニメーションカーブをオリジナルに戻すをして、これを無効にします。

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

Generic Animation Type リグのみ。
Keyframe Reduction and Compression インポート時にキーフレームを削減し、アニメーションをファイルに保存するときにキーフレームを圧縮します。これはファイルサイズにのみ影響します。 ランタイムのメモリサイズは Keyframe Reduction と同じです。有効にすると、インスペクターに Animation Compression Errors オプションが表示されます。
古い機能 Animation Typeのリグのみ。
Optimal Unityは、キーフレーム の削減によって、あるいは密なフォーマットを使用するか、どのように圧縮することを決定しましょう。有効にすると、インスペクターに Animation Compression Errors オプションが表示されます。
GenericHumanoid Animation Typeのリグのみ。
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 は「実際の」ユーザープロパティと同様に、名前付きプロパティを AssetPostprocessor に渡します。

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

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

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

OriginalValue-ReducedValue> OriginalValue \* percentrationError

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

Unityは3つのカーブコンポーネント間の距離を比較します(つまり、 distance(x,y,z) 比較し distance(x,y,z) )。また、コンポーネントごとに( distance(x)distance(y) 、そして distance(z) )を比較し distance(x,y,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

11.1–10 11.1 - 10 < 10% * 11.1 ため、 キーフレームBは削減され ます。

  • 元の値と削減された値の間の距離は 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

11.1–10 11.1 - 10 < 10% * 11.1 ため、 キーフレームBは削減され ます。

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

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

値が大きいほど、はるかに大きな差が必要になります。
値が大きいほど、はるかに大きな差が必要になります。

クリップ選択リスト

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

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

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

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

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

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

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

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

(C) ループとポーズをコントロールクリッププロパティ

(D) 拡張可能なセクション:カーブ、イベント、マスク、 モーションルートの定義インポートプロセスからのメッセージの表示

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

プロパティ 機能
エリア A (名前の編集)
ソーステイクの名前 このアニメーションクリップのソースとして使用するソースファイルのテイク。

これは、Motionbuilder、Autodesk® Maya®、その他の 3D パッケージで分離された一連のアニメーションを定義するものです。Unity はこれらのテイクを個々のクリップとしてインポートできます。ファイル全体から、またはフレームのサブセットからそれらを作成できます
エリア B (タイムライン機能)
タイムラインエディター タイムラインの開始と終了のインジケーターをドラッグして、各クリップのフレーム範囲を定義することができます。
Start クリップの開始フレーム
End クリップの終了フレーム
エリア C (ループとポーズの制御)
Loop Time アニメーションクリップを最後まで再生し終わると、リスタートします。
Loop Pose モーションをシームレスにループします。
Cycle Offset 時間をずらしてアニメーションのループのサイクルを開始する場合、サイクルのオフセット。
Root Transform Rotation
Bake into Pose ルートの回転をボーンの動きにベイクします。ルートモーションとして保存する場合は無効にします。
Based Upon ルートの回転のベース
Original ソースファイルの元の回転を維持します。
Root Node Rotation ルートノードの回転を使用します。
Generic Animation Typeでのみ使用可能です。
Body Orientation 上体を前方に向けたままにします。
Animation TypeHumanoid のものにのみ使用可能です。
Offset ルートの回転のオフセット値 (角度単位)
Root Transform Position (Y)
Bake into Pose 垂直方向のルートモーションをボーンの動きにベイクします。ルートモーションとして保存する場合は無効にします。
Based Upon(at Start) 垂直のルート位置のベース。
Original ソースファイルからの垂直位置を維持します。
Root Node Position 垂直のルート位置を使用します。

Animation TypeGeneric のものにのみ使用可能です。
Center of Mass 重心をルートのトランスフォーム位置に揃えます。
Animation TypeHumanoid のものにのみ使用可能です。
Feet 足をルートの Transform 位置に揃えます。

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

Animation TypeGeneric のものにのみ使用可能です。
Center of Mass ルートのトランスフォーム位置に揃えます。

Animation TypeHumanoid のものにのみ使用可能です。
Offset 水平のルート位置のオフセット値
Mirror クリップの左右を反転します。

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

Additive Reference Pose が有効な場合のみ使用可能です。
エリア D (拡張可能セクション)
Curves このセクションを開き、インポートされたクリップのアニメーションカーブ を管理します。
Events インポートしたクリップのアニメーションイベントを管理するには、このセクションを展開します
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-extrapolate と post-extrapolate) モード (pre-infinity と post-infinity モードとも呼ばれます) をサポートせず、インポート時に constant に変換します

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

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

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

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

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

(C) ピボットと質量中心のディスプレイ ボタン (ギズモの表示と非表示を切り替えます)

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

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

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

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

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

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

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


  • Materials タブは 2017.2 で追加NewIn20172
ヒューマンテンプレートウィンドウ
オイラーカーブのリサンプリング