WisdomSoft - for your serial experiences.

7.1 XACT

Windows と Xbox 360 の両方に対応したクロスプラットフォームのサウンド作成ツール XACT (Cross-Platform Audio Creation Tool)の概要です。

7.1.1 サウンドデザイン

音楽は、ゲームにとって欠かすことのできない重要な要素です。戦闘場面では、激しく緊張感のある音楽を流しながら、銃声や爆音、怒号や叫び声なども同時に再生することでリアリティのある空間を演出できます。アイドルが歌って踊るゲームであれば、インストゥルメンタルに歌を重ねて再生することになるでしょう。レースゲームであればエンジン音やクラッシュ音などが重要になります。どのようなゲームも、必ず音による演出によってユーザー体験を高められます。

プロフェッショナルが作るゲームのサウンドは、さらに細部にまで注意が払われています。入力に対する聴覚へのフィードバック、ロード時間でのサウンドの活用や、何も動きのない静かな場面であっても空調や時計の秒針など音で空間の存在感を高める演出を実現しています。意識すれば、まったく無音の状態は滅多にないことに気が付きます。

XNA Framework を用いてサウンドを再生するには、Xbox 360 や DirectX などでも使われている Microsoft XACT (Cross-Platform Audio Creation Tool) を使います。XACT を用いることで、ゲームの実行環境に依存することなくサウンドをデザインし、結果をゲームに取り込むことができます。XACT を用いてサウンドデザイナがサウンドの管理や調整を行い、開発者は最終的な結果を受け取ってゲームに組み込みます。開発者は、サウンドを再生するトリガー(引き金)を引くだけで、いつどのようにサウンドを再生するは XACT でサウンドデザイナが設計します。これによって、開発者とサウンドデザイナが分業できます。

よって、ゲームでサウンドを再生するには、最初に XACT を使って必要なデータを作成する必要があります。XNA Game Studio の Tools フォルダ内にある「Microsoft Cross-Platform Audio Creation Tool (XACT)」を起動してください。

図1 XACT
図1 XACT

このツールの中で、ゲームで使用する音声データを登録し、ボリュームやピッチ、再生タイミングや手順などの調整を行えます。最初に「File」→「New Project」を選択して新しいプロジェクトを作成します。基本的に 1 ゲームに対して 1 プロジェクトで構いません。BGM、SE、キャラクターの声など、すべての音声データをカテゴリで分けて管理できます。プロジェクトの名前は任意ですが、この場では TestAudio という名前で作成します。

7.1.2 ウェーブバンク

プロジェクトを作成してから最初にやるべきことは、音源となる音声データを登録することです。XACT では、すべての音声情報をウェーブバンク (Wave Bank) に格納します。プロジェクト作成時点ではウェーブバンクが作られていないので画面左上にあるツリーの「Wave Banks」項目を右クリックするか、メニューの「Wave Banks」から「New Wave Bank」を選択してください。新しいウェーブバンクが生成されるので、任意の名前を付けてください。この場では TestWave という名前を入力します。

図2 新しいウェーブバンクの作成
図2 新しいウェーブバンクの作成

必要であれば任意の数のウェーブバンクを作成できます。論理的な単位で音声データを分けたい場合などに利用できるほか、再生形式や圧縮方法で分けるといった形が一般的でしょう。多くの場合、BGM、SE、声といった単位でウェーブバンクを作ることになります。

ツリー上の作成したウェーブバンクをダブルクリックすると、ウェーブバンクの子ウィンドウが表示されます。ここに、登録する音声データをドロップしてください。または「Wave Banks」メニューの「Insert Wave File(s)」項目からファイルを開いて登録することもできます。登録できるのは未圧縮の WAVE ファイルや AIFF ファイルです。

図3 ウェーブバンクに音声ファイルを追加
図3 ウェーブバンクに音声ファイルを追加

これで、ゲームで使用する音声データを登録することができました。追加したデータをテスト再生するには、再生したい項目を選択して「Audition」メニューの「Play」項目を選択します。ただし、そのままだと「Could not connect to a Windows auditioning server」というエラーダイアログが表示されてしまうでしょう。XNA Game Studio のツールの中にある「XACT Auditioning Tool」を起動した状態で再生してください。この再生ツールを使うことで、ゲームを起動することなく XACT 内で編集結果を確認できます。

7.1.3 サウンドバンク

ウェーブバンクにファイルを登録しただけでは、ゲームでサウンドを再生することはできません。ウェーブバンクの役割は、ゲーム内で使われる音声データを音源として提供することです。これをゲームで再生するには、どの音源を、いつ、どのようにして再生するかを設定しなければなりません。これを行うのがサウンドバンク (Sound Bank) です。

新しいサウンドバンクを作成するには「Sound Banks」メニューから「New Sound Bank」を選択してください。新しいサウンドバンクが作成されるので、適当な名前を入力します。この場では TestSound という名前を設定しましょう。サウンドバンクを選択してダブルクリックすると、サウンドバンクの子ウィンドウが表示されます。このウィンドウは、上下左右 4 つの枠に分かれています。

図4 新しいサウンドバンクの作成
図4 新しいサウンドバンクの作成

サウンドバンク内で編集する要素は、大きく分けてサウンド (Sound)、トラック (Track)、イベント (Event)、キュー (Cue) に分かれます。サウンドバンクのウィンドウのうち、上がサウンドに関連する情報の表示に用いられ、下がキューに関する情報の表示に使われています。

サウンドは 1 つ以上のトラックを含み、各トラックの中にはイベントが含まれています。イベントとは、音声の再生や停止のタイミングの他に、ピッチやボリュームの変更イベントなどを含めることができます。必要な数だけイベントを追加することができますが、トラックには少なくとも 1 つの再生イベントが含まれていなければなりません。

キューは最終的に開発者によって呼び出され、関連付けられているサウンドを再生します。XACT で設定するサウンドの詳細なデザインは、サウンドデザイナが意識するべき問題であり、開発者にとってサウンドがどのように設計されているか(サウンドバンクの詳細)は重要ではありません。プログラムコードからは、サウンドバンク内にあるキューを取得して再生するだけです。

図5 XACT 概念図
図5 XACT 概念図

サウンドとキューを作成するには、サウンドバンクの左上のサウンド枠にウェーブバンクの音声データをドロップしてください。次に、追加したサウンドを左下のキュー枠にドロップしてください。サウンドやキューにも任意の名前を付けることができますが、この場では Test という名前を入力します。

図6 新しいサウンドとキューの追加
図6 新しいサウンドとキューの追加

このような状態になっていれば作業は終了です。プロジェクトを保存して XNA Game Studio に xap ファイルを追加します。