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

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

1. Audio Listener 設定

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

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

AudioListener無効

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

FPS camera選択

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

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

PlayerAudioListener有効

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

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

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

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

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

AudioSource1

3. Video Player の設定

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

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

VideoPlayer設定1

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

VideoPlayer設定2

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

SelectAudioSource

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

4. Audio Sourceの設定  

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

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

次に Spatial Blend3Dに切り換えてください。

AudioSource2

3D Sound Settings を展開し、Volume RolloffCustom 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の位置は、そのまま完成ゲームの初期位置になります。