TL;DR
服のON・OFFができるようになる
環境の用意
ON・OFFするために必要な環境や対象を用意する
-
次を入れたプロジェクトを作る。多少違っても大丈夫
-
初期設定
アニメーションの作成
ON・OFFの状況を記録したファイルを作成する
- 右クリックメニューからAnimationを作成
- 「対象のものをOFFにする」ような意味の名前を付ける
- Ctrl+Dで必要なだけ増やす
- それぞれOFFにする感じの名前をつける
- 服のルートにドラッグ&ドロップ
- こんな感じになる
- 作った三角形(Animation)をどれでもいいのでダブルクリックするとAnimationタブが開く
- アバタールートをクリックすると録画ボタンが押せるようになるので押す
- 今はHatを編集しているので、
- HatのInspectorを開き、オフにする
- Animationに戻って録画ボタンを押し、録画を終了
- それぞれのアイテムについてオフのアニメーションを作る
- 全部できたら、アバタールートのInspectorを開く
- Animatorは要らないので、削除(ないと録画ができないので、録画が終わってから消すこと)
- Projectから四角いやつを削除(活用する方法もありますが、一応。 ※後付けでアニメを増やした場合は、どれが増えた四角なのかを識別して消すのはそれなりに大切、どんどん増えてしまうので。)
- オフの記録された三角が3つある状態にする
- 全部選択(Ctrl+A)して増やす(Ctrl+D)
- ON的な雰囲気の名前にする
- ONの名称にしたやつをダブルクリックしてAnimationタブを開く
- 数字を0から1にする
- ダブルクリック、1にするという作業を全部やる ※ブレンドシェイプの場合は有効=100、無効0
- 状態を定義したファイルの完成
※保存を忘れずに!
コントローラの作成
どういう条件でどの状態にするかという定義をする
- 右クリックからAnimator Controllerを作成
- 適当に名前を付ける(衣装名そのままとは違うほうが後々アニメを増やしたくなった時の自動生成と区別しやすくてよい)
- ダブルクリックで開く
- Parametersタブを開く
- +マークからfloatを作成
- 「1」を意味する変数名を付ける
- その変数の値を1にする(変数値の設定をするのはこれだけ)
- +マークからfloatを作成し、先ほど作ったアニメに対応する名前を作る。「自分の名前/衣装名/」を先につけるのがおすすめ
- Layersに戻る
- +でレイヤを増やす
- 「自分の名前/衣装名」を命名
- 歯車マークを押してWeightを1にする
- Base Layerを削除
- こうなる
- 右側のグリッド上のところを右クリックして「CreateState→FromNewBlendTree」
- できたやつをダブルクリック
- こうなる (正しくできていればこの時点で「1」を意味する変数名が書かれている)
- 四角をクリックしてInspectorを見る
- BlendTypeをDirectにする(Directにするのはここだけ)
- +を押して「NewBlendTree」をパーツの数だけ(今回は3回)やる
- こうなる
- 増やしたうち、一番上のものをクリックしてInspectorを見る
- さっき定義したParameterを1つ設定
- +を押して「AddMotionField」を2回
- こうなる
- Projectから「メニューを操作していない時になってほしい状態の三角」をドラッグ&ドロップでThreshold0のほうに入れる。この場合はデフォルトでOFFで作る
- 入れてないほうを1にいれる
- 引きで見るとこうなる
- 「Parameterを設定する、MotionFieldを増やす、アニメを入れる」を必要なだけ繰り返す
※保存を忘れずに!
MAのセットアップ
作成したAnimatorControllerを衣装に紐づける
- 衣装ルートのInspectorを開き、AddComponent
- MA Menu Installerをつける
- MA Merge Animatorをつける
- さっき作った四角を入れる
- MA Parametersをつける
- 未登録パラメーターを押す
- 1を意味するもの以外を追加
- つまり、こう
-
Boolにする(さっきfloatだったのは気にしない)
- 全部同様
- MA Menu Groupを追加
- 「メニューアイテムを追加」
- 次を設定
- 表示名に衣装の名前(VRCのメニューのフォルダ的なところにでる)
- タイプにSubMenu
- あればアイコン
- メニュー内容を表示(追加ではない。間違えやすいので注意)
- 出てきた小さいほうの「メニューアイテムを追加」
- パーツの数だけ「メニューアイテムを追加」(小さいほう)
- それぞれメニューに表示する名前と、序盤に作成したパラメータ名を設定
※保存を忘れずに!!(特にこの後の操作はUnityがクラッシュしがち)
動作確認
- Playモードに入る
- Hierarchyでアバターをクリックすると、Inspectorに先ほど作ったメニューがあるはず
- OnOffが動くことを確認する
- 問題なければUploadしてVRCでも確認、問題なければ終わり
配布
※UnityPackageを作った後に修正したくなったら、いろいろ方法はあるが、ProjectのPrefabを削除してもう一度Hierarchyから入れるのが多分もっとも楽
注意
- ここで触れていないMAコンポーネントのオプションはなるべく弄らないほうが良い
- 特にMA Merge Animatorはこのままで最適なのでけっして触らない