スキップしてメイン コンテンツに移動

【VRChat】プレイヤーが特定のエリアに立った時ボイスを大きくする(オーディオオーバーライド)方法【UdonGraphで作る】

 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とSetVoiceDistanceNearです。

SetVoiceGainはその名の通りボイスのゲインを設定するもので、0~24の間で設定します(既定値は15)。この値を15より大きくすればエリア内のプレイヤーのボイスを増幅させることができ、逆に15より小さくすればエリア内のプレイヤーのボイスを小さくすることもできます。例えば私語絶対許さないマンなエリアを作りたければ、OnPlayerTriggerEnterでSetVoiceGainを0にすればエリア内のプレイヤーのボイスは聞こえなくなります(のはず)。

SetVoiceDistanceNearはボイスの減衰が始まる距離を設定するもので、0~1,000,000の間で設定します(既定値は0)。せっかくSetVoiceGainでゲインを大きくしても、フロアの後ろのほうなどエリアから離れてしまうと結局ボイスが減衰して聞き取りにくくなるので、この値を大きくしてフロアの後ろのほうでもほとんど減衰しないようにします。値をいくつにするかはフロアの大きさやどこから減衰させたいかによって決めるとよいでしょう。私のワールドではフロア中央付近より前側のプレイヤーには聞こえやすく、後ろのほうのプレイヤーには雑談の邪魔をしない配慮で15に設定しています。


ところで、ここまでの実装だけではプレイヤーがエリアの外に出てもボイスが増幅されたままとなってしまいます(そのような実装をしていないので自分では検証できていないがおそらく増幅されたままになるはず)。そのため、プレイヤーがエリアの外に出た時VoiceGainとVoiceDistanceNearの値を既定値に戻す処理を行うのがOnPlayerTriggerExit以降となります。


⑤変数にエリアのオブジェクトを紐づける

InspectorのUdon Behaviourコンポーネントを確認すると、Public Variablesに先ほど手順③で設定した変数が出てきていると思います(出ていない場合はCompileやReloadをする)。ここに、手順①で作成したオブジェクトをHierarchyからドラッグ&ドロップして紐づけます。


これで実装完了です!Build&Testでクライアントを2つ立ち上げ、一方でボイスを話し、もう一方でボイスを聞いて、正しく実装されているかを確認します(Testをスキップしてワールドをアップロードし、フレンドに確認してもらってもよいです)。


以上、ご参考になれば!

最後までご覧いただきまして、ありがとうございました。


※この記事は自分の環境ではこの方法で実装できたということを共有するもので、すべての環境での動作を保証するものではありません。

SetVoiceGain・SetVoiceDistanceNearを含む、Player Audioの詳細な仕様はVRChatのドキュメント(英語)をご確認ください。

このブログの人気の投稿

【初心者VRDJ向け】とりあえず何すればいい?DJ練習できる場所ってあるの?【VRChat】

ここ最近、VRDJが急激に増加したなぁ、と実感しています。 かくいう私もDJキャリア自体は2020年7月にスタートしたものの、VRDJとしてのデビューは今年1月なので、「急激に増加した」うちの一人にカウントされると思います。 さて、あなたはVRChatでいくつかのDJイベントに参加し、そのプレイに魅了され、「自分もDJをやってみたい…!」と思ったとします。まずは機材の購入!ということで、勢いでDDJ-400あたりを購入することでしょう(※)。 「…で、機材買ったはいいけど、結局何をすればVRDJデビューできるんだ?」 そういえばVRDJのキャリアの始め方について解説した記事ってそんなにないよなぁ(あっても情報が古いよなぁ)、と思ったので、これまで私がVRDJをやってきた中で経験した・見聞きした情報をもとに、2022年8月現在の情報で「とりあえず何すればいい?」というところがざっくりわかる記事を書きたいと思います。 なお、私は前述の通りVRDJデビュー以前に1年半近くのDJキャリアがあったことや、「我流」でやった部分が少なくなかったこともあり、これから紹介するVRDJキャリアの歩み方をほとんどたどっていません(おい)。そのため、下記で紹介している内容は実際の初心者VRDJの多くが実際に通ってきたキャリアとは異なる箇所があるかもしれません。あくまで一つの例としてとらえていただき、フレンドの方と協力し合いながら楽しくVRDJライフを送っていただければと思います。 ※個人的にはこれから長くDJキャリアをやっていきたいとお考えなら、少し値は張りますがDDJ-800を購入することをおすすめしています。DDJ-400と比較してDDJ-800の優れているポイントを解説した動画を以前投稿しましたので、ご興味ございましたらぜひご覧ください。 手順0:VRDJのフレンドを増やす …いや手順1じゃないんかい!と思ったかもしれませんが、リアルDJにしてもVRDJにしても、まずは交友関係を広く持つことが重要だと思います。 いつもとアバターが違いますが左から2番目のちっこいのが私です VRDJキャリアを始めたばかりのあなたは、言ってみれば「VRDJ」という学校に転校してきた転入生です。芸能人が転校してきた!とかであれば交友関係を持たなくても人は集まるかも知れませんが、そのような極端な例でない限り

【特集】HeXaHedronの音響システムについて

 「HeXaHedron」は、私 廻音あじおがVRChat上で運営しているクラブワールドです。2022年10月のオープン以来、「Immersive Sound Experience」をメインコンセプトに、リアルクラブのような重低音・音圧を体験できる空間づくりを一貫して重視してきました。 2024年からはこれまで複数主宰してきたクラブイベントを「Sound Freeak」に統合するとともにVRCで主宰するすべてのイベントを「HeXaHedron」や「HeXaHedron」の音響ノウハウを活用したワールドで開催しているほか、先日5月8日には音響のこだわりを受け継ぎつつライティングを一新するなどビジュアル面を強化した「Ver.3.0」をリリースするなど、「Immersive Sound Experience」を軸とした「HeXaHedron」ブランドのさらなる向上に努めています。 ありがたいことに多くのDJ・来場者にご評価いただいており、レンタルでのご利用も増加している「HeXaHedron」の特長・魅力についてより広く知っていただくため、ここに「HeXaHedron」の音響システムについて解説します。 なお、以下で解説する内容の一部は2023年11月に配信された「たまごまご」さんのライブ「VRDJに聴く!」でもお話しています。この配信では私の主宰イベント「Channel CUEration(現 Sound Freeak)」や私のDJ・VRDJの経歴等もトークしていますので、ぜひアーカイブを併せてご覧ください! 解説の前に:VRクラブで音響にこだわる意味 最近でこそ音響にこだわったVRクラブワールドはかなり増えましたが、「HeXaHedron」をリリースした2022年ごろはそういったワールドは希少で、そのワールドで開催されるすべてのイベントで配信リレーの仕組みを使ったリアルタイム音響調整の運用を行っていたのは私の知る限りHeXaHedronが唯一でした。 VRクラブでこれまで音響が重視されてこなかった背景として、Unity・VRC SDK等の技術的制約はもとより、プレイヤーによる聴取環境の違いが関係していたのではないかと推察しています。 リアルクラブにおいては一つの空間に人が集まるので、当然ながらクラブにいるすべての人が同じ条件で音を聴くことになります。一方、VRクラブや

【開封レビュー】ドスパラノートPC「Altair VH-AD」

今回はドスパラの激安ノートPC「Altair VH-AD」(以下、Altair)を購入しましたので、ファーストインプレッションをお送りします。 私は現在、大学の学科指定の実習用PCとしてMacBook Airを使用していますが、2013年に購入してもらってから3年弱使用し続け、徐々にバッテリーの劣化によるバッテリー持続時間の減少が気になってきていました。また、私は 大学院への進学 を目指しており、4年生に上がる前のこの機会に心機一転ノートPCを一新して気合を入れようと考えました。 当初はマウスコンピューターの法人向けブランド「MousePro」の13.3型ノートPCを購入する予定でした(本来は法人ユーザーしか購入できませんが、私の通っている大学では大学生協を通じて注文することで、各社の法人向けPCを購入することができるそうです)。しかし、機種の最終選定を行っていた1月8日、突然ドスパラから税込3万円未満の激安ノートPCが発売されました。とはいえ、私はドスパラのノートPC・タブレットで何度も買い物を失敗しており、今回も「どうせ安かろう、悪かろうだろう」と思い、すぐの購入は躊躇しました。しかし、デザインやインタフェースなど、魅力的な点もないわけではなく、さらに私が検討していたMouseProのノートPCのCPUの性能がドスパラの激安ノートPCよりわずかしか上回っていないことがweb上に掲載されているベンチマークの結果から判明し、「使用用途的にもそこまで性能は必要ないし、性能がほぼ同じならより安いほうがいいだろう。もしまた購入に失敗しても3万円未満であればあきらめがつくし」ということで、購入を決意しました。今回は購入にあたって売却したものはありませんが、下取りサービス(PC(壊れていても欠品があってもOK)を無料で引き取り、購入価格から1,000円値引いてくれるサービス)を利用し、いろいろあって売却不可能になったWindowsタブレット「DG-D08IWB」を出すことにしました。普通に買い取りに出そうとしても値がつかない商品を実質1,000円で買い取ってくれると考えれば、動かないものを手元に放置するよりかはマシでしょう。 それではさっそく開封していきましょう!なお、私は以前ノートPCとしてドスパラの「Critea DX4 with Bing」(以下、Critea