UnityサウンドからADX2LEへ

目次


UnityサウンドからADX2LEへ

ADX2LEへサウンドシステムを乗り換える時の手順を紹介します。

必要なもの

  • Unity Pro版 (Unity Editorでプレビューするために必要。)
  • Windows 7とか8とか(CRI Atom Craft(acb,acf作成ツール)を動かすために必要。)
  • ADX2LE Unityプラグイン

作業行程

【データの準備】

ADX2LEではUnity上で波形管理するのではなく、CRI Atom Craft上で管理します。
管理したデータをパックして出力するためキューシートという単位にまとめます。
キューシートはサウンドの集まりのようなもので、この単位でメモリロードされます。(パックとかバンクとか思ってもらえばOK)
もし、Unity上で波形ファイルがバラバラのフォルダに管理されている場合は、
一カ所に集めると後々作業が楽になります。
例:
Sound
└SE
└BGM
└VOICE

波形素材AudioClipをCRI Atom Craftへ登録する。

CRI Atom Craftを起動する。

新規プロジェクト作成

プロジェクト名は、何でも良い。Unityのプロジェクト名と同じにしておくと管理が良いかも。

あと、プロジェクトのフォルダも作っておくと良い。

Unity Editorに登録されている波形をCRI Atom Craftのマテリアルルートフォルダへドロップして追加する。

この行程を飛ばして、直接キューシートへドロップしても構いませんが、フォルダをドロップした場合、キューフォルダができてしまいます。構わない場合はOK。

マテリアルに登録された波形をキューにする

マテリアルをキューシートのアイコンへドロップする。

CRI Atom Craftでacb,acfをビルドする。

キューシートを選択し、ビルドボタンを押す。
キューシート単位でビルドができます。

Unity情報を出力のチェックをする
できたファイルを確認するにはキューシート右クリックし「Atomキューシートバイナリをエクスプローラで開く...」を選ぶ



【プラグインをインストール】

プラグインをインストール

http://www.adx2le.com/からUnity用のADX2LEをダウンロードして
criware_unity_plugin.unitypackageをProjectへドロップすべてImportします。

【基本のコンポーネントの追加】

シーンがいくつもある場合は、とりあえずゲームのシーンを開いて以下のようにする。

CriWareLibraryInitializerコンポーネント追加


CRIメニューからCreate CRI Ware Library Initializerを選択する。
HierarchyにCriWareLibraryInitializerが追加される。

CriWareErrorHandlerコンポーネント追加

CRIメニューからCreate CRI Ware Error Handlerを選択する。
HierarchyにCriWareErrorHandlerが追加される。

【データをインポートする】

Open CRI Atom Windowを開く

Select Assets Rootボタンを押す

このボタンで先ほどCRI Atom Craftで作成されたAssetsフォルダを選択します。

この操作によってStreamingAssetsの下に2つのファイルがコピーされています。

【UnityサウンドをCRIサウンドに置き換える】

AudioSourceを無効化

今まで音を鳴らしていたAudioSourceのチェックボックスのチェックを外して無効化します。

CRI Atom SourceをAdd Component

CRI Atom Windowからキューを選択し「Add Component」ボタンを押して追加します。


これで、音が鳴ればOKです。

【チューニング】

[CRI Atom Craft]
  • ターゲットコンフィグのPublicで「エンコーディングタイプ(メモリ)」をADXからHCAに変更する。
音が良くなる。
  • キューシートを選択して、キューリストで、バスセンド1の値を0.2くらいにする。
音に残響がつく。
  • DSPバス設定のDspBusSetting_0にある「リバーブ」を「I3DL2リバーブ」に変更する。
残響が良くなる。
  • キューシートを選択して、キューリストで、フィルタを有効にし、音符アイコンをチェックし、EGのリリースを40msecくらいにセット。
音の消え方が変わる。
[Editor]
CriWareLibraryInitializerで設定を変更することでチューニングができます。
  • iOS ConfigでBuffering Timeを100msecから50msecに変更する。
反応が良くなる。発音までのレイテンシーが軽減する。


【トラブルシューティング】

エフェクトかからない

CRIWAREオブジェクトのDSP Bus Settingを設定する。
例)DspBusSetting_0

スクリプト上で変更したい

https://github.com/tatmos/MyAudioSource
をAudioSource、CriSoundSource代わりに使う方法。このラッパーを使う事で、Unityとのソース共有など互換性を上げる事ができます。
  • 代わりに無駄な処理も多かったり、必要な機能が無い場合はコード修正の手間が増えます。
  • 単純に再生、停止などの場合はこれでも十分かもしれません。