Google CardBoardの「Getting Started with Unity for iOS」をやってみた

Google CardBoardの「Getting Started with Unity for iOS」をやってみた

~~自分~~ 子供が喜びそうだったので、CardBoardを手に入れました。
http://powiscustom.com/products/powis-virtual-reality-kit

せっかくなので、iPhone向けのアプリってどうやって作るんだろうと思い、Googleさんが用意してくれているサンプルを試してみました。
https://developers.google.com/cardboard/unity/get-started-ios

環境は以下のとおりです

* Mac 10.10.4
* Unity 5.1.2
* Xcode 6.4

## Unityの用意

ダウンロードはこちらから。
http://unity3d.com/get-unity/download

## サンプルのダウンロード

「Download Cardboard SDK for Unity」を以下のサイトからダウンロードします。
https://developers.google.com/cardboard/unity/download

## UnityのProject作成

Unityを起動して、新規のプロジェクトを作成します。
![スクリーンショット 2015-08-01 10.57.50.png](https://qiita-image-store.s3.amazonaws.com/0/36184/2778af73-d685-4449-9c4f-5089524ea970.png "スクリーンショット 2015-08-01 10.57.50.png")

### CardBoard SDKをインポート
メニューの `Assets` > `Import package` > `Custom Package` と選び、先ほどダウンロードして解答したフォルダに有る「CardboardSDKForUnity.unitypackage」を選んで開きます。

### CardBoard Demoをインポート
メニューの `Assets` > `Import package` > `Custom Package` と選び、先ほどダウンロードして解答したフォルダに有る「CardboardDemoForUnity.unitypackage」を選んで開きます。

### DemoのSceneを表示してみる
プロジェクトのペインで、`Assets` > `Demo Scene`を選び、右側に表示された`DemoScene`と書かれたUnityのアイコンをダブルクリックします。
![スクリーンショット 2015-08-01 11.09.37.png](https://qiita-image-store.s3.amazonaws.com/0/36184/eb8f807a-ed66-051c-b3f2-30ec065062ab.png "スクリーンショット 2015-08-01 11.09.37.png")

この状態で画面上部の再生ボタンをクリックすると、デモが再生されます。
![スクリーンショット 2015-08-01 10.37.02.png](https://qiita-image-store.s3.amazonaws.com/0/36184/750ced4b-aa38-05b9-8206-b7afbae6f6eb.png "スクリーンショット 2015-08-01 10.37.02.png")

## Unity Projectのビルド
Unity上で動くことが確認できたので、iOS向けにビルドできるように設定をします。

メニューから`File` > `Build Settings`と選ぶと設定画面が表示されるので、`iOS`を選び`Switch Platform`ボタンをクリックします。

次に`Player Settings..`をクリックしてインスペクタに表示します。
Player Settingsペインで`Resolution and Presentation`をクリックすると設定が表示されるので、`Default Orientation`を`Landscape Left`に変更します。
![スクリーンショット 2015-08-01 10.38.43.png](https://qiita-image-store.s3.amazonaws.com/0/36184/53647e3e-6f21-515b-ef95-32e272776635.png "スクリーンショット 2015-08-01 10.38.43.png")

続けて、`Other Settings`をクリックして設定を表示させ、`Bundle Identifier`に自分の値を入力します。
私の場合は、`com.sparkgene.firstCardBoard`と入れました。
![スクリーンショット 2015-08-01 10.39.22.png](https://qiita-image-store.s3.amazonaws.com/0/36184/d31ef796-ce0c-24b4-b84e-147c734e7142.png "スクリーンショット 2015-08-01 10.39.22.png")

準備ができたので、Build Settings画面の`Run Xcode as`を`debug`に変えて、`build`ボタンをクリックします。
保存先を聞いてくるので、適当な値を指定すると、出力されます。

### Xcodeで動かす

先ほど指定したディレクトリに`Unity-iPhone.xcodeproj`というファイルが作られるので開きます。

プロジェクトを選択し、`Build phases` > `Link Binary with Library`を開きます。
`+`ボタンでライブラリの追加画面を開き、検索窓に`CoreText`と入力すると、`CoreText.framework`が表示されるので、選択して`Add`ボタンをクリックします。

次にXcodeのメニューから`File` > `Add Files to Unity-iPhone`と開きます。
`<unityプロジェクトの保存先>/Assets/Plugins/iOS`の中にある`Localizable.strings`を選び`Add`をクリックします。

### 実行する

以上で準備が整ったので、メニューの`Product` > `Run`で実行します。
アプリが起動すると、CardBoardを利用したアプリでよく表示される、SetUp画面が表示されます。![IMG_5557.PNG](https://qiita-image-store.s3.amazonaws.com/0/36184/2c8971d3-015c-3c8d-36f2-f809f641f1ef.png "IMG_5557.PNG")

カメラへのアクセス権を聞いてくるので許可しましょう。
![IMG_5558.PNG](https://qiita-image-store.s3.amazonaws.com/0/36184/153715b0-b7a8-5d8c-4cd5-012a519876d6.png "IMG_5558.PNG")
CardBaordのQRコードを読み取らせると設定が終わり、デモが表示されます。（設定はスキップさせることが出来ます）

おお、表示されました！
![IMG_5560.PNG](https://qiita-image-store.s3.amazonaws.com/0/36184/e9660ccf-4bb1-308f-4d64-a65dcb01c245.png "IMG_5560.PNG")

キューブを中心に合わせると、色が赤く表示されます。
このイベントを利用して、何らかのアクションをさせたり、CardBoardのボタンを押すして何らかのアクションをさせたりと、作りこんでいけば良さそうですね。

## まとめ
UnityからXcode用のソースが出力されるので、実際に何か作るとしたら、Unity側のコーディングがメインになるのかな？
（やったこと無いのでよくわからないけど）
けど、実機で動くまでのデモがこんな感じで簡単にできるとなると、子供受けする簡単なアプリぐらいは作ってみたくなりますね。