# Parameters Modular AvatarのParameters コンポーネントで、ギミックが内部で使ってたり、外とやり取りするためのパラメーターを定義できます。 衝突を避けるために名前を変更したり、同期・非同期パラメーターとその初期値を設定できます。 ![Parameters UI](parameters.png) ## いつ使うもの? VRChatが提供するパラメーター以外の、自分で定義するパラメーターを使うギミックを作る際に使います。 ## 使い方 MA Parametersリストの各エントリーは、一つのパラメーター、またはVRChatのPhysBoneの前置詞を指定します。上段に名前(または前置詞)を、 その横にパラメーターの型を設定します。 ### パラメーター型 右上のパラメーター型欄には、以下のいずれかを設定できます。 * Bool * Int * Float * Animatorのみ * PB前置詞 「Animatorのみ」を選択すると、そのパラメーターはExpressions Parametersリストに追加されません。ただし、下記の名前変更はできます。 「PB前置詞」設定は、このパラメーター前置詞がPhysBonesコンポー年tおに設定されている場合に使います。Animatorのみと同様、Expressions Parameters リストには追加されません。 ### パラメーターのリネーム 「名前を変更」欄に新しい名前を入れると、そのパラメーターはMA Parametersオブジェクトとその子の外ではその名前として扱われます。これは、 異なるギミック間の衝突を避けるために使ったり、逆に同じパラメーターを使って二つのギミックを連動させるために使うことができます。 「自動リネーム」をクリックすると、使われていない名前が自動的に選択されます。 ### 初期値 各パラメーターには初期値を設定できます。この値はアバターをリセットしたときに使われます。初期値を空欄にすると、アバターのExpressions Parameters アセットに設定された値が使われます。それもない場合は、0(またはfalse)が使われます。 「アニメーターでの初期値を設定」を有効にすると、アニメーターコントローラーの初期値を上書きします。一部複雑なギミックを作る際に便利です。 「Animatorのみ」を選択して初期値を設定した場合は、この設定は無視され、常にアニメーターコントローラーの初期値が上書きされます。 ### 保存・同期 「保存する」設定は、パラメーターがアバター変更やVRChat再起動時に保存されるかを設定します。 「同期する」設定は、パラメーターがネットワーク経由で同期されるかを設定します。この設定をクリアすると、パラメーターはネットワーク上での パラメーター数を消費しません。 ### パラメーターの新規作成 新規のパラメーターを作る方法がふたつです。まず、リストの下の「+」を押してから、作られたパラメーターの左の▶を押して、パラメーター名を 記入することです。 また、「未登録パラメーター」のところを開いて登録することもできます。このリストには、このオブジェクトとその子で検出されている未登録 パラメーターがリストアップされます。「追加」を押せばワンクリックで登録できるし、虫眼鏡牡丹をクリックすると検出された場所が表示されます。 どのみち、パラメーターを作ったら▶を押せば詳細画面を開けます。そこで同期状態をつかさどるパラメーター型を設定したり、その他詳細設定ができます。 ### 入れ子にする MA Parametersコンポーネントは入れ子状態にできます。これで複雑なシステムを、複数のモジュールから組み上げることができます。 MA Parametersコンポーネントはそれぞれ、その子に名前変更を施します。例えば、中のほうのMA Parametersが「hoge」→「piyo」でリネームし、 外が「piyo」を自動リネームするとしたら、その間のオブジェクトでは「piyo」としてアクセスできます。 入れ子にした場合の特別の取り扱いが一部あります。 * 「保存する」設定は、親側で登録された設定を優先します。ただし、入れ子になってないMA Parametersで「保存する」設定が異なる場合は、 どれか一つでも「保存する」が有効になった場合は有効になります。 * 「初期値」設定は、親側で登録された設定を優先します。ただし、親の設定が空欄の場合は子の設定を考慮する。なお、入れ子になってない状態で 「初期値」設定が異なる場合は初期値が不定になるため注意が表示されます。