VRカーショップのサウンドを作ろう!

2017年8月2日(水)
加藤 久之

はじめに

今回のテーマはサウンドです。VRコンテンツを作成する上でサウンドは非常に重要な要素です。これは私たちが普段、空間を認識する上で音を重要な手掛かりとしているためです。例を用いて説明しましょう。

道を歩いている時に、後ろから大音量で政治家の「PRアナウンス」を流す選挙カーがやってきて、あなたの横を通り過ぎるシーンをイメージしてみてください。この場合、選挙カーが近づいて来ることを知覚するには以下のような段階を踏むはずです。

  1. 背後から聞こえる「PRアナウンス」で後ろに選挙カーがいることに気づく
  2. 徐々に大きくなってくる「PRアナウンス」で選挙カーが近づいてきていることを認識する
  3. 「PRアナウンス」に加えて「車のエンジン音」が聞こえ始めたあたりで、自分のすぐ後ろに選挙カーが迫っていると感じる
  4. 自分の真横を通り過ぎる選挙カーを目視して認識する

このように、私たちが現実世界で何かを認識するには、殆どの場合いくつかの段階を踏んでいることが分かると思います。

もし音によって選挙カーの存在を認識する段階を無視して、いきなり自分の横を選挙カーが通り過ぎていくような表現をVRでしてしまうと、体験者は現実とのズレから酔いを感じてしまったり、酔わないにしてもかなりの違和感を覚えたりすることになります。

VRというと、ヘッドマウントディスプレイによる現実的な映像というイメージがあるかと思いますが、実は音や触覚も含めた総合的な仮想体験のことを指しています。そのため、聴覚や触覚にも視覚的な情報と同程度に気を配ってコンテンツを作成する必要があるのです。

音の発生源を作る

VR空間で音を出す場合には、まずその発生源(音源)を体験者がしっかりと認識できるようにすることが大切です。私たちは元々、音はスピーカーなどの音源から聞こえてくるという認識を持っているので、音源もないのに音が聞こえてくると違和感を覚えてしまうからです(自分のすぐ後ろから音が聞こえるにもかかわらず、音の発生源が見つからないという状況を想像してみてください、気味が悪いですよね)。

ということで、まず音の発生源を作りましょう。見た目は、体験者が「ここから音が鳴っている」と直感的に分かるものであればどんなものでも構いません(逆に言うと、直感的に分かるものでなければなりません)。

それでは早速音源を配置と行きたいところですが……、今回インポートしたアセットには”これ”というものがないので、自分で作ってしまいましょう。

完成イメージは図1のとおりです。一見すると「え、なにこれ?」と思われるかもしれませんが、実際にレベルに配置してVR音源として使ってみると自然に感じられるものになっています。詳細は後ほど説明します。

図1:音源完成イメージ

ちなみに、今回はBGMの音源を追加する予定なので、それに即した見た目となっています。

それでは、音源を作っていきましょう。まずは、workの下にSoundフォルダを作成してください(図2)。毎度のことですが、フォルダ分けは大切なのでしっかりやりましょう!

図2:Soundフォルダの作成

次に「SuperGrid_Cone」をレベルに配置し、図3の通りにトランスフォームを設定します。

図3:SuperGrid_Coneを配置

「SuperGrid_RingFull」をレベルに配置し、図4の通りにトランスフォームを設定してください。

図4:SuperGrid_RingFullを配置

SuperGrid_ConeとSuperGrid_RingFullが配置できたら、Materialsに「M_Tutorial」を設定しましょう(図5)。

図5 :マテリアルにM_Tutorialを設定

SuperGrid_RingFullを選択し、ブループリント/スクリプトを追加からブループリントを作成し、”CompactDisc_Dummy_BP”という名前でSoundフォルダに保存します(図6)。

図6:SuperGrid_RingFullのブループリントを作る

CompactDisc_Dummy_BPにFloat型の変数「roll」を定義してください(図7)。

図7:変数「roll」を定義

rollのデフォルト値を”100”に設定し、イベントグラフを図8の通り編集してください。この処理でSuperGrid_RingFullをCDのようにくるくると回転させます。

図8:SuperGrid_RingFullをその場で回転させるようにする

VRコンテンツを作成するにあたっては、「体験者が今までどのような体験をしたのか」をよく考慮する必要があります。

今回作成している音源の形状は、体験者がCDやレコードのようなディスクメディアからサウンドが再生されるのを何度も見てきた経験があるという前提のもと、くるくると回転しているディスク状のものから音が出ていれば直感的に「これが音源だ」と理解してもらえるだろうと考えてのものです。

現代ではCDやレコードで音楽を楽しむという文化は薄れてきており、ネット上でのダウンロード販売やYouTubeなどの配信サイトで楽しむのが一般的になってきています。今は多くの人がこの音源を自然に感じたとしても、数年後には変わっているかもしれません。

作業に戻りましょう。SuperGrid_RingFullを動くようにしたので、トランスフォームの可動性を「ムーバブル」に設定してください(図9)。

これで、音源の作成は完了です。

図9:可動性を「ムーバブル」に設定

サウンドをインポートする

サウンドのインポートは、wavファイルをUE4のエディタ上にドラッグ&ドロップするだけで簡単に行うことができます(図10)。適当なwavファイルを用意して、Soundフォルダにドラッグ&ドロップしてください。

図10:wavファイルのインポート

ちなみに、現状でインポートできるのはwav形式のファイルのみです。mp3やflac形式のファイルをインポートしたい場合は、別のソフトでwav形式のファイルに変換してからインポートしましょう。

wavファイルは最も一般的な形式の音楽ファイルなので、インターネット上でフリーの音源を簡単に入手できます。もし手元に適当なものがない場合は、「BGM wav フリー」などのキーワードで検索してみてください。

さて、サウンドファイルはインポートできましたが、これをレベル上でそのまま再生しても、ただ音が聞こえるだけで音源との距離による聞こえ方の違いはありません。音源との距離によってサウンドの聞こえ方がどのように変わるのかを設定する必要があります。

右クリックで表示されるメニューから「サウンド」→「サウンド減衰」を選択し、SoundAttenuation(サウンド減衰)ファイルを作成します。名前は「industrialVR_SoundAttenuation」としてください。

図11:SoundAttenuation(サウンド減衰)ファイルを作成

「industrialVR_SoundAttenuation」を開いて、図12を参考にAttenuationの設定項目の半径とFalloff Distanceを設定します。

図12:「industrialVR_SoundAttenuation」を設定

半径は音の減衰が始まる距離、Falloff Distanceは音が完全に聞こえなくなる距離を表します。図12のとおり設定した場合は、距離50で音の減衰が始まり、距離3000で完全に音が聞こえなくなります。

続けて、先ほどインポートしたサウンドファイルを右クリックし、表示されるメニューから「キューを作成」を選択して「サウンドキュー」を作成します(図13)。

図13:サウンドキューを作成

サウンドキューを使用すると、サウンドに距離による減衰やドップラー効果などを付加できます。

作成したサウンドキューを開き、Attenuation Settingsに「industrialVR_SoundAttenuation」を設定してください(図14)。

図14:サウンドキューに「industrialVR_SoundAttenuation」を設定

これでサウンド減衰は設定できましたが、このままではサウンドが1回再生された時点で終了してしまいます。「WavePalyer」ノードを選択して、設定項目「looping」をチェックしておきましょう(図15)。

図15:サウンドのループ設定

最後に、先ほどレベル上の音源を配置した場所にサウンドキューを配置してください(図16)。

図16:サウンドキューをレベルに配置

お疲れ様でした!これで作業終了です。VRプレビューで起動し、VR空間の中を移動してみてください。

自分から見た音源との距離や位置によって、サウンドの聞こえ方が変わるはずです。サウンドキューのAttenuation Settingsを「なし」にするとサウンドの減衰がなくなるので、比べてみてください(図17)。サウンド減衰の恩恵がよく分かると思います。

図17:サウンドにドップラー効果を付加

今回は音の減衰しか設定しませんでしたが、サウンドキューではドップラー効果を付けたり、サウンドのピッチを変えたりなどもできるので、公式リファレンスを見ながら皆さん自身で色々と試してみてください。

また、UE4はNVIDIAが提供するVR向けのハイエンドな音響シミュレートプラグイン「NVIDIA VRWorks Audio」に対応しているので、空間内での音の反響まで正確に再現する必要があるような場合はこちらを試してみるのも良いかもしれません(正確なシミュレーションを行う場合はそれだけでハイエンドGPUが1つ必要になるほどの処理コストがかかります)。

~コラム:VR収益化とVR開発の今~

6月25日、リクルート本社にてVR/AR開発者向けの講演イベント「VR Tech Tokyo #7」が開催されました。前回のコラムで紹介したVR販売プラットフォーム「STYLY Suite」や建築分野災害シミュレータ研究開発事例(図18)など、産業分野向けの講演もありました。

図18:VR Tech Tokyo 建築分野災害シミュレータスライド

VR Tech Tokyoは2~3ヶ月に1回のペースで開催されており、今回は7回目の開催になります。筆者は本イベントに第2回以降毎回参加しているのですが、今年3月に行われた第6回から産業分野での事例やデモ展示が一気に増えたように感じます。

VRは「Oculus Rift」の一般向けバージョン「Oculus CV1」が発売された2016年(VR元年)から一般にも広く知られるようになりましたが、それ以前の2012年にOculus Rift最初の開発キット「Oculus DK1」、2014年に開発キット第2弾「Oculus DK2」が開発者向けに提供されていました。昨今、産業VRの開発などで実績を上げているのはDK1、DK2時代からVRに取り組んできた方が多いような印象を受けます。VRが有名になる前から開発に取り組んできた個人や法人が、ここ1年のVRブームに乗って資金の調達に成功し目に見える成果を出せるようになってきたということでしょう。

また、7月14日には新宿にバンダイナムコによる大型VRアミューズメント施設「VR ZONE SHINJUKU」がオープンしました。徐々にではありますが産業分野、アミューズメント分野共に収益化に成功したというような話も聞くようになってきています。

これまで将来的な可能性はあるものの、すぐに収益化できない分野であったVRですが、徐々に収益が見込めるものになってきたように感じます。Oculus Rift CV1の発売から1年半、Oculus DK1の発売から5年が経過し、今ようやくVRの市場ができつつあるのではないでしょうか。

Tech系のニュースメディアでは、連日VR/AR関連のニュースが流れるようになり、多くの企業がVR/ARに取り組んでいるように感じている方もいるかもしれませんが、実のところ日本でVR開発を行っている法人、個人はまだまだ少なく、特に個人の開発者で熱心に取り組んでいる人はほとんど顔見知りという状況です。

もし今この記事を読んでいる方で「今から開発を始めたのではもう遅い」と考えて開発機材を購入したり開発を始めたりすることをためらっているのなら、ぜひ勇気を出してVR開発にチャレンジしてみてください。今から始めれば十分に先駆者になれますし、何より自分で自由に空間をデザインするというのはとても楽しいですよ!

富士ソフト株式会社
富士ソフト株式会社で業務系のSEをしています。2015年から業務外でVRに取り組み始め、Oculus RiftやHTC Vive、スマートフォン等でVRコンテンツを開発し、イベントでデモを行ったり、Oculus StoreやGooglePlayでVR作品のリリースをしたりしています。そんな活動について社内のSNSで発言していたところ、「メディアでコラムを書いてみないか」という話になり、今回の連載を書かせていただくことになりました。日本VR学会認定 VR技術者。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています