🐈

CRIWareを使ってUntiyで音を鳴らそう

に公開

備忘録です。

参考記事
https://orotiyamatano.hatenablog.com/entry/Criware#ツール郡について

使用環境
Unity 6000.2.7f2
CRI_ADXLE ver 3_55_09
CRI_ADX2LE_SDK_Unity_V3_12_01

今回やること
CRIWareで音を鳴らす最低限の機能を作っていきます。
Unityを少しは触ったことある想定でやっていきます。

準備編
まずは以下のサイトからUntiyとCRIWareのSDKとツールをダウンロードしてください
https://unity.com/ja/releases/editor/whats-new/6000.2.7f2
https://game.criware.jp/products/adx-le/

音を作ろう編
cri_adxle_tools_ver_3_55_09\cri\tools\ADX2LE\ver.3にあるCriAtomCrasftを開いてユーザー登録をしてください。

この画面が出たらOKです。
次に左上にあるファイルから適当にプロジェクトし、プロジェクトツリー、ワークユニットツリー、マテリアルツリーに追加してください(適当にok押しとけばok)
そして、音声データ(wav)をマテリアルツリーに入れてください。

入れれたら次は、ワークユニットツリー\キューシートフォルダー\WorkUnit_0フォルダの中に音声ファイルを入れてください。

最後にインスペクター\プライオリティの中にあるキューリミットフラグを有効にしてください。これがないと音を鳴らす動作をした際に、無限に音が重なって鼓膜やぶれます。(キューリミット数=音の重ねられる数)

それではビルドをしていきたいと思います。
上のタスクバーにあるビルド=>Atomキューシートバイナリのビルドをクリックかctrl+bでビルドを開いて↓の画像の通りに設定してビルドしてください。


ビルドができたら出力パスを開いて次の作業をしやすくしましょう。

Unity編(準備編)
まずはUnityでテストマップを作製してください。私はとりあえず2Dで名前はCRITestとしました。
次にDLしたSDKのUnityパッケージ2種類をインポートします。
criadx2le_sdk_unity_v3_12_01_smartphone_j\cri\unity\plugin\criware_unity_plugin_v2_44_49_le_ja.unitypackage
criadx2le_sdk_unity_v3_12_01_smartphone_j\cri\addons\asset_support\plugin\cri_asset_support_addon_v1_3_04+0_10_02_ja.unitypackage
AssetsフォルダにCRIMWがあれば成功です。

そしたらHierarchyを右クリックして↓の2つを入れてください。

次はUnityに音源を入れていきます。
Documents\CRIWARE\CriAtomCraft\projects\prject名\Public\Assets\StreamingAssets
に作成した音源が入っているのでその中身をUnityに入れてください。↓の感じになったらok

次、空のオブジェクトを作成し、Add_ComponentからCriWareAssetsをアタッチしてください。

そして↓のように設定してください。

これで基本的な準備は完了です
次からはコードを書いていきます

Unity編(Script編)
まずはAssetsフォルダを右クリックしてCreate=>MonoBehaviourScriptを選択してC#Scriptファイルを作成してください。私はSound.csにしました。
それではScriptを書いていきます。説明はコメントを読んでください。

using UnityEngine;
using CriWare;

public class Sound : MonoBehaviour
{
    // 再生プレーヤー
    private CriAtomExPlayer exPlayer;

    // PlayBGM1を一回だけ呼ぶ
    private void Start()
    {
        PlayBGM1();
    }

    // 初期化
    private void Awake()
    {
        // 新しい再生プレーヤーを作る
        exPlayer = new CriAtomExPlayer();
        // ループ再生機能
        exPlayer.Loop(false);
    }

    // 音の設定
    public void PlayBGM1()
    {
        // 再生するデータをString型で設定
        exPlayer.SetCue(null, "森を歩いてるときに流れるBGM");
        // 音の再生
        exPlayer.Start();
    }
}

最後にUnityに戻ってきてHierarchyに空のオブジェクトを作成し、それにSound.csをアタッチしてください。

これで完成ですお疲れさまでした。

最後に
CRIWareは比較的簡単に高品質なものを実装できるので皆さんもいろいろ調べて頑張ってください!僕も頑張ります!
↓のやつはCRIWareのデモが載ってるのでよかったら見ていってください。
https://criware.info/demo/ADX2BasicFunctions/frame.html

Discussion