Unity Oculus touchでADX2LE鳴らす

#はじめに
OculusでADX2LEを簡単に鳴らす。
前回の[ADX2Cursor](http://qiita.com/tatmos/items/99612e26dad82ccf652a)の続きになります。

VR空間で手を振り回してCubeに触れると音が鳴る
シンプルなものを作ります。

シンプルなのでアレンジや理解しやすいかと思います。

動画
[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/3O3LONzy6qQ/0.jpg)](http://www.youtube.com/watch?v=3O3LONzy6qQ)

#必要なもの
Unity,ADX2LE（それぞれ無料で手に入ります）と
Oculus touchが必要です。

#Oculusを開発用にする
Settings>General>Unknown Sourcesをチェックする。

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/1f2d045a-1e1e-813a-7a1a-fdcd2037f009.png)

#Unityで新規プロジェクト作成

とりあえずプロジェクトを作成します。
![image](https://qiita-image-store.s3.amazonaws.com/0/96808/c2aa9b0b-da03-a234-2c6b-7994c1c8615f.png)


#UnityをVR対応にする

Build Settings>Player Settings>Other Settings>Virtual Reality Suppotedをチェックする。

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/110bbaa2-83d8-d30e-f8b4-c0a6a81d5f1e.png)

#Oculus touchのパッケージを入れる
[Oculusのダウンロードページ]
(https://developer3.oculus.com/downloads/)から
Oculus Utilities for Unity 5 V1.10.0を入手する。

zipを解凍してovr_unity_utilities_1.10.0\OculusUtilities\OculusUtilities.unitypackageをダブルクリックしてImportします。

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/febf703a-0b91-da32-2752-0ad076e6b17a.png)


#ADX2LE 　
たくさんの音をacbとしてパッキングして扱いやすくしてくれる。
http://www.adx2le.com/
からダウンロードしておく
unitypackageをインポートする

1.cri_adx2le_sdk_v202.zipを解凍。（ブロックを解除）
2.criadx2le_sdk_v202/cri/unity/plugin/criware_unity_plugin.unitypackageをダブルクリック。
3.Unity上で、importボタンを押す。
![image](https://qiita-image-store.s3.amazonaws.com/0/96808/bcfde862-cd53-3649-8cd1-103fd8cb7b72.png)

4.CRIメニューから「Create CriWare Library Initializer」を選ぶ。
5.CRIメニューから「Create CriWare Error Handler」を選ぶ。

#ACF,ACBの用意
1.criadx2le_sdk_v202/cri/unity/samples/criatom/basic/Assets/StreamingAssetsをUnityのAssetsにドロップして追加する。
この時、必ずAssetsの直下にStreamingAssetsフォルダができるようにする。（場所と名前に意味があるので）
![image](https://qiita-image-store.s3.amazonaws.com/0/96808/4d18a63a-fbee-9b53-05a3-02e1eb1fd214.png)

StreamingAssets内の.acfや.acbを解析するので、任意のacf,acbに置き換えてもらえばそれに変わります。

#ADX2CursorをImport
![image](https://qiita-image-store.s3.amazonaws.com/0/96808/7b48138e-ea07-43e0-4649-987ea2983f38.png)

[ADX2Cursor]
(https://github.com/tatmos/ADX2Cursor)からパッケージをダウンロードしてインポートします。

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/b6e222c8-5aaf-7f1f-2bc9-f087a968ada4.png)

##Prefabを追加
Assets>ADX2Cursor>PrefabsにあるADX2CursorとSample_ADX2Loaderをシーンにドラッグして追加します。

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/59ddcf8d-9e47-fb9b-ea94-072773984e43.png)

#実行して確認
![image](https://qiita-image-store.s3.amazonaws.com/0/96808/7ea1318e-41f3-e941-1a1a-e8b52da5a464.png)

とりあえず音が鳴るか確認します。
Hierarchy>ADX2Cursorを選択し、Inspector>Transform>Position>Xを操作してみます。Xの文字の上をドラッグすると値変更できます。

##Oculusカメラを追加します。

Project>OVR>Prefabs>OVRCameraRigをシーンにドラッグして追加します。

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/3f78ac7b-9ba4-bdcf-8d29-87ef26238c9c.png)

これだとカメラが２つになるので
MainCameraを削除します。

#実行して確認２
この状態だとカメラの位置が近すぎます。
あと、VR空間上での1メートルがUnityのCubeのサイズなのでやたら大きい。
ので、いろいろサイズを調整します。

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/3071dfb6-039e-b9f8-5e7c-c2197f2d7a06.png)
カメラがめり込んでる。

##ADX2カーソルサイズを0.1にする
ADX2Curorを選択し、Inspector>Transform>Scaleを全て0.1にする

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/3877cece-b9ff-5e34-5877-68d41d8f1c44.png)

##Sample_ADX2Loaderを以下のようにする
少し奥行方向に移動してサイズを小さくしました。
![image](https://qiita-image-store.s3.amazonaws.com/0/96808/bada5b48-fe7f-eced-4804-7f09ccd92ef2.png)

##右手の位置にカーソルを追従させる
ADX2CursorをOVRCameraRig>TrackingSpace>RightHandAnchorの下に移動
![image](https://qiita-image-store.s3.amazonaws.com/0/96808/0e951fd8-9fe7-87f4-b49f-a80758ecf252.png)

これで右手でCubeを叩けるようになります。

動画
[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/Fn6MJQwpmoM/0.jpg)](http://www.youtube.com/watch?v=Fn6MJQwpmoM)

##3Dサウンド

CenterEyeAnchorにCriAtomListenerを追加すると
このデモではHeliLoopの音が3Dパンの影響で音の位置が変わります。

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/b7aa1e53-546c-f1fb-a082-da19661e8ff5.png)

##スピーカ出力をRift Audioにする

oculusのヘッドフォンから音が鳴ります。

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/ce433e51-5f17-e0e8-c92e-2e56e364aab2.png)

##手を表示する
[Oculusのダウンロードページ]
(https://developer3.oculus.com/downloads/)から
Oculus Avatar SDK V1.10.1を入手する。
![image](https://qiita-image-store.s3.amazonaws.com/0/96808/fc572cd7-7470-00b1-840f-e65072d40463.png)

zipを解凍してovr_avatar_sdk_1.10.1\OVRAvatarSDK\OvrAvatar.unitypackageをダブルクリックしてImportします。

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/0c26db08-fba6-0908-123a-d13a56567706.png)

OvrAvatar/Content/Prefabs/LocalAvatar をシーンにドロップして追加します。

これで手が表示されます。

動画
[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/yLr5niTGPLs/0.jpg)](http://www.youtube.com/watch?v=yLr5niTGPLs)



#参考アプリ例
動画
[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/cRMYB29V2Lo/0.jpg)](http://www.youtube.com/watch?v=cRMYB29V2Lo)
[アプリダウンロード ADX2CursorTouchDemo20170101a.zip](http://ux.getuploader.com/adx2lesample/download/3/ADX2CursorTouchDemo20170101a.zip)

#Next
続き　→[【Unity】oculus touchの振動デザイン](http://qiita.com/tatmos/items/91442910d6a162053c14#_reference-1df5244956e7e565a854)