ギャップの補外とは、アニメーショントラックの前後にあるギャップのアニメーションデータをアニメーショントラックに近似させる方法です。
アニメーションクリップ間のギャップにアニメーションデータを補外する主な目的は、アニメーションの異常を避けることです。ギャップがあると、アニメーショントラックにバインドされたゲームオブジェクトによって、ゲームオブジェクトの 2 つの変換の間で飛んでしまう、または、ヒューマノイドキャラクターのポーズが飛んでしまう異常が発生します。
各アニメーションクリップには、2 つのギャップ補外設定があります。 Pre-Extrapolate (事前補外) は、アニメーションクリップ前のギャップでどのようにアニメーションデータが近似されるかを制御します。Post-Extrapolate (事後補外) は、アニメーションクリップ後のギャップでどのようにアニメーションデータが近似されるかを制御します。
デフォルトでは、Pre-Extrapolate と Post-Extrapolate の両方とも Hold (維持) に設定されています。この設定では、アニメーションクリップ前のギャップでは、クリップの最初のフレームのアニメーションを維持し、アニメーションクリップ後のギャップでは、クリップの最後のフレームのアニメーションを維持します。アニメーションクリップの前後のアイコンは選択した補外モードを示しています。
事前補外と事後補外のモードを変更するにはアニメーションクリップを選択し、Inspector ウインドウの Animation Extrapolation プロパティーを使用します。
選択したアニメーションクリップがアニメーショントラックで唯一のクリップである場合は、Pre-Extrapolate モードを以下のいずれかに設定できます。
None: 事前補外を無効にします。選択したアニメーションクリップ前のギャップで、ゲームオブジェクトはシーンのトランスフォーム、ポーズ、状態を使用します。例えば None を選択すると、シーンのゲームオブジェクトとアニメーションクリップのモーション間にイージーイン (ease-in) を作成する場合などに便利です。詳細は、クリップのイージーインとイージーアウト を参照してください。
Hold (デフォルト): 選択したアニメーションクリップの後のギャップで、アニメーショントラックにバインドされたゲームオブジェクトは、アニメーションクリップの最初に割り当てられた値を使用します。
Loop: 選択されたアニメーションクリップの前のギャップで、アニメーショントラックにバインドされたゲームオブジェクトはアニメーション全体を順ループとして、開始から終了までを繰り返します。ループの開始をオフセットするには、Clip In プロパティーを使用します。
Ping Pong: 選択したアニメーションクリップの前のギャップで、アニメーショントラックにバインドされたゲームオブジェクトはアニメーション全体を順方向 (開始から終了) へ、それから、逆方向 (終了から開始)へと繰り返します。ループの開始をオフセットするには、Clip In プロパティーを使用します。Clip In プロパティーを変更すると、順方向のときはループの開始に、逆方向のときはループの終了に影響します。
Continue: 選択したアニメーションクリップの前のギャップで、アニメーショントラックにバインドされたゲームオブジェクトは、ソースアセットの設定に基づいてアニメーションを維持、または、ループします。例えば、選択したアニメーションクリップがモーションファイル Recorded(2) をソースアセットとして使用していて Recorded(2) の設定がループの場合は、Continue を選択すると、Recorded(2) の Loop Time の設定に基づいてアニメーションをループします。
選択したアニメーションクリップがアニメーショントラックで唯一のクリップである場合は、Post-Extrapolate モードを以下のいずれかに設定できます。
None: 事後補外を無効にします。選択したアニメーションクリップ後のギャップで、ゲームオブジェクトはシーンのトランスフォーム、ポーズ、状態を使用します。None を選択すると、例えば、アニメーションクリップとシーンのゲームオブジェクトのモーションとの間にイージーアウト (ease-out) を作成する場合などに便利です。詳細は、クリップのイージーインとイージーアウト を参照してください。
Hold (デフォルト): 選択したアニメーションクリップの後のギャップで、アニメーショントラックにバインドされたゲームオブジェクトは、アニメーションクリップの最後に割り当てられた値を使用します。
Loop: 選択されたアニメーションクリップの後のギャップで、アニメーショントラックにバインドされたゲームオブジェクトはアニメーション全体を順ループとして、開始から終了までを繰り返します。ループの開始をオフセットするには、Clip In プロパティーを使用します。
Ping Pong: 選択したアニメーションクリップの後のギャップで、アニメーショントラックにバインドされたゲームオブジェクトはアニメーション全体を順方向 (開始から終了) へ、それから、逆方向 (終了から開始)へと繰り返します。ループの開始をオフセットするには、Clip In プロパティーを使用します。Clip In プロパティーを変更すると、順方向のときはループの開始に、逆方向のときはループの終了に影響します。
Continue: 選択したアニメーションクリップの後のギャップで、アニメーショントラックにバインドされたゲームオブジェクトは、ソースアセットの設定に基づいてアニメーションを維持、または、ループします。例えば、選択したアニメーションクリップがモーションファイル Recorded(2) をソースアセットとして使用していて Recorded(2) の設定がループの場合は、Continue を選択すると、Recorded(2) の Loop Time の設定に基づいてアニメーションをループします。
アニメーショントラックで 2 つのアニメーションクリップの間にギャップがある場合、左側のクリップの Post-Extrapolate 設定でギャップ補外を設定します。ギャップの左側のクリップの Post-Extrapolate 設定が None に設定されている場合、右側のクリップの Pre-Extrapolate 設定でギャップ補外を設定します。アニメーションクリップの前後のアイコンは、ギャップの補外が、左側のクリップの Post-Extrapolate 設定によるものか、右側のクリップの Pre-Extrapolate 設定によるものかを示します。