CRIWARE Unity Plugin Manual  Last Updated: 2024-12-05
[CriAtom]ブロック再生

サンプル内容

概要

cri4u_samples_criatom_scene06_game_mini.png

ブロック再生のサンプルです。
画面上のキューブをクリックすると、ブロック再生を開始します。

操作方法

  • [Start [Karimba]]、 [Start [beamUp]]、[Start Music]ボタン
    音楽あるいは効果音を開始します。

  • [Stop]
    再生を停止します。

  • Current block index
    現在再生中のブロックのインデックスです。

  • Nex block index
    次に再生するブロックのインデックスです。

  • [0] ~ [3]ボタン
    次に再生するブロックを指定します。

シーン情報


ミドルウェア CRI ADX (CRI Atom)
サンプル Basicサンプル
格納場所 /cri/unity/samples/UnityProject/Assets/Scenes/criatom/basic/
シーンファイル Scene_06_BlockPlayback.unity


プログラムの解説

「ブロック再生」とは、シーケンスをいくつかのフレーズ(ブロック)に分けて構成し、連続して再生することができる機能です。
フレーズにはさまざまな条件を設定することができ、複雑な再生を簡単に行うことができます。

ブロック再生対応データについて

CRI Atom Craftであらかじめブロックに関連する設定が行われている場合、プログラムからは再生後にブロックを指定するだけで対応できます。
ブロックの指定は、再生時に取得した CriAtomExPlayback に対して行います。

private CriAtomExPlayback playback;
(省略)
this.playback = audio.Play("kalimbaScaleUp");
(省略)
/* Specify a block. */
this.playback.SetNextBlockIndex(index);

ブロックのインデックス取得

ブロックのインデックス取得は、再生時に取得した CriAtomExPlayback に対して行います。
現在再生中のブロックインデックスを取得できます。

int cur = this.playback.GetCurrentBlockIndex();

ブロック情報取得

キュー情報からブロックの個数を取得できます。

this.acb = CriAtom.GetAcb("DemoProj");
(省略)
this.acb.GetCueInfo("kalimbaScaleUp", out this.cueInfo);
(省略)
int index = -1;
GUILayout.BeginHorizontal();
for (int i = 0; i < this.cueInfo.numBlocks; i++) {
string s;
if (cur == i) {
s = "< " + i.ToString() + " > ";
} else {
s = i.ToString();
}
if (Scene_00_GUI.Button(s)) {
index = i;
}
}