Expressions Menu とコントロール
アバターのアニメーターで Expression Parameters を使用するには、Unity Animators に関する基本的な知識が必要です。
VRChat では、Expressions Menu を使用してアバターのアニメーターを操作できます。これにより、VRChat のラジアルメニューからアニメーションを再生したり、アバターの外見を変更したりすることが可能になります。
VRChat で Expressions Menu を使用するには、少なくとも以下の2つのアセットを作成する必要があります。
- Expressions Menu アセット(1つ以上)
- Expression Parameters アセット
これらのアセットを作成および設定した後は、Avatar Descriptor の「Expressions」セクションに必ず追加してください。
Expressions Menuの作成
Assets > Create > VRChat > Avatars > Expressions Menuを選択して、Expressions Menuアセットを作成します。
![]()
- Expressions Menuアセットを選択し、「Create」ボタンをクリックして Expression Parametersアセットを作成します。これにより、Expressions Menu用のカスタムパラメータを作成できるようになります。
- 「Create」をクリックすると、Expression Parametersアセットが自動的にExpressions Menuアセットに割り当てられます。
Assets > Create > VRChat > Avatars > Expression Parametersを選択してExpression Parametersアセットを作成することも可能です。- Expression Parametersには、
Animatorからパラメータをコピーして、素早くパラメータを作成するオプションがあります。
![]()
- Expression Parametersアセットを選択してカスタマイズします。
- アセットにはデフォルトで3つのパラメータが含まれています:
VRCEmote、VRCFaceBlendH、およびVRCFaceBlendV。これらをアバターで使用しない場合や、独自のExpression menuを作成する必要がない場合以外は、削除しても問題ありません。 - アニメーターからは常にVRChatの組み込みパラメータにアクセスできます。例えば、「AFK」や「GestureLeft」といったパラメータをExpression Parametersアセットに追加する必要はありません。
- アセットにはデフォルトで3つのパラメータが含まれています:
-
カスタムパラメータの名前を入力します。
- これらの名前は、アニメーター内のパラメータと一致している必要があります。
/を使用してパラメータを分類できます。例えば、Clothing/HoodieやClothing/Hatなどです。- VRChatには組み込みパラメータがいくつか用意されています。
これらは常にアニメーターで使用できるため、独自のExpression Parametersに追加しないでください。
-
各パラメータのタイプを選択します。タイプはアニメーターの parameter type と一致させる必要があります。
Intは0から255までの任意の整数を指定できます。Floatは-1.0から1.0までの任意の数値を指定できます。Boolはtrueまたはfalseのいずれかとなります。
Defaultの値を選択して、各パラメータのデフォルト値を設定します。- アバターがリセットされた際、パラメータはこの値に戻ります。
- アバターがロードされるたびにリセットされるべきではないパラメータについては、
Savedを有効にします。アバターにカスタマイズオプションや設定がある場合、Savedを有効にすることで、別のワールドやアバターに切り替えた後に設定がリセットされるのを防ぐことができます。 - このパラメータの状態をネットワーク経由ですべてのプレイヤーに送信する必要がある場合は、
Syncedを有効にします。- カスタムパラメータの同期タイプはPlayableとなります(Puppetコントロールは除きます)。
次に、これら両方のアセットをアバターディスクリプターに追加する必要があります。
![]()
- アバターディスクリプターを選択し、「Expressions」セクションまでスクロールします。
- 「Menu」プロパティを、作成したexpressions menuに変更します。
- 「Parameters」プロパティを、作成したexpression parametersに変更します。
両方のアセットをアバターディスクリプターに追加すると、すべてのexpression parametersがexpression menuで使用可能になり、カスタマイズできるようになります。
![]()
- インスペクターで「Add Control」をクリックします。1つのメニューには最大8つのコントロールを追加できます。
- 名前とタイプを選択します。
- ここでアイコンやサブメニューの追加、コントロールの順序変更などを行えます。
- いくつかのデフォルトアイコンは
VRCSDK/Assets3/Expression Menu Icons/にあります。
- いくつかのデフォルトアイコンは
コントロールの種類
Expressions Menuでは、さまざまな種類のコントロールを使用できます。ユースケースに最適なタイプを選択してください。
| Type | Description |
|---|---|
| Button | クリック時にパラメーターを設定し、同期/リセットの送信後(通常約1秒後)にリセットされます。長押しはできません。 |
| Toggle | トグルがオンの時にパラメーターを設定し、トグルがオフになった時にリセットされます。 |
| Sub-Menu | 別のExpressions Menuを開きます。サブメニューの中にさらにサブメニューを入れることも可能です!さらに、サブメニューに入った際にパラメーターを設定することもできます。その場合、そのメニューを終了するとパラメーターはゼロにリセットされます。パラメーターの値を変更すると、異なる値を使用するように設定されたサブメニューがすべて閉じます。これを利用して、長いサブメニューの連鎖を一度に閉じることができます。 |
| Two-Axis Puppet | ジョイスティックの位置に応じて2つのfloatパラメーターを制御する軸パペットメニューを開きます。パラメーターは垂直方向と水平方向にマッピングされます。float値の範囲は -1.0 から 1.0 です。 |
| Four-Axis Puppet | ジョイスティックの位置に応じて4つのfloatパラメーターを制御する軸パペットメニューを開きます。パラメーターは上、右、下、左の順にマッピングされます。float値の範囲は 0.0 から 1.0 です。 |
| Radial Puppet | 1つのfloatパラメーターを制御するラジアルパペットメニューを開きます。プログレスバーを埋めるような感覚で操作できます!float値の範囲は 0.0 から 1.0 です。 |
「Puppet」タイプのコントロールには、2つの特別な機能があります。
- 「Parameter」プロパティは、パペットコントロールではオプションです。これを使用すると、パペットコントロールが開いている間、パラメーターが設定されます。これにより、アニメーター側でパペットコントロールが現在開いているかどうかを検知できます。
- VRChatでパペットコントロールを終了しても、「Parameter Horizontal/Vertical/Radial」の値は維持されます(コントロールを再度開くか、他の場所で値を変更するまで)。これにより、パペットコントロールを特定の状態のまま「固定」して、ラジアルメニューを操作することが可能になります。
パペットメニューの同期
Puppetコントロールは、開いている間 IK Sync を使用します。高速な動きや機敏な動作のために、入力にできる限り近い同期が必要な場合は、Puppetメニューを使用してください。
ButtonやToggleは、連続的ではなくオンデマンドで更新されるPlayable Syncを使用します。これらは、高い精度での同期を必要としない「オン/オフ」の切り替えに適しています。
Puppetメニューの同期は常に利用可能な最大レートで更新され、リモートユーザーに対して値を補間します。タイミングの正確な同期が重要な場合に適しています。
最終更新: