VRChatで意外とよくわからんくて後回しにされがちなサウンドの調整に関するTipsを雑にまとめました。
技術的なことや仕様ディレクションのことなどごちゃ混ぜで雑多に書いています。
ちょっとずつ書いていきます(工事中)
できる限りVRChat特有の問題について書いていきます
Tipsなので、あんまコストかけずにできるとりあえずこれやっとけなのを集めてます。
かなり我流なので、間違っている場所があったりしたら教えて下さい。
無音だけはぜったいやめとけ
無音は絶対やめましょう。なぜならリアルで完全なる無音な空間はほぼ存在しないからです。
無音だと宇宙的な恐怖を感じます(?)
解決策としてBGMを入れるのが割とスタンダードですが、ゲームっぽいワールド以外では使いにくいので、環境音(BGA)を入れるのがおすすめです。
外だったら風の音とか雑踏、室内だったら空調音とか機械音とかです。
音量は言われてみると聞こえるなぁぐらいの音量でOKです。
素材はみんなご存知GameAudioBundleのものがライセンス的にも使いやすくてオススメです。
あとはPCMレコーダーで録音するのもアリです。

空調音

Audio SourceのVolumeはとりあえず0.5ぐらいにしよう
AudioSourceのVolumeは最初の入れ込み時はひとまず0.5で、0.5基準で調整しましょう。1.0はほぼないです。
クラブのワールドとかじゃない限り、音量クソデカワールドは即GoHome案件です。

調整にあたっては、ワールド内でバランスの基準音を定めましょう。
動画プレイヤーやBGMなどワールドで一番でかい音や、調整がしにくいものを基準にするのがおすすめです。
Youtubeの動画は音圧がある程度均一化されているので、動画プレイヤーでYoutube動画等流して、それを基準にするのはわりと手っ取り早いです。

その上で、実際のワールドでテストする場合は、VRChatのAudio Settingsの想定Volumeを決めしましょう。
自分は30~40%ぐらい(新仕様のVolume)でテストをしています。
あとVRChatはなんだかんだボイスが一番聞こえるようになってるので、複数人で喋りながらテストしたほうがもっと良いです。
VRC Spatial Audio Sourceの仕様
Audio SourceのComponentにVRC Spatial Audio SourceというComponentをつけられます。
そもそもなにやってんのとかどのパラメータがどういう挙動するかなどの基本的な仕様に関しては、公式ドキュメントを参照してください
https://docs.vrchat.com/docs/vrc_spatialaudiosource

ワールドビルド時にAudio SourceにVRC Spatial Audio Sourceがついてないと、Warningが出ます。
Auto fixを押すと自動的にComponentが追加されます。
また、Component追加前のAudioSourceのSpatial Blendが2D(値が0)だった場合、
デフォルト状態ではEnable Spatializationのチェックが入っていないので、とりあえず追加されただけの無効状態です。
逆にSpatial Blendが3D(値が0より大きい)だった場合、
デフォルト状態でEnable Spatializationのチェックが入っており、有効の状態で追加されます。
有効状態(Enable Spatializationにチェックをつける)と、以下の設定がオーバーライドされます。
つまるところ、どんなにAudio Source側でいじっても意味無くなります
・Spatial Blendが3Dになる
・Spreadが何かしらの値で固定される?(たぶん)
・3D Sound Settings内のVolumeのカスタムカーブとかDistanceがVRC Spatial Audio Sourceにオーバーライドされる
※Use AudioSource Volume Curveにチェックを入れるとこの項目はAudioSource側の設定が使える
・Audio Reverb Zoneの影響を全く受けなくなる(Reverb Zone Mixが0でオーバーライドされるんか?)

ちなみに、Audio Low Pass FilterのComponentを追加したときに設定できるLow Passのカーブは有効でした。

そしてここからは完全に個人的な意見ですが、VRC Spatial Audio Sourceを使用すると上記の通り
Spatial Blend・Spread・
Audio Reverb Zoneが全くいじれなくなるのがクッソきついので、
ワールド制作においては、
Enable Spatializationのチェックを外して使用しないのをお勧めします。
アバター制作では割と使いやすいと思いますが、そのまま適応するだけのデフォルト数値ではもちろん使えない
Audio SourceのSpreadを使おう
Spreadは3Dオーディオの音の定位感をわりと気軽に調整できるので、かなりおすすめです。
Spreadはもちろんデフォルトでは0ですが、0だとかなり定位感が強すぎて、首を振ったり前を通り過ぎたりするとかなり不自然に聞こえるため、
とりあえず100ぐらいの数値でとりあえずやっとくとよいかと思います。

リアルの音はそもそも拡散して聞こえるし、障害物の反射などで色んなところから聞こえるので、0で使用するのはかなり限られた状況かと思います。やるとしても、プレイヤーから離れてるところに置くのが良さそう。
​​​​​​​
Spreadについて詳しく書かれているドキュメントが存在しないのでどうなっているかは謎ですが、
実際のAudioSourceの位置を中心に、入れた数値ぶん広がった角度の位置から擬似的に聞こえるような挙動をする気がします。
数値が大きくなるほど音の定位感が曖昧になり、また180度ではどこから聞こえているかわからなくなります。

また、180度を超えると実際のAudio Sourceの位置とは逆から音が聞こえ始めます。
例えばSpread 300はSpread 60の真逆版みたいな挙動をします。Spread 360はSpread 0の音源が真逆から聞こえます。

180度以上はこれいる?って感じですが、
例えば、建物のど真ん中に環境音の音源を配置して、それをSpread 300とかにすると建物の外側から環境音が聞こえてくるみたいな聞こえ方が出来ます。
この置き方をSpreadを使わずにやろうとすると、建物の周囲を取り囲むように同じAudio Sourceを複数配置することになります。が、取り囲むように置いたほうが早い気がする。
Audio Sourceをたくさん置いた時に起きること​​​​​​​
要検証な部分がとても多いので、メモ程度です(23年10月現在)
・VRChatのメニューUIのSEが消える
→おそらく内部でPriorityが低めに設定されている?それ以外は影響はなし
→UIの音が消えだすと、おっこのワールドはたくさん音置いたなぁってなる(?)
・ただし、VRC Spatial Audio Sourceを有効にしたAudioSourceが一定数を超えると、上限超えた分が鳴らなくなる?
→無効にすると解決する。やっぱり使わないほうがいいじゃないか!

VRC Spatial Audio Sourceを使用しなければ、50個以上ポン置きの再生しっぱなしのAudioSourceがあっても特に何も置きなかった​​​​​​​
プレイヤーから一定距離離れたAudioSourceは無効にしたり再生を停止するUdonを書いたり、その他のギミックに合わせて消したりするのがもちろんベターと思われる。だが現状それをしないといけなくなった状況になったことはないため、すくなくともVRCワールドの規模ではわざわざその処理を書く必要はない?(負荷的な部分も含めて)
Spatial(2D/3D)あれこれ​​​​​​​
・2Dはステレオで3Dはモノラルになります
・2Dはプレイヤーの位置や向きに関わらずステレオで聞こえます

・2D音源を指定の範囲内のみで再生したい場合
→以下の画像のように3D Spatial Settingsのカーブを設定し、右端のMax Distranceで完全3DかつVolume0にする必要がある
→これやらないとワールド全体で2Dが再生されてしまう(ギミックの効果音などでやってしまいがち)
・基本的にBGMは2D、環境音や効果音は3Dで良いが、脳死でこれをやるのはよくない
→BGMも3Dで置いたほうがエモい場合もある
→効果音は、UIやジングルなど現実の音では聞こえないものや脳内で鳴ってそうなものは2Dのほうが自然な場合がある(単純に2Dのほうがステレオで聞こえも良い)が、明確にここから音が鳴っている、などがあればこの限りではない
→諸々設定がめんどくさいのか全部効果音を2Dにしてるのをよく見るが、どうかがんばってほしい
→そもそもVRで実装する以上、空間に配置されてしまうので普通のゲームの仕様を丸写しするの良くない

AudioMixer
VRChatでは使えない
Back to Top