VRクラブワールドなどを構築するにあたり、DJの告知を聞き取りやすくするために特定のプレイヤーのボイスを大きくしたい場面があると思います。今回は私のワールド「VUG Studio Tokyo」でも導入している、「特定のエリアに入った時そのプレイヤーのボイスを大きくする」方法について簡単に解説します。Udon Graphで作成できるため、コーディングの必要もなく手軽に作成できます。 マイクなどにボイスを大きくするギミックを実装するのと比較して、プレイヤーはただそのエリアに入るだけでボイスが増幅されるため、マイクをGrabし続ける必要がなく楽です。一方で、そのエリアに入っている間プレイヤーのボイスは常に増幅された状態になり、環境音やわずかな声も大きな音で拾ってしまうため、不必要なときはボイスをミュートにするか、今回解説するギミックをオンオフできる別のギミックを実装するなどして対処する必要があります。 ①ボイスを増幅したいエリアを設定する Hierarchyに適当なオブジェクトを新規作成し、Box Colliderをボイスを増幅させたいエリアに設定します。また、Is Triggerにチェックを入れます(チェック入れないとColliderの中に入れないため)。 ②Udon Graph Programを作成する ①で作成したオブジェクトのInspectorでUdon BehaviourコンポーネントをAddします。今回はUdon Graphで実装していきますので、赤枠で示しているプルダウンで「Udon Graph Program Asset」を選択してNew Programを押します。Program Sourceが作成されたら「Open Udon Graph」を押して編集画面を開きます。 ③Variablesを設定する GameObjectの変数をpublicで作成します。変数名はなんでもいいですが、ここではわかりやすさのため「voiceBoostArea」としています。 ④エリアに入った時、エリアから出た時の処理を記述する 以下、どんな処理をやっているかだけ解説します。 まず、プレイヤーがColliderの中に入ったかどうかをOnPlayerTriggerEnterで拾います。 今回重要になるのがVRCPlayerApiのSetVoiceGainとSetVoiceDist
このブログでは主に製品のレビュー、旅行のレポートや感想、日記や創作物などを掲載しています。