メッシュやテクスチャと同様に、__オーディオファイル__アセットのワークフローはスムーズでトラブルがないようにデザインされています。Unity は、一般的なファイル形式をほとんどインポートできますが、複数のオーディオファイルを扱う作業をする際に知っておくと役立つことがあります。
Unity 5.0 からは、オーディオデータは AudioClip から切り離されました。AudioClip は、単にオーディオデータを含むファイルを参照しているだけになり、AudioClip のインポーターに、ランタイムでどの様にクリップをロードするかを決める、さまざまなオプション設定がつきました。これは、どのオーディオアセットをプレイヤーの進行に合わせて即応的あるいは段階的にロードし (会話、BGM、環境音など)、どのオーディオアセットをメモリに常駐しておくのがよいか (なぜなら、例えば足音や武器の衝撃音などは、どの程度頻繁に、どんな速さで再生されるか、予測が困難だからです) を決めるのに、非常に高い柔軟性ができることを意味します。
Unity でオーディオをエンコードするとき、ディスク上に保存する方法の主要なオプションは、PCM、ADPCM、または Compressed です。さらに、プラットフォーム固有の形式がいくつかありますが、これらも似たような方法で動作します。Unity は、オーディオデータをインポートするためのもっとも一般的な形式をサポートしており (下記のリスト参照)、プロジェクトにオーディオデータを加えるときにオーディオファイルをインポートします。デフォルトのモードは、Compressed の圧縮モードで、スタンドアロンやモバイルプラットフォーム用の Vorbis/MP3 のいずれかで、オーディオデータを圧縮します。
圧縮形式およびエンコードされたオーディオデータに利用可能なその他オプションに関する詳しい説明は、AudioClip を参照してください。
Unity にインポートされたオーディオファイルは Audio Clip インスタンスとしてスクリプトから取得します。これは、エンコードされたオーディオデータにオーディオシステムのゲームランタイムがアクセスするための方法を提供します。ゲームは、実際のオーディオデータをロードする前に、オーディオクリップ (AudioClip) を経由してオーディオデータのメタ情報にアクセス可能です。これが可能な理由は、インポートプロセスでは、エンコードされたオーディオデータからサンプルレート、長さ、チャンネルカウント等各種情報が抽出され、AudioClip に情報が格納されるためです。これは、例えば自動ダイアログや音楽シーケンスシステムを作成するときに便利です。音楽エンジンは、データを実際にロードする前に、長さに関する情報を使用して音楽再生をスケジュールできるためです。また、一度に必要なオーディオクリップのみをメモリに保持することで、メモリ使用量の削減にも役立ちます。
| 形式 | 拡張子 |
|---|---|
| MPEG layer 3 | .mp3 |
| Ogg Vorbis | .ogg |
| WAV | .wav |
| Free Lossless Audio Codec (FLAC) | .flac |
| AIFF | .aiff / .aif |
| Ultimate Soundtracker モジュール | .mod |
| Impulse Tracker モジュール | .it |
| Scream Tracker モジュール | .s3m |
| FastTracker 2 モジュール | .xm |
Unity でサウンドを使用する方法の詳細については、オーディオの概要 を参照してください。