マスキングを行えばクリップ中のアニメーションデータの一部を破棄できるので、オブジェクトやキャラクターを丸ごと全部ではなく部分的に動かすことができます。例えば、腕と脚両方のモーションを含む標準の歩きのアニメーションがあるとします。しかし、そのキャラクターが大きな荷物を両手で持っている場合は、歩きながら体側で腕を振って欲しくないでしょう。このような場合にはマスクを使用すれば、歩きのアニメーションの上に荷物運びのアニメーションを上半身のみを再生させた状態で重ねることで、荷物を持っている状態でも標準の歩きのアニメーションを利用することができます。
マスキングのアニメーションクリップへの適用は、インポートタイムでもランタイムでも行えます。より好ましいのはインポートタイムでのマスキングです。そのほうが、破棄されたアニメーションデータがビルドから除外され、ファイルサイズやメモリフットプリントが小さくなるからです。またランタイムでブレンドされるアニメーションデータの量も少なくなるので処理スピードも速くなります。ただし時にはインポートマスキングが適さない場合もあります。そのような場合には、アバターマスクアセットを作成し、それを Animator コントローラーのレイヤー設定で使用すれば、ランタイムでマスクを適用することができます。このページでは、アバターマスクアセットの作成に関して説明しています。
アニメーションのどの部分をマスクするか設定する方法は二つあります。アニメーションが Humanoid(人型)アバターを使用していれば、ヒューマノイド・ボディを使用した選択方法を使えます。人型の簡単な図をクリックして、マスクしたい部分を選択(又は選択解除)するだけです。
ボディパーツに含まれるのは、頭、左腕、右腕、左手、右手、左足、右足とルート(足の下の影部分)です。 Body Mask では、手や足で インバースキネマティクス (IK)を切り替えることで IK 曲線をアニメーションに含めるか決定することができます。
上記の方法とは別に、アニメーションに Humanoid アバターを使用していない場合や、マスクする場所を個々のボーンごとに細かく調整したい場合は、「Transform」を使用して、モデルの階層のマスクしたい部分を選択することができます。これを行うには、マスクしたいトランスフォームのあるアバターへの参照をアサインした上で、「Import Skeleton」ボタンをクリックすると、インスペクターにアバターの階層が表示されるようになります。それぞれのボーンにチェックボックスが付いており、階層の各部をマスクとして使用するかそれぞれ選択・非選択することができます。
マスクアセットは、アニメーターコントローラー で、ランタイムでマスキングを適用する アニメーションレイヤー を指定する際に使用できます。またアニメーションファイルのインポート設定で、インポートアニメーションにマスキングを適用する際にも使用できます。
Mask を使用することの利点は、これらはアクティブではないボディパーツがそれに関連付けられたアニメーションカーブを必要としないため、メモリのオーバーヘッドを減少させやすい、ということです。さらに、未使用のアニメーションカーブは再生中に計算する必要がないためアニメーションによる CPU オーバーヘッドを削減しやすくなります。