Unity
Adx2
ADX2LE
Adx2エンジニア向け

CRI Atom Windowが開かない時の対処方法

CRI Atom Windowが開かない

UnityのバージョンアップとLEのバージョンアップが合わない場合にいろいろとエラーが出ることがあります。
ここでは、CRI Atom Windowが開かない場合の対処方法を紹介します。

調査対象

Mac Unity 5.6.1f1
cri_adx2le_sdk_v202.zip

手順

image.png
unitypackageをインポートします。
image.png

image.png
CRI ライブラリとイニシャライザーを追加します。
image.png
とりあえずシーンを実行してみます。
image.png
とくに問題なさそうです。

問題発生

CRI Atom Windowを開こうとすると・・・
image.png
なにやら大量のエラーが発生しました。

image.png
これは、Unityがバージョン上がって、
「OnEnableでstreamingAssetsPathを設定してね」
というエラーメッセージが書かれています。

直します。

image.png

この

public string searchPath = Application.streamingAssetsPath;

が問題のようです。

ここはコメントアウト

public string searchPath;// = Application.streamingAssetsPath;

少し下の方にあるOnEnable()の中で呼ぶようにします。
image.png

private void OnEnable()
{
        searchPath = Application.streamingAssetsPath;
        criAtomWindowPrefs = CriAtomWindowPrefs.Load();
}

こんな感じになります。

問題発生

CRI Atom Windowを開こうとすると・・・
image.png

これはなんでしょう
毎フレーム Invalid OpenGL Context for rendering.とエラーを吐き続けてます。
Unityの問題でしょうか。

とりあえず、Unityを再起動しましょう。

image.png

再起動しても何か出ていますね。呪いか何かでしょうか・・・

image.png
レイアウトから「2 by 3」を選んで心を落ち着かせます。
(エラーも消えます)

どうも、「Open CRI Atom Window」を引き金にUnityがおかしくなってしまうようです。
このエラーメッセージでは、何を対処して良いのかわかりません。
別の解決策を探ります。

Atom Windowを使わない方法の紹介

上記修正でエラーでなくなる場合もあるようですが、今後も開かなくなった時のために
Atom Windowを使わなくてもADX2LEを使う手順を紹介します。

ADX2では、
「StreamingAssets」フォルダに「〇〇.acf 〇〇.acb」があれば良いのです。
これを用意します。

image.png

criのunity/samplesにあるものを拝借します。

(StreamingAssetsフォルダをUnityのAssetsフォルダにドロップ)

image.png

ここではPinballの音を鳴らせるようにしてみましょう。

ADX2では、Unityで言うところのAudioClipに当たるものがacfやacbになります。
これは複数の音の情報をパッキングしたものになります。

シーンにローダーを追加します。

まず、空のオブジェクトをつくります。
image.png
名前を
AtomLoader
としてみます。
image.png

CRI Atomコンポーネント追加

Add Componentに「CRI」(シーアールアイ)と入れ
image.png
CRI Atom を選択して追加します。
image.png

ここに
Pinball.acf
と入れます。
Add CueSheetで
PinballMain.acb
と入れます。

image.png

これで、このシーンにacfとacbをロードすることになります。
(UnityでいうところのAudioClipをシーンに追加したようなイメージ)

音を鳴らすオブジェクトを追加する

UnityでいうところのAudioSourceになります。
ADX2ではAtomSourceというコンポーネントを使います。

空のゲームオブジェクトを用意し
image.png
Add Compornentから
image.png

CRI Atom Sourceを選びます。

image.png

ここにキューシート名とキュー名を入れます

image.png
ソースを見るとこれくらいのキューは呼べそうなので

woodと入れてみましょう
image.png
Play On Startもチェックしておきます。

シーンを実行するとキューの再生ができるようになりました。

以上