UnityでCRIADXを使って音を鳴らす
この記事は、神戸電子専門学校 ゲーム技研部 Advent Calendar 2024の12日目の記事です。
はじめに
この記事ではCRIADXのインストールからUnityで音を鳴らすまで書いてます。
CRIWAREとは。音源の管理・作成ツール、作った音源を各ツール(Unity,UEなど)で使うための、
プラグイン(Library)が用意されている、ミドルウェアです。
なんでCRIWAREを使うのか
・無料で使える(売上1000万円以内の場合のみ)
・音声データを効率的に管理、調整できる
・高圧縮率だから軽い。だけど高音質
・フェード処理とか再生制御などの必要な処理がツールに含まれている
・とにかく色々できる!!
CriAtomCraft
ダウンロード
Unity用のSDKとCraftツールをダウンロードします。
ダウンロードが終わったら解凍して、任意の場所に cri/ 以下を移動してください。
例: c:\cri\ (Unityと連動しているわけではないのでAssets以下に移動する必要はありません。)
ツールのライセンス認証
ツールの利用にライセンス認証が必要です。(無料)
ライセンス認証の手順
- cri/tools/Authorization/CriAuthorizationTool.exeを起動
- 「ツールユーザーライセンス発行」からメールアドレスを送信
- メールに届いた認証コードを入力し、PCを登録
- 登録完了。AuthorizationTool閉じる
ツールの使い方
スタートページ
CriAtomCraft.exeを起動します。(cri/tools/ADX2LE/ver.3/CriatomCraft.exe)
「スタートページ」が立ち上がるので【新規作成】からプロジェクトの新規作成画面を立ち上げます。
プロジェクト作成
プロジェクト名・プロジェクトルートパス(プロジェクトの保存場所)を決めて
【プロジェクトの新規作成】をクリックして作成します。
ワークユニットの追加
ワークユニットの追加という画面に移行します。
ワークユニット名を設定し、【追加】を押します。
ワークユニットとは、ツール内のディレクトリのようなもので、複数人で作業するときに
この単位でファイルを分割できます。
これで新規プロジェクトが作成できました。
音データの作成
音素材の登録
サウンドデータ(mp3,wavなど)をプロジェクトの音素材フォルダに登録します。
CriAtomCraftToolでは音素材フォルダを「マテリアルフォルダ」と呼びます。
今回はwavファイルでやっていきます。
用意したwavファイルをマテリアルルートフォルダにドラッグ&ドロップします。
プロジェクトファイルの下にwavファイルがコピーされ、ツール側にも「マテリアル」として登録されます。
このままではまだ再生できないので、マテリアルファイルを、プロジェクト内の「キュー」として登録する必要があります。
マテリアルルートフォルダにあるwavファイルをワークユニットツリーの「CueSheet_0」上にドラッグアンドドロップすると、登録ができます。
同名のファイルがキューに追加されました。
キューとはUnity側で呼び出す音の単位のようなものです。
配列で「キューシート[キュー]」のようなイメージです。
出力データ
ツール上でサウンドに対しての効果を付けられるパラメータがありますが、今回はそのままUnityで読み込める形式で出力します。
ADXでは複数のサウンドデータをまとめて1つのファイルとして出力します。
ツール上のCueSheetが1つのまとまりになります。
ビルド出力
ワークユニットツリー内の「CueSheet_0」を右クリックし、「Atomキューシートバイナリのビルド」を選択します。
「Atomキューシートバイナリのビルド」が立ち上がるので、「Unity向けAssetsフォルダを出力」にチェックを入れて【ビルド】をクリックします。
出力が完了するとログが表示されるので、出力先を覚えておきましょう。
無事出力されていますね。
プロジェクト設定の.acfファイルとキューシートの.acbファイルが出力されました。
Unityで音を鳴らす
UnityPackageのインポート
Unityで自身のプロジェクト、もしくは新規プロジェクトを開いてください。
cri/unity/plugin/criware_unity_plugin.unitypackageをダブルクリックし、Unityにインポートします。
インポートが完了したら、Windowメニューに【CRIWARE】の項目が追加されているか確認してください。
追加されていない場合インポートに失敗しているので再度インポートを行ってください。
ファイルの読み込み
先ほどツールから出力したファイルの読み込みを行う必要があります。
CRIWAER/AtomBrowserを開きます。
先ほどツールから出力したデータをStreamingAssetsに配置する必要があるのですが、出力したデータのディレクトリからコピーしてくる機能があります。
AtomBrowserの下部にある[▶Import Assets from Atom Craft Project]をクリックして設定画面を開いてください。
ビルド出力で出力した[Assets]フォルダを指定し、【Import Assets】をクリックすることでコピーされます。
先ほど出力したサウンドが読み込まれていますね。
音の再生
UnityEditorに戻り、GameObjectメニューからCRIWAREの項目にあるCreate CRIWARE Library Initializer と Create CRIWARE Error Handler をそれぞれクリックしてGameObjectを生成してください。
AtomBrowserに戻り先ほど読み込んだサウンドデータを選択し、【Create Game Object】をクリックするとシーン上にキューと同じ名前のGameObjectが生成されます。
(自動でCRIWAREも追加されます。)
このGameObjectは再生に必要なスクリプト[CRI Atom Source]がアタッチされています。
キューシート名、キュー名が自動で入力されているので、サウンドテストのために【Play】をクリックします。
Play On Startにチェックを入れた場合、実行時に再生されるようになります。
正常に再生されたでしょうか?
再生されなかった場合はパスの確認やツールでもう一度ビルドを試してみてください。
番外編
Asset Support Add-on
CRIWARE関連データをUnityアセット形式で取り扱えるようにするアドオンプラグインです。
cri\addons\asset_support\pluginにある、cri_asset_support_addon_vX.X.XX+X.X.XX_ja.unitypackageをインポートすることで利用できます。
-
CRI Atom Source For Asset
再生用のコンポーネントです。
先ほど実際に鳴らしたときに使った CRI Atom Source はキューシート名やキュー名を文字列で指定していましたが、こちらは直接ファイルを選択することが出来ます。
-
Cri Atom Assets
CRIWAREというオブジェクトが生成されていると思います。
自動でついているCRI Atomコンポーネントでは、全体設定や、キューシートなどのデータロードを行っています。
こちらをCri Atom Assetsに置き換えることで、文字列ではなく直接Assetを選択できるようになります。
おわり
今回は最短で音を鳴らす方法として紹介しました。無事再生されたでしょうか?
もっと詳しい実装やスクリプトから音を鳴らす方法として公式のチュートリアルがありますので御覧ください。
参考にさせていただいたサイト
Discussion