アバター3.0 表情プリセットの変え方
前程知識
- FXレイヤーで表情設定ができること
- ExpressionMenuの設定ができること(一応簡単に説明します)
方法
1. ハンドレイヤ―の複製
まずは左手から
表情設定はおそらく基本的な状態だと下記画像のようになっていると思います。
このレイヤー複製します。
詳細手順
- レイヤ―の右上らへんにある[+]ボタンでレイヤーを新規作成し、名称を分かりやすい名前に変更する。
- LeftHandの中身を全選択してCtrl-Cでコピーして新規作成したレイヤーに張り付ける。
- Idleを[右クリック]して[Set as Layer Default State]を選択。
複製したレイヤーのWeightを0にします(デフォルトで0になっていると思いますが)。
右手も同様にします。(画像省略)
レイヤーの順番は下記のようにします。(順番はleftの下にRightがあれば問題ありません。)
2. 状態遷移の設定
2.1 Stateの作成・設定
新しいレイヤーを作ります。名称は任意ですが、今回は「FaceControl」とします。 「FaceControl」レイヤーのWeightを1にします(アニメーションが絡まないので必要なさそうですが念のため)。
レイヤー内の濃い灰色部分で[右クリック]→[Create State]→[Empty]でStateを2つ作成します。
名称は同じく任意です今回はStateの名称を「Face0」「Face1」とします。
「Face0」を選択し、[Inspector]から[Add Behaviour]→[VRCAnimatorLayerControl]を選択します。
これを合計2つ選択用意して下記のように設定します。
次に「Face1」を選択し、同様に[VRCAnimatorLayerControl]を二つ用意して下記のように設定します。
これは「Face0」状態の時は「LeftHand1」と「RightHand1」のWeightが0になるようにしています。
逆に「Face1」状態の時は「LeftHand1」と「RightHand1」のWeightが1になるように設定しています。
2.2 パラメータの作成
Animatorのパラメータを新たに作成します。
Layersの隣にある[Parameters]を選択後、プラスボタンで新たな変数を作成します。作成するときは[Int]を選択します。
変数の名前はもちろん任意です。今回は「FaceToggle」としました。初期値は0です。
2.2 条件の設定
Layersタブに戻り、先ほど作成した「Face0」と「Face1」に状態遷移するための設定を行います。
「Any State」を[右クリック]して [Make Transition]を選択します。
そうすると線が伸びるので「Face0」に伸ばしてやります。
同様に「Face1」にも伸ばして下記画像のようにします。
次に 「Face0」に伸びている線を選択します。
[Inspector]から「List is Empty」と書かれた項目の[+]を選択します。
下記のように項目を設定します。
次に 「Face1」に伸びている線についても同様に条件を追加して下記のように設定します。
つまり、「FaceToggle」の値が0の時は「Face0」に、1の時は「Face1」に遷移するように設定しました。
ExpressionMenuの設定
ここはある程度端折って説明します。
任意のディレクトリでExpressionMenuとParameterを作成します(すでに用意している場合はそれを使用して構いません)。
Parametersの設定に先ほどAnimatorで設定した変数名と同じ変数を用意してやります。
ExpressionMenuでは[Add Control]から「Type」を[Toggle]、「Parameter」を[FaceToggle]、「Value」を1にします。
あとはアバターの設定に組み込んで作業完了です。