見出し画像

アバターアニメーター用メモ

ほぼほぼ自分用の設計メモなので
3.0のアニメーターとMAについて理解が足りないと見ても分からないと思う
EXパラメーターにある程度余裕があること前提でそこそこ無駄に使う設計
フェイストラッキングとかパラメーター馬鹿食いする物使ってなければ基本余りませんこと?

目的
フルトラで入るのがめんどくさい→3点OVR運用をなるべくアニメーションでカバーしたい人向け
素体モジュールをなるべく共通化して衣装・アクセサリーの付け外しを楽にする

Baseレイヤー

下半身の移動を司るの+トラッキングコントロールをまとめるので一番めんどい
MAでの追加は基本考えていない

レイヤー
0 ロコモーション メイン部分
アバター選択画面用ループアニメ
通常歩行アニメーション
ホバーアニメーション のサブステート分岐
→サブステートで分類すると楽だかスタンド切り替え時のホバーイン、ホバーアウトのアニメーションをどうするか検討中

スタンド-クラウチング-ポーン-スリープ-デスクトップ用スタンド-ジャンプフォール
これらはUprightで直接遷移させるのではなく
下のレイヤーで操作する別変数(Posture)を作って管理する

通常アニメーションはこれ
VRC用 スタンダードモーション - Women's - - STUDIO MOCA - BOOTH
から必要な部分を取り除いてブレンドツリーにする
正直IK補正用モーションとかよくわからないで使ってる

クラウチング以下は旧かわいい座りをベースとして
【全20種類】座りポーズ【VRC想定】 - おこめのおいしいお店 - BOOTH
とかしゃがみ置換(販売終了?)とかのアニメーションをベースに作る
↑のブレンドツリーからさらに各姿勢ごとに1Dブレンドツリーで高さ調整をする
FootHeightで各姿勢を複製してRootTの高さを上下に伸ばしたものを入れる
0.5で元の姿勢の高さになるように均等に伸ばす

ジャンプフォールは元のアニメーションをそのまま入れ替える感じ
フルトラ用にスタンドのまま他に遷移しない逃げ場を作っておく

1 アプライトコントロール
ドライバーでUprightをPostureに変換するEmptyアニメのステートを用意する
Boolを使ってこれを遷移させないモードを作っておくと
Upright=1の高さで座り姿勢を使えたりするのでSitコライダーをOFFのまま
3点でも高い位置で座り姿勢をして判定が邪魔にならないとか便利

デスクトップの視点変更用に姿勢を変えたことを分かるようにする

2,3,4 ヘッド、アーム、ヒップトラッキングコントロール制御用レイヤー
トラッキングコントロールはBaseからFX全部のステートで一番最後に踏んだ奴が適用されるので変なタイミングで変なものを踏んで事故になる
姿勢ぐちゃる9割多分これ

だから一元管理する+かわいい座りの個々で姿勢固定できるやつ便利なのでそれを作る

アニメーター側からドライバーで変えた時のアニメーションと
自分でEXメニューから固定した時のアニメーションの遷移は分けること

5 フットアンカー
使い方作り方はトラッキングコントロールとほぼ同じ
足固定を出来るようにするとスティックのドリフト一時対策や
OVRで壁から覗き込み姿勢を3点で作れる 全アバター入れろ
観劇用publicアバター作ってる奴とかも入れろ!

6、7 視点変更
ほぼデスクトップ用 FootHeight変更用のラジアルパペットを閉じたタイミングでちょっと遅らせてVPを変更するレイヤー
詳しくはこれの中身を見ること
【VRC睡眠システム】3点トラッキングでも快適にVRC睡眠!【VRC sleeping system】 - VRC合法チート研究会 - BOOTH

8 翼アニメーション制御補助
背中から翼が生えたアバター用
アニメーション自体はFXの方に入っているけど落下、高速水平移動時に自動で広げたり寝転がった時に畳んだりのパラメーターを送る用
パラメーターを取る関係でここに入れたのかもしれないけどFX(というか翼用追加モジュール)にまとめていい

Addレイヤー

一時期呼吸アニメーションとか入れてた
正直微妙なので今はなにも入れてない

Gestureレイヤー

れすふニキのやつ一択

【VRChat向け】【無料】拡張ハンドジェスチャ―2.0 - なめなめWorkshop - BOOTH
こいつのいいところはなんにも考えずポン乗せで動いてくれるとこ

個人的にはハートマークあんまり使わないので一番下のレイヤーの
ダブルピースとハートを入れ替えてる

ジェスチャーレイヤーは必要に応じてどんどん積み重ねるもの
小物を手に持たせる時に握るジェスチャーをアニメを入れて
OFFにした時にEmptyアニメに遷移するコントローラーを作っておけば上のレイヤー(元のジェスチャーアニメ)が再生される
小物モジュール側に入れて置く

ここらへんの考えは小物付き衣装メーカーに流行ってほしい
そう思って追加ジェスチャーは配布してるのでどうぞ

ジェスチャーコントローラー「俺はパーを出したぞ」 - 駄菓子屋SUBAKO - BOOTH


Actionレイヤー

AFKポーズがメインでそんなに弄らなくてもいいかもしれない
エモート類はエモートコレクターで外付けにする前提
EmoteCollector | 大量のエモート枠&睡眠エモート - CHILD WITCH / チャイルドウィッチ - BOOTH
トラッキングコントロール関係が多いレイヤーなのでBaseレイヤー飛ばすためのパラメータードライバーを追加するのを忘れないように

ここまでのレイヤーはアバターを超えて共通化しても良い

FXレイヤー

改変する全VRC民を悩ませるモリモリレイヤー
とにかくMAで後付け外付けすることになるはずなので
本体側はそれが一番やりやすい設計にする
もはやなんにも付けてない人も多い時代

アニメーションをつけなくてもパラメーターだけ作っておくのもあり

ヒールシェイプキー
衣装モジュール側のアニメーターをなるべく相対的で組みたいので
絶対的になる理由はなるべくBoolをパラメータードライバーで飛ばせるようにしておく
最近の子はヒート、ハイヒール、サンダルと同じ系統のシェイプキーが複数ついていたりするので排他的になるように組むこと

シュリンクシェイプキー
ヒールと同様の理由
対応衣装をうたっていてもブーツからつまさきがはみ出てた、ソックスから
脚がちょっとはみ出てるなんてことは割とよくある印象
(それならせめて商品ページにシュリンク前提とか書いて…)
Foot系とLowerLeg系を作っておくと使う機会は多いかもしれない

Shoulder、UpperArmは意外と気にならないので余裕があれば程度
そもそもオフショルダーだったり靴よりはラインに余裕があるデザインが多いからかもしれない

衣装パラメーター
衣装アニメーションは衣装側のモジュールでどうにかするのだけれど
パラメーターは本体側に用意しておくとちょっと便利かもしれない
個人的にはWear(int/保存)、Shoes(int/保存)、Safety(bool/保存しない)

露出度の高いものなどプレプラやパブリックでの使用を躊躇う衣装など
暴発しないように保存しないBoolを噛ませてFalseの時に通常モード(Wear=0)の遷移に飛ばすようにしてある 安全第一

衣装モジュール

本体側を出荷状態のprefabそのままからスタートすると話は別になるけれど
のちのちインナーも着替えたいという場合を考慮してデフォルト衣装も
服、靴、ソックス、インナーをそれぞれ衣装モジュールとして分離
本体の衣服は全部エディッターオンリーで剥いておく

靴・ソックス系の管理はなにも考えなくても良い場合が多いが
服系は重ね着を考慮して予め割り当てを決めておく

Wear=0 衣装の初期状態 だいたいフル装備
Wear=1 アウター1枚を脱いだ状態
Wear=2 ……

Wear=11~20 バスタオルや水着モジュールを重ねるとき用にSaftyなしで衣装OFFになる
Wear=21~ Safetyが必要な部分
アニメーターとしては危ない状態は存在するけれど11~20を選択するメニューがバスタオル側モジュールにしかないのでそれを外すと選択出来なくなって事故は起こらない

複数の衣装やインナー同士を組み合わせたりする場合はそれぞれ単独で動かせるようにモジュールを作っておいて必要な分以外のメッシュをエディッタオンリーにする

ここらへんの管理はなにがベストなのか決まってないので
いい感じのプランがあったら教えてください


服についている鞄などの小物はそれぞれ個別にBoolを割り当てるのでMAparameterを忘れないように

EXメニューはフォルダ内に作ったメニューをインストールするのではなく
MA Menu Groupを使って生成すること
古い人はつい前者を使いがちだけれど必要なメニューだけを選んで後出しじゃんけんで入れることが出来るので後者一択

衣装モジュールが完成したら必ずprefabを更新するかvaliantを作るかで保存すること バックアップユアプロジェクト!

小物類も外さない物を除き同様の流れでモジュール化する


追加表情モジュール

表情とは別に出したいほほ染めや白目などまたはコミカルなパーティクルなど
FaceEmoを使っていない場合は本体側アニメーターに入れる
FaceEmo内で完結している場合は問題ない
問題があるのはFaceEmoを使いつつ外で制御したい場合

本体側表情アニメが無効化されてしまうのでFaceEmoprefabよりも優先度を上げた状態で上書きするモジュールを作っておく
考え方は追加ジェスチャーに近い
アイドル状態のEmptyアニメからONにするアニメと切る時はOFFアニメを経由してEmptyに戻す
メニューはFaceEmoの生成するメニューに押し込んでおくと省スペース


最近のアバターギミック系は元々MA運用前提の設計で配布されてるので気にしなくてもいい
というか対応してなくてもこの記事をちゃんと読める人なら元のギミックをモジュール化できると思う

仕上げにLLCを入れてTAOやMeshSettingを入れたりして完成
アバター直下にMeshSettingを入れると楽だけど稀にRootBoneの位置を取って使うシェーダーとか存在していたりするのでその時はここでMeshSetting追加しましょう
複数適用される状態だと下層の方が優先されます


本体設計をちゃんとしておけば衣装を追加する時もシーンのコピペから始めればいいのでなるべくしっかりと組んでおきましょうね(戒


いいなと思ったら応援しよう!