見出し画像

Modular AvatarでLocomotion(レイヤー)を移植用に持ち運び【アバター】


こういうアイデアがあったので

基本編として、2つのアバターのLocomotionを共通管理(移植)する手段として
Modular Avatarを試してみます

遷移図を書き換えちゃった

寝るポーズと座るポーズ他を追加したDefault Locomotionです
このAnimatorControllerをエクスポートしてほかのプロジェクトのアバターに移植しても変数が登録されてないしメニュー(座る、寝る)もあらわれないので詰みます
Modular Avatarでインストールするみたいに移植用Prefabを作ればメニューごといけるのでは?→じゃあそもそももとのアバターにLocomotionつけてる意味もないじゃんってことで整理します

具体的なやり方

Locomotionについての必要情報をつめこんだ空のPrefabをつくります
(Prefabは空オブジェクトをつくってAssetsにドラッグ&ドロップで作成)
Prefab編集でModular Avatarコンポーネントから統合するメニュー、パラメーター、アニメーターコントローラー(FXレイヤーのようなやつ)を指定します

アバターのツリー構造 ”Locomotion”
パスで"絶対"、統合先でBaseを指定 
パラメーターを開発者向け設定から必要なものは同期
もとのレイヤーをはずす(空のものに差し替える)

実行時に虚無のレイヤーと統合することであたかも1個のレイヤーのように振る舞うことができる(天才)

余録:無指定noneやDefault Locomotionと統合すると実行時に画像のようになったので注意(動かなかったわけではない)

none指定だとレイヤーが2つ重なっている。空のコントローラー(Baseだけのレイヤー)をつくることをおすすめする

移植してみよう

移植するには「移植用Prefab」を置いたフォルダをエクスポート(追加したメニューやモーションも一緒にフォルダに入れてエクスポートすること!)→移植したいアバターのプロジェクトへインポートしてPrefabをアバター直下に入れる

アバターの旧Locomotionを取り外して、空のコントローラーに差し替えて実行すると実行時Modular Avatarが働くので完成
移植自体は3分もかからずにおこなうことができた

この方法便利かもしれない

続き


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