modular-avatar/docs/i18n/ja/docusaurus-plugin-content-docs/current/tutorials/menu/index.md
bd_ a300622bb2
feat: support unsynced/saved toggles in new menu system (#276)
* chore: add support for synced/saved settings on menu actions

* feat: move action defaults to control group

* chore: finish the control group ui updates

* docs: update tutorial

* docs: update control group documentation

* docs/ui: menu install target UI and docs
2023-04-15 18:11:30 +09:00

7.1 KiB
Raw Blame History

sidebar_position sidebar_label
4 メニューを編集

メニューを編集

Modular Avatarには、オブジェクトベースのメニュー編集機能があります。これを使うと、Unityのインスペクターから簡単にメニューを編集したり、インスペクターだけでシンプルなトグルを作成したりできます。

このチュートリアルでは、既存のアバターのメニューを編集する方法と、アセットに含める方法を紹介します。

既存アバターのメニューを変換します

一番簡単に始める方法は、既存のアバターのメニューを変換することです。アバターを右クリックして、[Modular Avatar] Extract menuを選択します。

Extracting a menu

When you do this, a new Avatar Menu object will be added to your avatar, containing the top level of your avatar's menu.

すると、新しいAvatar Menuオブジェクトがアバターに追加されます。これには、アバターのメニュートップの項目が入っています。

Top-level menu

御覧の通り、メニューアイテムがオブジェクト化しています。各メニューアイテムを個別に見ることもできます。

Single menu item

「オブジェクトに展開」ボタンを押すと、このサブメニューも変換できます。これでメニューの各階層をヒエラルキーで見れます。

Extracted second-level menu item

オブジェクト化したら、アイテムをドラッグアンドドロップでメニュー内で移動させられます。

新規メニュー項目を追加

メニューを展開したら、「メニューアイテムを追加」ボタンを押すことで新しい項目を追加できます。

Add menu item button

リストの最後に新規アイテムが追加されます。そのあと名前、タイプ、パラメーターなどを設定できます。

サブメニューを作るなら、「タイプ」を「Sub Menu」にして、「サブメニューの引用元」を「子オブジェクトから生成」にしましょう。そしたら、サブメニューオブジェクトから「メニューアイテムを追加」を押すことで追加できます。

Creating a submenu

パラメーター設定

パラメーターを設定するときは、パラメーター名欄の右にある矢印を押すことで、名前で検索できます。親にあるMA Parametersコンポーネントも考慮されます。

Parameter search

トグルを作成

Modular Avatarにはヒエラルキーから簡単なトグルアニメーションを作る機能もあります。まずは簡単なON/OFFトグルを見てみましょう。

Simple toggle

このオブジェクトは「Simple Toggle」というサンプルとして同封されます。見ての通り、MA Menu ItemにMA Action Toggle Objectを追加し、メニューアイテムをToggleタイプにし、表示・非表示にするオブジェクトを設定しただけです。

Cubeの隣のチェックは、トグルがになったときは表示するべきで、になったときは非表示にするべきという意味です。チェックを外すと、逆にメニューがのときに表示し、のときは非表示になります。

:::tip

オブジェクトリストにドラッグアンドドロップでオブジェクトを簡単に追加できます。

:::

複数選択トグル

もうすこし複雑なトグルを作りたいときもあるでしょう。複数のトグルを一つのグループにするためには「MA Control Group」も作ります。例を見てみましょう。

Sample control group object

こちらはControl Groupがついている衣装切り替えメニューです。Control groupの主な仕事はメニューアイテムを一括りにして、同時に一つまでしか選択できないようにするためにあります。各メニューアイテムも見てみましょう。

Clothing menu item: Default Clothing menu item: Blanchir Clothing menu item: SailorOnepiece

見ての通り、どれも「Toggle」タイプで、「MA Action Toggle Object」コンポーネントがついています。 違うのは、Control Groupのオブジェクトを「コントロールグループ」に指定しているところです。 コントロールグループを指定すると、その中から一つのメニューアイテムしか設定できないようになります。同じパラメーターで連動するというわけです。

翻訳コントロールグループは、同じゲームオブジェクトにMA Menu Itemがない限り、どこにでも置けます。ヒエラルキーのどこにでも置いても構いません。 自分にとってわかりやすい所に置きましょう。

また、コントロールグループにもAction Toggle Objectを追加しました。こちらのトグルはデフォルトで設定されます。これでほかの衣装を選択しているとき、 桔梗ちゃんのデフォルト衣装を簡単に切ることができます。

コントロールグループに連動するアイテムのうちから一つを初期設定にできます。設定しない場合は、どれも選択しないという状態がデフォルトになります。 何も選択しない状態では、コントロールグループのデフォルトが適用されます。

最後に、コントロールグループのほうに保存・同期設定を調整できます。

制限

この機能は開発途中のもので、いくつか制限があります。

  1. 一つのオブジェクトは一つのコントロールグループまたはグループに入っていないトグルにしか操作できない。
  2. 現在、GameObjectしかトグルできません。コンポーネント単位のON/OFFやブレンドシェープの操作は未実装です。
  3. 一つのトグルでアクションと通常のアニメーターを両方操作できません。

今後のリリースで改善していく予定です。

配布アセットなどでの応用

新しいメニューアイテムシステムを配布アセットなどでも利用できます。サンプルとしては、FingerpenやSimpleToggleアセットにご参照ください。

簡単に解説すると、一つの項目またはサブメニューを追加するなら、MA Menu InstallerとMA Menu Itemを両方同じオブジェクトに追加してください。Menu Itemがアバターに自動的に追加されます。 サブメニューにグループしないで複数の項目を追加する場合は、MA Menu InstallerとMA Menu Groupを両方追加しましょう。Menu Groupはサブメニューに入れずに複数の項目を追加できるようにするコンポーネントです。Extract menuと同じ仕様です。