さて、前回はバーチャルサラウンドについて解説した
今回はより実践的に、実際にFPSゲーマーはどうやって音を聞いているのか、という点について考える
前回の解説はある程度人による部分だが、今回はおそらく多くの人にとってあてはまる普遍的なものだ
FPSゲーマーにとって、敵の位置の特定は簡単
FPSに限らず3Dゲームをある程度やりこんでいる人ならわかると思うが、ほとんどのゲームにおいて足音の位置などの情報は、ほぼ無意識に、かつある程度正確に把握することができる(一部の音作りが下手なゲームを除いて)
なんなら、目を閉じても音源の位置を特定することは可能だ
実際に、目を閉じて音源の位置を特定している動画を出そう
①マインクラフトで自分の周りにトロッコを走らせ、目を閉じて位置を特定する映像↓
(二回目のほうは、Tweetで遅くね?と言われてすぐにDPIを適当に爆上げして撮った動画。そのため単純にエイムがおぼついていない)
②CS:GOにて目を閉じてボットと1on1
音だけでそれなりの精度で敵の位置を把握できていることがわかる(ストッピングはしていないのでご了承)
一体どうやってこのようなことをやっているのだろうか
できる人にとっては簡単だが、できない人にとっては不思議なはずだから、解説していこう
前提:前後の違い、上下の違いはわからない
現実問題として、私も含め多くのプレーヤーは前後上下を区別できている
だから実際に音が前後上下から聞こえている、と思っている人が多いがそれは勘違いの可能性が高い
確かに3Dゲームの理屈的には前後上下から音が聞こえてもおかしくはないと思うが、現実問題としてそのようなFPSはまだ登場していない
PUBGやR6Sなどの最近のゲームは、初めからバーチャルサラウンドに似たHRTFを導入した音作りがされているが、まだまだ発展途上といっていい
実際にいくつかのゲーム(BO3,BO4,BF4,CS:GO,Minecraft)で目を閉じた状態で銃声を鳴らしてもらい、前後どちらか当てるという実験をしたが、誰がやっても成功と失敗がほぼフィフティーフィフティという結果になった
調べたところゲームによっては前後で僅かに音量が違うし、HRTF演算を導入しているゲームなら音の質感も違うから、事前知識をおさらいして検証に挑めば前後の判断ができる可能性は高い
しかし実際のFPSでは音量差はほんの少しの位置のずれで変化してしまうし、僅かな音の質感の違いで判断できる人間はほとんどいないと思われる
サラウンドを有効にすれば前後情報は比較的わかりやすく含まれるようになるが、FPSにおいて瞬時に使える実用的なレベルの精度かと言われるとまだその域には達していないし、
上下の情報に関しては7.1chサラウンドにも含まれていない
基本的に今あるFPSにおいては、確実に情報が含まれるのは右と左だけで、前後上下の違いはわからないと考えておいて、それを前提に位置特定を行うのが『無難な選択』だ
時々「自分は前後と上下がわからないんです……他のヘッドセットにするべきでしょうか……」という人がいるが、そもそも聞こえないのが当たり前という前提で考えてほしい
音聞きの5大要素
結論から言えば、FPSゲーマーは音源の位置を、
①音源の方向=左右の音量差を比較
②音源との距離=音量そのもの
この二つの要素で聞き分けており、
更にそれを
③マップ把握
④音の種類の把握
⑤ゲーム固有の音の性質への慣れ
によって強固なものにしている
と私は考える
さて、これだけでは理解できるはずもないので、具体的に見ていこう
音の方向は、左右の音量差の比較によって判断している
FPSに限らずほとんどの3Dゲームは、音源に対して真横 (この位置を90°とする) を向いた時に音源に近い側から聞こえる音量に比べると、反対側の音量が小さくなるように設定されている。
MinecraftやCS:GO(HRTFなし)では90°で片方の音量がゼロになり、
最近のHRTF演算を導入しているゲーム、CS:GO(HRTFあり)、PUBG、R6Sなどでは若干音量が小さくなる程度に留まっている(後述)
※ここからの議論では便宜上、音源に対して近いほうを100、遠いほうを0として表記していく
90°の時に100:0であれば、音源に対し0°もしくは180°になれば音量は50:50だし、斜めを向けば75:25のような聞こえ方をする
具体的に、イヤホンやヘッドホンを使ってCS:GOとPUBGで確かめてみよう
自分と音源の角度による、左右の音量差に注目してほしい
上の波形が左側の音量、下の波形が右側の音量だ
CS:GO(HRTFなし)では、 90°の地点で 銃声がまさに100:0のような聞こえ方をしているのに対し、CS:GO(HRTFあり)では逆側から音量が減少した音が出ていることがわかる。
PUBGの足音にはデフォルトでHRTFが導入されているから、90°の地点でも逆側から小さめの音が聞こえる。銃声に関しては、HRTFなしなら100:0の音の鳴り方、ありだと音源の逆側から音量が減少した音が出ているのがわかる。
R6Sやマインクラフト、CoDBO4など他のゲームでも録音しているから、リクエストがあればTwitterに投稿するかもしれない
ここまではいいだろうか
この、音源の位置によって右と左の音量が異なるという知識を踏まえ、音源の方向を判断する方法を解説しよう
前後を判断する方法
完全にブラインドされた状態で、前後を判断する場合を考える
実際の音源は自分の真後ろ180°の地点にあるとする
最初の時点では、右左ともに音量が50:50で全く同じだから、前か後ろかはわからない
じゃあどうやって判断するか
簡単だ
少し右か左を向けばいい
右か左を向いた時の左右の音量の変化によって、前後は簡単に判断できる
音源が前方にある場合は、少し右を向くと左側が音源に近づき右が音源から遠ざかる
音源が後方にある場合は、少し右を向くと右側が音源に近づき左側は音源から遠ざかる
非常に簡単な理屈だ
さっきの動画を使って、実際に体験してみればわかるだろう
今回は最初の時点で音量が50:50だから、音源の位置は前か後ろの二択しかない
前の選択肢が外れた瞬間すぐに後ろであると判断できるから、FPSであればそのまま振り向いて決め撃ちを行うことができる
(実際のFPSでは視覚情報があるのでもっと判断は容易だ。前に敵がいないのに左=右の音が聞こえたら真後ろに決まっている。そして、そういう場面の時は『音が本当に後ろから聞こえる』)
すなわち、最初の音量差の情報+移動後の音量差の情報 という最低二つの音量差パラメータがあれば、理屈上は方向を特定可能なわけだ
(現実的にはさすがに二つだけでは難しいし、そのゲームの音の鳴り方に慣れている必要がある)
当然、自分が動かなくても相手が移動して相対的な音量変化パラメータを作ってくれればそれでもいい
最初から片方が大きく聞こえた場合
最初から片方が大きく聞こえた場合も理屈は同じだ
最初のパラメータとして30:70のように音が聞こえた場合、音源が右側の斜めのうちどちらかにあることは想定できる
その状態で右側に動かしていき、すぐに音量差が50:50になれば右斜め前、右斜め前を通過した場合は右斜め後ろということになる
このあたりの判断は慣れの要素が大きい
一応これをトレーニングするCS:GOのワークショップもあるから、リンクを貼っておく
https://steamcommunity.com/sharedfiles/filedetails/?id=697998669
動かしていき、と記述しているが、実際はこれを0.5秒程度で行うわけだから、かなりの速度が要求される(もしかしたらそれだけの速度感を持ってできる人は限られているのかもしれないと思い始めてはいる)
左右の音量差の観点から見ると、バーチャルサラウンドやHRTFは・・・?
バーチャルサラウンドやHRTFをオンにすると、本来100:0で聞こえていた音が、65:35のような聞こえ方になってしまう
もちろん5方向7方向の音があるから、単純な左右の波形だけで判断することはできないし、より自然なサウンドを求める場合、HRTFやバーチャルサラウンドのほうが良いかもしれない
しかしゲームで敵の位置を判断する際どちらがよいかは、、、皆さんの判断におまかせする
(以前5方向の波形を見るソフトを見たことがあるから、ご存じの方は教えてほしい)
トロッコの種明かし
ここで最初のマインクラフトのトロッコ位置の特定の種明かしをすれば、
トロッコは必ず一定速度で半時計周りに回転するという性質を持っている為、自分が一定以上の速度をもって右に回転すれば、トロッコが自分の前を通過するときは左<右 → 左=右の音量変化となり、トロッコが自分の後ろを通過する時は左>右→左=右 の音量変化となる
だから、自分が右に回転する中で、左<右 → 左=右になる瞬間に耳を傾ければ、そこが正面であると特定できるわけだ
後は、常に左=右の音量差になるように調整すれば常に正面にトロッコを捉え続けることができる
マインクラフトは100:0タイプのゲームだから、位置特定は簡単だ
とはいえ実際にこんなことを考えているわけではなく、音を聞けば普通にトロッコの位置が頭の中で見えてしまう
これくらいなら当然他の人もできると思っていたから、これを机上の空論と言われたときは心底驚いた(複数人からふざけるな机上の空論野郎と言われたので、なかなかまいったものだ)
別に二つ目のトロッコ動画ほどのスピード感はなくていいから、マイクラを持っている人はできるかどうか確かめてほしい(私と同条件でやってほしいので、ステレオでお願いしたい)
やってくださった方は私にリプを飛ばしていただければ、ちん○ん、など何か一言添えようと思う
CS:GOの動画はもっと簡単だ。常に50:50の地点に視点を向け続ければいいだけだ(CS:GOは足音を立てず移動できるので、当然常には無理だが)
一旦まとめ
音の方向は、左右の音量差によって特定できる
初期状態と、視点移動後、最低二つのパラメータが必要になる
では次に、音量差について解説しよう
音源との距離は、音量によって特定している
これは非常にシンプルな話だが、単純に近い敵ほど音が大きいし、遠い敵ほど音が小さく聞こえる
これをさきほどの音量の左右差と組み合わせることで、敵の位置を特定できるわけだ
図解するまでもないが、一応また雑な図を書いておく
ポイント:必ずゲーム音量を固定しよう
ここで重要になってくるのが、PCとゲームの音量設定だ
毎回PC側の音をばらばらにしてゲームをしている人はいないだろうか?
それでは、聞こえたサウンドは同じ音量でも、毎回敵の位置がバラバラになってしまうため、いつまでたっても正確な音聞きは不可能になる
このゲームをするときはこの音量!という風に必ず固定することが重要だ(どのFPSでも同じ距離感の音量設定をできればなおよし)
さてここまでが、FPSプレーヤーが敵の位置を特定する為の基本的な考え方だ
次に、これらをより強固なものにする概念について確認していこう
マップ把握・音の種類の把握・ゲーム固有の音の性質への慣れ
マップ把握について
以下は、プレーヤーを上から見た図だ
プレーヤーに対する射線はAとBとCの三か所があり、プレーヤーはA地点をケアしている
ここでのポイントは、射線が右側から1か所、左側から1か所しかない、という点だ
となれば左側から銃声が聞こえた場合は必ずBからの発砲だし、右から聞こえた場合必ずCからの発砲だと判断できる(相当ガバガバな斜線管理ではあるが……)
マップ構造(特に射線)を把握していれば、相乗効果で音聞きの精度を格段に高めることができるわけだ
他の例を出そう
例えば、二階建ての建物で自分が1階にいるとする
その時、明らかに一階に敵がいないのに足音が聞こえるのであれば、敵は二階にいることが消去法的に判断できる(当然1階と2階では音量差もあるし、後述するが音の質感も異なるから、それで聞き分けることも可能だ)
1階と2階が存在するというマップ構造を理解していれば、このような特定が可能になる
次は、音の種類の把握についてだ
音の種類の把握
基本的にどのゲームでも、踏んでいる場所の素材によって異なる音が鳴る
土、草むら、木の室内、金属の室内などそれぞれ音が異なる
当然1階と2階の把握などでも、壁を隔てると若干にぶい音がしたり、上階は乾いた音がするなどの特徴がある場合がある
先ほどの二大要素に加えて、この情報があればより位置特定は容易になるわけだ
最初に音の上下はわからないといったが、実際にはこのような情報を複合的に脳みそが判断している為、『本当に音が上から聞こえる』という現象は当然のように起こる
ゲーム固有の音の性質への慣れ
当然だが、ゲームによって音の鳴り方は異なる
銃声がやたら大きいくせに足音が小さいゲームや、音作りが下手で足音が真横から聞こえるゲームもある
こういったゲームごとの特性になれていくことも、音聞きを上達させる上で非常に重要なことだ
特にR6Sのような非常に複雑な音システムのゲームでは、より慣れの要素が重要になってくるのだろう
さて、これで、FPSにおける音の聞き方に関しては、あらかた説明を終えた
最後にまとめをして、今回の記事を締めくくろう
まとめ
・前後の違い、上下の違いはわからないという前提で考えよう
・音の方向は、左右の音量差の比較によって把握しよう
・敵との距離は、音量の大小で把握しよう
・音量を固定してゲームをしよう
・マップ把握、音の種類の把握、ゲーム固有の音の性質への慣れにより、音聞きの精度を上げよう
次回サウンド編最終章では、具体的にどういったデバイスが音聞きに適しているのか、という点について考察する
お楽しみに