CardBoadアプリ制作迷走記
気分転換に初めて1ヶ月。ようやくcardboard対応アプリをリリースできました。Unityでの作業はスムーズだったのですが、ビューアー導入時にかなりの迷走っぷりを発揮して無駄な銭と時間をばらまいてしまったので、まとめておきます。
端末にジャイロセンサーがないとcardboardアプリが動かない!
普段はiphone5を使っているので、そちらで動かせばいいのですが、小銭をけちってapple developer programに参加していないため開発ができず。Xcode7でできるじゃーん、という話ありますが、当時開発に使っているお仕事用のmacはOSXの8.x(だったかな)。ずーっとアップデートせずにいました。
で、アプリのテスト用として購入していたFreetelのFT142Aを使おうとしたら「お使いの端末は対応していません」でアウト。別のVRアプリで動くものがあったりして、「なんでかなぁ」と悩みつつググってわかったのが、「cardboardにはジャイロセンサーが必要」ということでした。大事なことは書いておいてヨォと叫びつつ、ジャイロセンサーが搭載されていて安ーい中古端末を探すことに。
※間違い1 ここで素直にiOSでの開発を選択していれば、2台も余計な端末を買わずにすみました;
見つけたのは2012年発売のgalaxyS3。1万だしいっか、とamazonでポチっと購入。無事cardboardアプリも動いたのですが、古い端末なためポリゴンバリバリのアプリだとまともに動かない遅さ。磁気ボタンも反応しないし、多少はまともに動く端末Nexus5xとか買っちゃう!?と思ったのですが、結局スペックと価格を天秤にかけて購入したのがASUSのZenfone2。いや悪い端末ではないですよ。ただ、「今VRで遊ぶ」ということであれば同じくらいのお値段でgalaxyS6が買えてしまいます。この選択が非常に悔やまれます。よくありますよね。周りを見ずにノリと勢いで倍々プッシュで大怪我するパターンです。
どのビューアーを買う? 可能なら実物を見てから選ぼう
Google謹製のダンボールタイプは、しばらく使うことを考えたときに耐久性にやや不安がありました。ということで「どれも似たようなもんだろう」と思い購入したのがコレ↓
フロントパネルをオープンすると、パネルに裏に吸盤がついていてそこにスマホを貼り付けるもの。磁器スイッチやらリモコンやらついていてお得感がありました。メガネをつけたまま使えるのもポイントです。密閉タイプなのでカメラが使えないのは難ですが、「穴を開けりゃいいか」くらいに思っていました。
ただ、大きな問題が…焦点が合わない!
老眼も入ってくるお年頃なので仕方ないといえばしかたないです。この辺は個人差があるんだろうということで、度数がきつめのメガネを用意。なんとか見えましたが、普段裸眼で過ごしている視力なため、ちょっと使っているだけでもいろいろきつくなります。
ちょうど、galaxyS3を購入して試していた頃で、磁気ボタンが使えないなら別のも試してみるかと、選んだのがコレ↓
あれ? 今までのはなんだったの!? というくらいちゃんと見えました。多少なら焦点距離も調整できるみたいですが、私はほぼ無調整で見えました。見やすいのタイプなのかなぁ、見えるならいいか、と深く考えずに使用するデバイスはコレで決定!
cardboardビューアーを適切に設定するためのQRコードがわからなーい
さらに問題は、cardboardアプリを起動したときに起きていました。最初にアプリを起動させたときに設定用のQRを読み込んでくださいというようなことを言われ、はたと箱の中やら探してみても、捨てたのか、もともとなかったのか「QRコードがどこにも見つからない!」。あとから「設定はスキップしてもいい」ということを見かけたのですが、最初は素直に設定するんだということで、仕方なく画像検索でひっかかった適当なQRコードを読み込ませました。
※間違い2 認定ビューアーであれば、適切な設定でデバイスを動かせたのに…。
その後もVRアプリを遊ぶときに「設定してね」と言われるたび適当なQRコードを読み込ませたりしていたところ、ある日作っていたアプリで「あれ? フレームレート落ちてない?」と気づきました。いろいろオブジェクトが増えて、数フレームずつ落ちるということでなく、40fps出ていたものが30fpsくらいにがくんと落ちてました。お世辞にも褒められたコードを書いているわけでもないし、Unityの使い方も動けばいーやと適当そのもの。それでも、巨大なメッシュを置いたり、よく分からない巨大データをアクセスすることもないので、フレームレートが落ちる原因が、しばらくわかりませんでした。
気づいたのは「シドニーとあやつり王の墓」を遊んだとき。どうがんばっても像がブレてしまいどうしても焦点が合わずにいました。そこで、設定を変えれば見えるようになるかなぁと適当なQRコードを入れ直してみたのです。結果として、見える設定になってゲームを遊び、アプリ開発に戻ってみると…多少ブレてはいるけどフレームレートが戻ってる!
そこで、片っ端から画像検索に引っかかったQRコードを入れてみたところ、だいたいレンズ補正のかけ方に4パターンのものがあるのがわかりました(その他にも細かいところで違いはあるのかもですが、大まかに分類。QRコードは無断で拾ってきているので掲載はなしで)。ビューアー名とfpsも一緒に書いておきました。ちなみに使用端末は、Zenfone2です。
1)補正なし ビューアー名:IAC Giant EVA Headset 50fps前後
2)ちょっとだけ補正 ビューアー名:3DVirtualRearity 48〜50fps
3)普通に補正 ビューアー名:C1−Glass 40〜43fps
4)極端に補正 ビューアー名:VR ONR 30fps前後
見事にレンズ補正がきつくなるほど処理の重さがわかります。ただ、適当なおっさんが適当にテストしただけなので、本当に正しいのかはわかりませんが、見え方がおかしいなぁというときには、設定を変えることを試してみる価値はあるかもしれません。
というか、認定ビューアーで紹介されているものであれば、安全だと思うので、まずはそちらを見て決めましょう。
・認定ビューアー紹介
https://www.google.com/get/cardboard/get-cardboard/
さてと、次はなにしよっかなぁ。止まってるノベルゲームも再開したいけど、その前にもう1本cardboardでやりたいネタことがあるので、そっちをやっちゃうかな。ああ、「vs係長」のiOS版もやらなきゃだ。まずは、ウチのUnity5.3+Xcode7.2でcardboardプロジェクトがビルドできない謎を早く解決しなければ…がんばろ。