今回はUnityのサウンドに関する話題で、「オーディオクリップ(AudioClip)の設定を正しく行おう」という内容のお話です。
皆さん既にご存じかと思いますが、UnityにBGMや効果音といったサウンドファイルをインポートするとそれらは「オーディオクリップ」として扱われますよね。ただこのオーディオクリップ、設定項目がいくつかあるのに多くの方は「デフォルトのままでもOKでしょ」と思ってインポートしてそのまま使っているものと思われます。…実はこれ、ちょっともったいないんですよね。
そこでこの記事では、
- オーディオクリップのオプションを正しく設定するメリット
- オーディオクリップの各設定項目について
といったことについて書いていきますね。
オーディオクリップを正しく設定するメリット
では、はじめに
- デフォルト設定のままだと何が悪いのか?
- 正しく設定するとどんなメリットがあるのか?
といった点について説明します。
デフォルト設定だと何が悪いの?
まず「デフォルト設定だと何が悪いのか?」という点についてですが、これは一言でいうと
ということに尽きるでしょう。
一口にゲームのサウンドといっても
- BGM
- 効果音
- 環境音
- ジングル
- ボイス
など色々な種類があり、長さ・再生頻度・求められる品質などが異なります。それで実はUnityにおいてはこのような違いに対応するためにオーディオクリップにいくつか設定項目が設けられているのですが、デフォルト設定では特定のサウンドでしか最適になりません。したがってデフォルトのままだとCPUへの負荷が余計にかかったり、メモリが余分に消費されてしまったりするわけです。
オプションを正しく設定することで得られるメリット
そのような次第で、Unityでオーディオクリップを扱う際には
ことが重要になります。サウンドごとに最適な設定を行えば
- CPUへの負荷を減らすことができる
- メモリの消費量を抑えることができる
- 必要なサウンド品質を確保することができる
といったメリットを得ることができるのです。
オーディオクリップの各設定項目について
では次にオーディオクリップのそれぞれの設定項目について解説していこうと思います。
Monoに強制
ステレオのサウンド素材の場合、チェックを入れることでサウンドをモノラル化することができます。モノラル化するとファイルサイズが半分になるため、品質がそれほど重要ではない効果音などの場合はチェックを入れるようにしましょう。
バックグラウンドで実行
サウンドを非同期で読み込みます。メインスレッドの処理を妨げたくない場合にチェックを入れると良いでしょう。
ロードタイプ
サウンドデータを読み込むときの読み込み方式です。次の3種類から選ぶことができます。
- ロード中に解凍
- 圧縮状態でメモリに格納
- ストリーミング
ロード中に解凍
これがデフォルト設定で、圧縮データをメモリに読み込んだ時に展開します。負荷が軽くて済みますがメモリをたくさん消費するので注意が必要です。
圧縮状態でメモリに格納
圧縮データをそのままメモリに読み込み、再生時に展開します。メモリの消費が少なくて済みますが、再生時にCPU負荷がかかります。ほとんどのサウンドにオススメの設定です。
ストリーミング
あらかじめ圧縮データをメモリに置いておくのではなく、再生時にストレージから適宜読み込みます。BGMなど長さのあるサウンドファイルに適しています。
オーディオデータをプリロード
チェックがONの場合はシーンロード時にオーディオクリップが読み込まれます。
圧縮形式
圧縮形式は基本的に次の3種類から選ぶことができます。
- Vorbis
- ADPCM
- PCM
Vorbis
任意の圧縮率を指定できる形式。一般的にはこれを選んでおくのが一番無難です。
ADPCM
圧縮率が低く、音質も低いですが再生負荷が軽いのが特徴です。頻繁に再生する効果音の場合にオススメ。
PCM
無圧縮の形式。圧縮しないので当然ながらファイルサイズは大きくなりがちですが、負荷は非常に軽いのでどうしても負荷をかけたくないときにのみ選択すると良いでしょう。
サンプルレート設定
アナログ信号をデジタル信号に変換するときのサンプル数です。一般的にサンプルレートが高いほうが音質が良いです。
- サンプルレートを保存
- サンプルレートの最適化
- サンプルレートのオーバーライド
サンプルレートを保存
サウンド素材のサンプルレートをそのまま使用します。
サンプルレートの最適化
自動的に最適なサンプルレートに変更します。
サンプルレートのオーバーライド
サンプルレートを指定した値に変更します。小さい値にすると音質が悪化します。
おわりに
以上、意外と知られていなさそうなオーディオクリップの設定について説明しました。これまではデフォルト設定のままだった方も、今回の内容を参考にしてサウンドごとに最適な設定を行っていただけたらと思います。
この記事がゲーム開発のお役に立てば幸いです。