オーディオ#

VCIは音声ファイルを組み込むことができ、VCIスクリプトから音声の再生を制御できます。

使用できる音声ファイル#

  • Unityが対応している音声ファイルであれば使用可能です。主要な形式としてはWAV、MP3、OGG、AIFFがあります。

  • WAV、MP3の場合は無変換でVCIに組み込まれますが、それ以外の形式の場合はVCI出力時にWAVに変換されます。

  • 使用できるWAVファイルにはいくつかの制限があります。制限は以下の通りです。

WAVファイルの制限
  • サンプリングレート: 44100Hz / 48000Hz

  • ビットレート: 8bit / 16bit / 24bit

  • チャンネル数: 1ch / 2ch

音声ファイルの組み込み#

音声ファイルをVCIに組み込むための、UnityEditor上の設定方法を説明します。

  1. 音声ファイルをProjectウィンドウにドラッグ&ドロップします。

  2. Heirarchyウィンドウで音源としたいオブジェクトをVCIのルートオブジェクトより下のオブジェクトから選択します。

  3. Inspectorウィンドウで選択したオブジェクトにAudio Sourceコンポーネントを追加します。

  4. Audio SourceコンポーネントのAudio Clipに、ドラッグ&ドロップした音声ファイルを設定します。

add_audio_source_component

Audio Sourceの設定#

Audio Sourceのプロパティを設定することで、音声再生時の効果を変更できます。
VCIで使用できるAudio Sourceのプロパティは以下の通りです。

プロパティ

説明

Pitch

再生速度

Spatial Blend

音声の3D空間での減衰の度合い

Min Distance

音声の減衰が始まる距離

Max Distance

音声の減衰が止まる距離

Tip

空間のいかなる位置でも音声が同じ大きさで聞こえるようにするには、Spatial Blendを0に設定します。反対に、音源の位置によって音声の大きさが変わるようにするには、Spatial Blendを1に設定します。

音声の再生#

VCIスクリプトでは音声の再生を制御するAPIとしてExportAudioSourceが提供されます。
以下はVCIスクリプトから音声を再生するサンプルコードです。

-- UnityEditorでAudioSourceを追加したオブジェクトの名前を指定して、ExportTransformを取得します。
local audioObject = vci.assets.GetTransform("AudioObject")

-- ExportTransformからExportAudioSourceの配列を取得します。
local audioSources = audioObject.GetAudioSources()

-- ExportAudioSourceの配列から1つ目のExportAudioSourceを取得します。
local audioSource = audioSources[1]

-- ExportAudioSource.Play関数を呼び出します。引数は、音量1でループ再生はしないという意味です。
audioSource.Play(1, false)