0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Unityでサウンド側の設定のみで軽量に音を配置する方法

Last updated at Posted at 2025-08-01

はじめに

今回は
Ghost PhotographersというVRホラーゲームで実装した
環境配置音についての備忘録です。

#CRI_ADX勉強会 で未紹介の部分ですが、
いわゆる配置音を
プログラマやデザイナーの手をかけずに
サウンド側の設定のみで軽量に行えるものを目指しました。

デモ

ゲームでの一般的な音のリクエスト

ゲームで音が鳴る時は、たいてい、

  • ユーザーの操作(ジャンプ・アタック)
  • UIのボタンを押した
  • ゴールした(ゲームが進展した)

など何かしらのイベントきっかけで起こることが多い。

イベントきっかけの場合は、ゲームプログラムが用意されているため、
プログラムからリクエストをしてもらえます。

自動化可能なリクエスト

さらに
自動化できるところとしては、

  • 移動した時に足音・衣擦れを鳴らす
  • 走ったら息切れを鳴らす

というところになります。
一定以上動いたらなど、仕組みを用意する必要はありますが、一度作れば汎用的に使えます。
ここら辺もある程度プログラムが必要ですが、
プログラマにお願いして実装してもらうことが多いです。

シーン固有音のリクエスト

また、
これ以外に、環境音として、シーンに配置する音もある。

例えば、BGMとか部屋の中の時計の音とか。

ここは、ゲームデザイナーなどのリクエストに応じて用意することが多いかと思います。

これらは、シーンがロードされた時に鳴らされることが多いです。

オブジェクト固有音

シーンに配置してあるオブジェクトに付随する音もあります。

たとえば、扇風機に近づいたら「ぶーん」という音がする。
といった、ほぼプログラムレスで発動しても問題ないような音です。

環境音などで、
店の近くにいったらガヤを鳴らしたり店のBGMを鳴らしたりとか
木のある場所に葉擦れ音や鳥の声を配置するといったものも
近づいたら音が鳴る といった仕組みを用意することで自動化できます。

扉とかの近くにトリガーを置いて鳴らすみたいな感じになります。

さらなる環境音

オブジェクトほど限定されないもの
例えば、建物の近くの反響音や、谷底を通る風洞の音
大きな水の流れの音など。
おおまかな音。

配置には、UnityEditorのシーンエディットが必要となり
ここは、コスト面から省略される部分でもありますが、
そこに仕組みを用意し
サウンドデザイナーがひきとることができれば、
より多くの音を配置できる可能性が生まれる部分です。

音が多くなることでシーンの実在感を強めることができます。

基本的な配置音の実装方法

isTriggerなBoxコライダーを用意し、
TriggerEnterで音が鳴る。
image.png

TriggerExitで止める(ループ音など)

image.png

Unityで実装するならオブジェクトにコンポーネントをつけることで実装可能です。

image.png

TagやPhysxの設定もSound個別で用意し、
ゲームロジックには依存しない形で用意しています。

ここら辺は

の内容とほぼ同じなので割愛します。

エフェクトを変えるか、音を鳴らすかの違う程度で、リスナーの判定などは共有されています。

あえて、ゲームとは分離した実装にすることで、サウンド側だけの調整をしやすくしています。

プログラマからすると、余計な負荷に繋がらないか心配される部分でもあるので、導入する場合はよく相談しましょう。

フェード機能

エリアに入った時に発音する時、持続音のような場合、
突然鳴ったり、止まったりすると不自然なため、
フェードをかけられるようにしています。

フェードを長くすることで、境界があいまいなもの
例えばライトのような広がりのある範囲などは長めのフェードをかけたり、
逆に部屋の区切りをはっきりさせるため時計の音はすぐに聞こえなくしたり
といった演出ができます。

Unity設定時はPrefabをいじるようにする

オブジェクトに付随する音はPrefab側に設定
image.png
例えば、時計は部屋ごとに配置されているPrefab側に設定をすることで、
シーンを汚さずにAudio設定が可能です。

image.png

中庭のようなシーンそのものの広い範囲の場合は
シーンにAudio担当のみがいじるPrefab(ここではAudioFloor_1)を用意し、その中で設定をいじります。

こうすることで、シーンの変更とバッティングせずにオーディオの情報のみ変更ができます。

変更が落ち着いた後から参戦

こういうオーディオの設定は、ゲーム側がある程度固まってから作業する形になります。
見た目などか固まっていない状態の場合は、様子をみて、作業がFixしているところから手をつけていく形が良さそうです。
しばらく更新が無い場所を見ていく感じになります。

設定は試行錯誤

配置をはじめるといろいろ気になるところがでてきます。
自動化とは真逆で、
まったく何もせずにはうまくいという仕組みでもないので、
ホラーゲームのような、こういう設定で味わい深い演出がしたい
という場合には有効かと思われます。

おわりに

今回はADX2を利用していますが、ADX2のUnityには配置などの処理がとくに無いのと、
MetaQuest2でも動くスタンドアローンVRタイトルであるため、酔い軽減のためにも
処理をとにかく削りたいため、必要最小限のコライダーで実装してみたものになります。

何かの参考になれば幸い。

ADX2勉強会の時の資料

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?