Version: 2022.1
サブステートマシン
ソロとミュート

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

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

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

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

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

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

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

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

An ‘M’ symbol in the Layers sidebar indicates that the layer has a mask applied.

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

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

これは、同期したレイヤーは独自のステートマシーンを持たず、代わりに同期元レイヤーとインスタンス関係になっていることを意味します。同期先のレイヤーで行うステートマシーンの構造やレイアウトのどんな変更も(例えばステートやトランジションの追加/削除など)、同期元のレイヤーにも反映されます。同期したレイヤーで唯一可能な変更は、各ステートで使用するアニメーションの選択だけです。

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

この画面では、「Fatigued」レイヤーがベースレイヤーと同期しています。ステートマシーンの構造はベースレイヤーと同じ状態になっていて、各ステートで使用されている個別のアニメーションが、それぞれ異なる、相応しいものに変更されています。
この画面では、「Fatigued」レイヤーがベースレイヤーと同期しています。ステートマシーンの構造はベースレイヤーと同じ状態になっていて、各ステートで使用されている個別のアニメーションが、それぞれ異なる、相応しいものに変更されています。

An ‘S’ symbol in the Layers sidebar indicates that the layer is a synced layer.


  • 2021–07–07 修正されたページ
サブステートマシン
ソロとミュート
Copyright © 2020 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961