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

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

# 調査対象
Mac Unity 5.6.1f1
cri_adx2le_sdk_v202.zip

# 手順
![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/d321e48f-3bc4-03de-6e88-c39494c90d53.png)
unitypackageをインポートします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/f8b5bf22-f880-9459-620f-e2f0aef41dc8.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/44fd3770-bf1e-b63a-e375-35cc557f3cd7.png)
CRI ライブラリとイニシャライザーを追加します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/0b58358e-e837-a88a-e6e1-89e950ff9abf.png)
とりあえずシーンを実行してみます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/244ee194-54c1-3f34-97e1-f353e06bbe6a.png)
とくに問題なさそうです。

# 問題発生

CRI Atom Windowを開こうとすると・・・
![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/36034820-bf5f-1e25-6655-b0fdad6d800d.png)
なにやら大量のエラーが発生しました。



![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/589776b2-973e-8d3a-6897-fc57f8b2b4b5.png)
これは、Unityがバージョン上がって、
「OnEnableでstreamingAssetsPathを設定してね」
というエラーメッセージが書かれています。

直します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/b6dc62cc-8fed-80a4-0724-8a8ead5589f3.png)

この
```
public string searchPath = Application.streamingAssetsPath;
```
が問題のようです。

ここはコメントアウト
```
public string searchPath;// = Application.streamingAssetsPath;
```
少し下の方にあるOnEnable()の中で呼ぶようにします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/9ae5f734-2282-f4a4-f61f-73dcad9ab033.png)

```
private void OnEnable()
{
        searchPath = Application.streamingAssetsPath;
		criAtomWindowPrefs = CriAtomWindowPrefs.Load();
}
```
こんな感じになります。

# 問題発生

CRI Atom Windowを開こうとすると・・・
![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/57d62776-4875-9202-a6e5-4a108a6a56fd.png)

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

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

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/0a754034-b8b0-2ba0-8253-54573e631624.png)

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

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/e265342f-ef56-dfb4-1415-b5b6e33f6bad.png)
レイアウトから「2 by 3」を選んで心を落ち着かせます。
（エラーも消えます）

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


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

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

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/ed6ecd08-b34c-4ec2-c66e-7048ca58f18b.png)

## criのunity/samplesにあるものを拝借します。
（StreamingAssetsフォルダをUnityのAssetsフォルダにドロップ）

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/2adaebce-d28c-6b70-d775-f078c13e7c85.png)

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

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

## シーンにローダーを追加します。
まず、空のオブジェクトをつくります。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/80507a20-45cb-7dd8-182e-c084d9180b6f.png)
名前を
AtomLoader
としてみます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/184dca4b-bb67-aa2d-3002-0dc2e8758cf2.png)

## CRI Atomコンポーネント追加
Add Componentに「CRI」(シーアールアイ）と入れ
![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/36eeee8b-a5a7-65a3-10f8-08ebf265e686.png)
CRI Atom を選択して追加します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/cc145741-2d4b-97f5-fddc-dec09847482a.png)

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

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/cace46cf-fd56-e2d8-efac-5e37af5fb79a.png)

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

# 音を鳴らすオブジェクトを追加する
UnityでいうところのAudioSourceになります。
ADX2ではAtomSourceというコンポーネントを使います。

空のゲームオブジェクトを用意し
![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/272dbab7-31be-7a11-97ae-f6ceec413a54.png)
Add Compornentから
![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/5a196ca8-8bbe-5b00-f8d8-6a8b0fa105cf.png)

CRI Atom Sourceを選びます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/c76df688-bc6d-831b-86ef-e456d08923f9.png)

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

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/99073a47-b03c-0b85-9970-c27ec600276c.png)
ソースを見るとこれくらいのキューは呼べそうなので

woodと入れてみましょう
![image.png](https://qiita-image-store.s3.amazonaws.com/0/96808/a4350b26-80aa-1446-47c2-4352f30d541a.png)
Play On Startもチェックしておきます。

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

以上