CardboardでVRアプリを作ってみる(1)
はじめに
Oculusが3月末に出荷開始、Viveのプリオーダーが開始され、PlayStation VRが$399での発売が公開されるなど、VR熱が一気に高まっておりますが、一方でGoogleのCardboardのように、スマホさえあれば安価に楽しめるVRは、VR市場の裾野を広げる上でとても重要だと思っています。
App Storeの黎明期を数々のインディーズアプリが牽引したように、VRも数多の個人開発者が市場を切り開いていく、という可能性も十分にあり得るのでは?少なくとも私はそんな未来を信じ、ぼちぼちモバイルVRアプリを作り始めました。まずはベタですが簡単なFPSシューティングゲームを作ってみようと思います。
今回は、Unity+Cardboardで、iOS/Androidアプリでデモアプリを動かしてみるところから始めてみます。
CardboardでVRアプリを作ってみる(全体構成)
第1回(Cardboardのビルド)【今回】
ダウンロード
まずは開発環境の準備。
https://developers.google.com/cardboard/unity/download
から
- Cardboard SDK for Unity (CardboardSDKForUnity.unitypackage)
- デモ(CardboardDemoForUnity.unitypackage)
をそれぞれダウンロードします。なお、Unity5.4からはCardboardがネイティブサポートされるそうなので、この手順はUnity5.3迄、かもしれません。
デモアプリをエディタで試してみる
Unityを起動して適当なプロジェクトを作り、そこにダウンロードしたSDKとデモアプリを取り込みます。ProjectのAssets上にて右クリックし、Import Package→Custom Packageを選択。
まずはダウンロードしたCardboardSDKForUnity.unitypackageを選択します。しばらくすると、
このようなポップアップが表示されるので、Importボタンを押して、全て取り込みます。同様に、デモ(CardboardDemoForUnity.unitypackage)も取り込みます。
取り込みが完了したら、Assets→Cardboard→DemoSceneのDemoScene.unityをダブルクリックします。これでデモのシーンが読み込まれます。
画面上部中央の再生ボタンを押すと、エディタ上でデモシーンが再生されます。Option(Alt)キーを押しながらマウスを操作することで、顔を向きをシミュレーションすることができます(360°あちこち見れます)。
画面中央には照準が表示されます。照準は点で表示されていますが、箱やボタンに照準が当たると、上の図のように、円に変化します。この状態でマウスをクリックすると、箱が別の場所へ移動します。箱だけでなく、足元に設置されているボタン類も同様にクリック可能です。
iPhone上で実行
次にエディタ上で動かしたデモシーンをiPhone上で動かしてみます。File→Build Settingsより、iOSを選択、その後Player Settingsボタンをクリックします。
すると、インスペクタ(デフォルトなら画面右部)に各種設定が現れますので、Resolution and PresentationのDefault OrientationをLandscape Leftとして横画面モードに(CardboardにiPhoneを横向きに設置するため)、Other SettingsのBundle Identifierに適当なIdentifier(XcodeにてBundle Identifierとして使用されます)を設定ののち、Build And Runボタンを押下します。これで、デモシーンがビルドされます。
Unity側のビルドが完了すると、自動的にXcodeが起動されます。ここでUnityが生成したコードが自動的にビルドされ、実行可能、のはずなのですが、
なにやらエラーが。ビットコードを無効化せよ、とのことなので、XcodeのBuild Settings→Build Options→Enable Bitcodeを「No」にして、再度ビルドします。
今度こそ大丈夫かと思いきや、またエラーが。今度は_SecTrustEvaluateが無いと。なので、 General→Linked Frameworks and Librariesにて「Security Framework」を追加します。
これでようやくビルド完了です。なお、Cardboard右上に設置されたボタンを押すことで、エディタ上で実行した際の「クリック」となります。段ボールのギミックでボタンを押すとスクリーンがタッチされるようになっているようですね。
※iPhone6S plusにて動作確認済み(他機種では試せておりません)
Android上で実行
File→Build Settingsより、Androidを選択します。iPhoneの時に設定した画面向きやBundle Identifierはそのまま有効ですので、Build And Runボタンを押下するだけです。こちらも、いろいろエラーが出るのかと思いきや、Xcodeのように外部IDEが起動することもなく、そのままAndroid端末上で実行されました。
※Galaxy S6にて動作確認済み(他機種では試せておりません)
まとめ
今回は、CardboardにてFPSシューティングゲームを開発することを目指し、まずはCardboardのデモシーンをiPhone/Android上で実行してみました。次回からこのデモシーンをベースに、冒頭の写真のゲームに仕上げていこうと思います。