見出し画像

Modular Avatarでコントローラーとメニュー管理 進捗

Modular Avatarを活用したレイヤーのアバター間共通化をすすめている

進捗

ここまでできた

統合前の空コントローラーで「NONE」と「NONE GESTURE」がわかれている理由について
これはジェスチャーレイヤーにはアバターマスクが入っていないと動かないため

NONEの中身
NONE GESTUREの中身

ジェスチャーで一番最初のレイヤーにM←これがないとハンドジェスチャーが動かくなる。統合前に入れておく必要がある

プロジェクト内のフォルダ

エクスポートして他のプロジェクトに入れることでレイヤーと変数とメニューをすべて定義して動かせる

ヒエラルキー

アバタールートの様子

Modular AvatarでつくったPrefabを全部アバター直下に入れていくのはそうしないと実行時にアニメーションがMissingするから

アバターパスが絶対的(アバタールートからのパスを使用)になっている。必須。どうしても気になったらここも調整したい(配布時に「アバター直下に入れてください」という注意書きが消せるかも?)

メニュー管理

メニュー管理は、MAのExtract menu機能でヒエラルキー上で全管理を進めようとしている

Extract menuを押して見るのがおすすめ

使わない機能で最初は慣れなかったが、だんだん自分にあうと思えるようなやり方(フロー)を見つけてきつつある。
慣れないうちはメニュー数をうまく把握できずにエミュで実行時、メニューに「More…」が追加されるということが連発した。

公式の説明書を見ながら合ったやり方を考えるしかない

とりあえずFXはこうしている

指定

表情Rootは

このようにほぼ空のメニューで、表情を切り換える7つのボタンへのサブメニューだけが置かれている。これを作っておかないとどうなるか

正しいメニュー 表情Root指定
正しくないメニュー 表情 指定

ご覧のとおりトップメニューに表情変更ボタンがそのまま追加されメニューが溢れる。

「メニューを選択」でどこに追加するかをヒエラルキーのメニューオブジェクトから指定できる

トップメニューに入れたくない場合に活用 かなり便利

指定先にMA Menu install Targetという見慣れないコンポーネントがつく

Avatar Menu下に追加されるオブジェクト名はPrefabの名前と同じになるが実行時には「表情」というメニューで追加される

レイヤーの構造

FXはアバター共通のものだけ抜き出して、アバター固有のものは後から付け足していく
複数のコントローラーを統合したとき、レイヤーの前後関係はどうなるか。→アバタールートの下にあるMerge Animatorほど後から統合される(上のレイヤーに行く)

アバター
└FX(基本セット)
 固有FX(ひつくちゃん専用)

のようにPrefabを置くといい(※同じオブジェクトに2つのAnimator Mergerをつけることができることがわかった。その場合、上のコンポーネントで統合したレイヤーから下に入っていく。こっちのほうがいい)

…ここまで書いて思ったのだが表情ってアバターごとにmotionが異なるから固有FXのほうでは?

そこで思い出した

Animator Override …あっこれかぁ!(機能)
今度からこれを調べてみるか……

Descriptorについて

AvatarDescriptorで指定するレイヤーとExpressionsの指定先は最終的にすべてほぼ空ファイルになる

Placeholder=空のメニュー Parametersもほぼ初期設定のみ


今日はここまで

この記事が気に入ったらサポートをしてみませんか?