動画の音声設定

Unityシーン内でループ再生する動画音声が、プレイ中常に聞こえてしまうのはあまり良いことではありません。

ここではループ再生される動画の音声をプレーヤーが動画画面から遠いときは無音に、近づくにつれて大きく聞こえるように設定します。

Audio Listener 設定

ゲームシーンにはヘッドフォンに相当する音声入力Audio Listener がデフォルトでひとつ存在します。

ヒエラルキーでMain Camera を選択し、InspectorのAudio Listener のチェックを外して無効にします。

AudioListener無効

ヒエラルキーで、FirstPerson-AIOを展開すると Player Cameraがあるので選択します。

FPS camera選択

InspectorでAudio Listenerにチェックが入っていることを確認してください。

これでゲーム中の音声を聞くことになります。

PlayerAudioListener有効

動画画面オブジェクトにAudio Sourceを追加

Audio Listenerは音を聴く= 入力です。 次は音を出す= 出力を設定します。

音を出す= 出力設定は動画を設定した画面オブジェクト(この例ではScreen)に追加します。

画面オブジェクトを選択し、Inspector下のAdd Componetボタンをクリックし、Audio >> Audio Source を選択します。 (下記GIF動画を参照)

Audio Source コンポーネントを展開しておきます。 これからこれとすぐ上にあるVideo Playerを設定していきます。

AudioSource1

Video Player の設定

動画画面オブジェクトのInspector、Vido Playerコンポーネントを設定します。

図のようにAudio Output Mode を Audio Source に切り換えてください。

VideoPlayer設定1

そうすると、その下に Audio Source プロパティが表示されるので、右端のボタンをクリックします。

VideoPlayer設定2

Select AudioSource ウィンドウが表示されるので、動画を設定したオブジェクトを選択してください。

SelectAudioSource

これで動画の音声とAudio Sourceがつながりました。

Audio Sourceの設定  

同じく動画画面オブジェクトのInspector、Audio Sourceコンポーネントを設定していきます。

まず最初にAudioをループ設定します。

次に Spatial Blend を 3Dに切り換えてください。

AudioSource2

3D Sound Settings を展開し、Volume Rolloff をCustom Rolloffに切り換えます。

(FirstPerson-AIOのInspectorにも同じ物がありますが、間違えないでください。 設定するInspectorは動画画面オブジェクトです。)

3DSoundSetting

3D Sound Settingsのグラフは、縦軸が音量で 0 から1、横軸が音源からAudio Listenerまでの距離です。

最大距離、Max Distanceが 500メートルになっています。 これを例えば5メートルにすると、動画画面からプレーヤーが5メートル以上離れると全く音が聞こえなくなります。

3DSoundグラフ1

下の図は、Max Distance を5メートルに設定したところです。

タテの赤いラインはプレーヤーオブジェクト(FirstPerson-AIO)の現在位置を示しています。 画面(音源)から2メートルほどの距離にいます。)

3DSoundグラフ2

具体的なグラフの設定はゲームシーンによって異なるので、Max Distance を適宜設定し、実際にゲームを再生しながら確認してください。

その場合、プレーヤーの初期位置を動画画面(音源)のすぐ前にしておくと作業がしやすいでしょう。

尚、設定が終わったらゲーム開始位置に戻すのを忘れないようにしてください。

FirstPerson-AIOの位置は、そのまま完成ゲームの初期位置になります。