CRIとは?
CRIとは、CRI・ミドルウェア株式会社が提供している、
ゲームやマルチメディアコンテンツの開発を支援するための技術とツールの総称です。
本稿では、CRIWAREというツールを使用していきます。
インストール方法
こちらの ダウンロードページ から、Unity向けのプラグインである
「ADX LE Unity SDK(3.10.01)」をダウンロードしましょう。
ダウンロードしたフォルダを展開して、「"cri\unity\plugin\criware_unity_plugin_v2_42_46_le_ja.unitypackage"」
のパスにあるパッケージを自身のプロジェクトにインポートします。
Assetsフォルダ直下に「CRIMW」というフォルダがあればインストール完了です。
音声データの準備
UnityでCRIWAREを使用して音声を再生するには、
AtomCraftというツールでビルドされた音声データが必要になります。
「音声のビルド→Unityにインポート→再生」というイメージです。
ビルドの方法は、こちらの記事 で紹介しています。
音声のインポート
音声のビルドが終わったら、Unityにインポートしていきます。
「Window→CRIWARE→Atom Browser」の順に開きましょう。
「Atom Browser」下部の「Import Assets from Atom Craft Project」を開き、
「Import From」に、AtomCraftで作成したプロジェクトのAssetsフォルダを指定します。
最後に「Import Assets」ボタンをクリックすれば、音声のインポートは完了です。
スクリプトで音声を制御する
音声の再生については、こちらの記事 で紹介しました。
今回は、再生・停止・再開・終了の4段階による音声の制御をしていきます。
いずれも、対応するメソッドを呼び出す形で実装します。
再生の場合、プレイヤーを作成して再生するだけですが、
停止・再開・終了の3つは再生済みの音声に対する処理なのでアプローチが異なります。
具体的には、「CriAtomExPlayback」という再生済みの音声を制御する構造体を用います。
つまり、再生した音声を構造体として保持することで、3つの処理を行います。
再生:CriAtomExPlayer.Start()
停止:CriAtomExPlayback.Pause()
再開:CriAtomExPlayback.Resume()
終了:CriAtomExPlayback.Stop()
この4つの処理をまとめたものが以下のコードです。
using UnityEngine;
using System;
using System.Collections.Generic;
public class Test : MonoBehaviour
{
private CriAtomExPlayer _player; // プレイヤー
private CriAtomExPlayback _playback; // 再生済み音声
void Start()
{
_player = new CriAtomExPlayer();
}
// 再生
public void Play(string cueSheetName, string cueName, float volume)
{
var currentAcb = CriAtom.GetAcb(cueSheetName); // Acbを取得
_player.SetCue(currentAcb, cueName); // キューを設定
_player.SetVolume(volume * _volume); // ボリュームを設定
var playback = _player.Start(); // 再生済み音声を取得
}
// 停止
public void Pause()
{
_playback.Pause();
}
// 再開
public void Resume()
{
_playback.Resume(CriAtomEx.ResumeMode.AllPlayback);
}
// 終了
public void Stop()
{
_playback.Stop(false);
}
}
各メソッドを呼び出すことで、コメントの処理が実行されるはずです。
以上が、CRIを用いたスクリプトベースの音声制御でした。
最後までご覧いただきありがとうございました