Version: 2023.1
言語: 日本語
サブステートマシン
ソロとミュート

アニメーションのレイヤー

Unity では Animation Layers を使用すると、複雑なステートマシンを体の各部分ごとに管理することができます。例えば、下半身のレイヤーで歩きやジャンプを管理して、上半身のレイヤーではオブジェクトを投げたり、撃ったりする、といった場合です。

アニメーションレイヤーは Animator Controller の左上角にある Layers Widget から管理することができます。

ウィンドウ右側の歯車アイコンをクリックすると、そのレイヤーの設定が確認できます。

各レイヤーでは、マスクとブレンドタイプを指定します。マスクは、アニメーションを適用するボディパーツを指定します。ブレンドタイプは、アニメーションをどのように適用するかを指定します。

  • Override を選択すると、このレイヤーのアニメーションを使用して、前のレイヤーのアニメーションを置き換えます。
  • Additive を選択すると、このレイヤーのアニメーションが前のレイヤーのアニメーションの上に追加されます。
    追加のブレンディングを成功させるには、追加のレイヤーのアニメーションに前のレイヤーと同じプロパティが含まれている必要があります。

ウィジェットの上にある + を押して、新しいレイヤーを追加します。

Mask プロパティでは このレイヤーで使用するマスクを指定 します。例えば、キャラクターが歩いたり、走ったり、その場で立ち止まったりしているときに、上半身にだけ投球アニメーションを再生したい場合は、上半身の投球アニメーションを再生するレイヤーにマスクを使用します。マスクは次のように設定します。

レイヤーのサイドバーの “M” マークは、そのレイヤーにマスクが適用されていることを示します。

アニメーションレイヤーの同期

場合によっては、同じステートマシーンを異なるレイヤーで再利用する方が便利な時があります。例えば “負傷した” 動作を表現したい場合に、“健康な” アニメーションではなく、歩行/走行/ジャンプの “負傷した” アニメーションを持っているとします。レイヤーの 1 つで Sync チェックボックスをクリックしてから、そのレイヤーと同期したいレイヤーを選択します。すると、ステートマシーンの構造は同じになりますが、各ステートで使われるアニメーションクリップは区別されます。

つまり、同期したレイヤーは固有のステートマシーンを持たず、代わりに同期元レイヤーのインスタンスであることを意味します。同期したレイヤービューでステートマシンのレイアウトや構造への変更 (例えば、ステートまたは遷移の追加/削除) は、同期したレイヤーのソースに対して行われます。 同期したレイヤーの変更で唯一固有なのは、各ステート内で使用される選択されたアニメーションです。

Timing チェックボックスを使うと、同期されたレイヤーにあるアニメーションの長さを、重みを用いて調整することが可能になります。Timing が選択されていない場合、同期先のレイヤーにあるアニメーションが調整されます。調整は、元のレイヤーにあるアニメーションの長さにあわせて伸縮することで行われます。オプションが選択されている場合、アニメーションの長さは、重みを基準にして両者のバランスをとる形で調整されます。どちらの場合でも (選択しても、選択しなくても) アニメーターはアニメーションの長さを調整します。選択しない場合、元のレイヤーが唯一の基準になります。選択した場合、両者の調整になります。

このビューでは、Fatigued レイヤーが Base Layer と同期しています。ステートマシンの構造は Base Layer と同じで、各ステート内で使用される個別のアニメーションが、別の適切な同等のアニメーションに入れ替えられます。
このビューでは、“Fatigued” レイヤーが Base Layer と同期しています。ステートマシンの構造は Base Layer と同じで、各ステート内で使用される個別のアニメーションが、別の適切な同等のアニメーションに入れ替えられます。

レイヤーサイドバーの “S” マークは、そのレイヤーが同期されたレイヤーであることを示します。


  • 2021–07–07 修正されたページ
サブステートマシン
ソロとミュート