SetAvatarAudioParameters
freeze
概要
対象プレイヤーの(ボイスではない)アバター音声パラメータを変更する。
br
※この変更はLocalPlayerに対して効果があるもので、ワールドにいる全プレイヤーに同期しない。
パラメータ
Target Player | All:全てのプレイヤーの音声を変更する TriggeredPlayer:トリガしたプレイヤーの音声を変更する ※TriggeredPlayerはBroadcastLocalでのみ有効です。 TriggerにはOnEnterTrigger、OnExitTrigger、OnEnterCollider、OnExitColliderを使用し、 「Player」レイヤーを対象とすることで、そのコライダーに入ったプレイヤーの音声を変更できます。 |
Gain | 音量 |
Far Radius | 音声が届く距離 |
Near Radius | 音声が減衰し始める距離 |
Volumetric Radius | 音源の半径 |
Force Spatial | spatialBlendを有効にする |
Custom Curve | カスタムカーブを有効にする |
詳細は公式ドキュメント参照
元となるVRC_TriggerのAction名
なし
Udon実装概要
TargetPlayerに対してSetAvatarAudioGain、SetAvatarAudioFarRadius、SetAvatarAudioNearRadius、SetAvatarAudioVolumetricRadius、SetAvatarAudioForceSpatial、SetAvatarAudioCustomCurveで指定値をセットする。
補足
音声パラメータは、プレイヤーのそれぞれがワールドにいる他のプレイヤーそれぞれに対して持っているため、少し複雑となっている。
このアクションを実行するプレイヤーをA、対象プレイヤーをBとしたとき、
Aに聞こえるBの音声が変化することになり、その他のプレイヤーCに聞こえるBの音声は変化しない。
br
全てのプレイヤーに聞こえるBの音声を変化させたい場合、全てのプレイヤーで実行するようにトリガを組む必要がある。
対象プレイヤーを限定する場合、BroadcastGlobalは使えないため、
コライダーを対象プレイヤーに接触させて全てのプレイヤーに検知させ、Target PlayerをTriggered Playerとして実行することがほぼ唯一の手段となる。