GoogleがI/Oで発表したCardboardのアプリを作ってみました。
このアプリはHACKistがC86コミックマーケットで出品した同人誌の3D目次となっています。
CardboardはAndroidでOculus Riftのような、ヘッドマウントディスプレイとヘッドトラッキングを使用したVRを体験できるAndroidアプリを作れるライブラリです。
使い方はAndroidのSurfaceViewとほぼ同じ方法で作れます。
というのも、Cardboardの中身はただのOpenGLES2.0だったりします。
違う所は、SurfaceViewの場合主なライフサイクルは、
onSurfaceCreateで初期化をし、onDrawFrameで描画を繰り返します。
Cardboardの場合、onSurfaceCreateで初期化を行った後、
onNewFrame→onDrawEye→onDrawEye→onNewFrame・・・と繰り返します。
onDrawEyeが2回描画されるのは、左右の目に対して別々の画像を表示するためです。
onNewFrameでは座標変更を行い、onDrawFrameでは描画処理を行います。
それでは簡単に作り方を
まずCardboardはjarファイルのライブラリとして使用します。
公式サイトにアップされているので、ダウンロードしてきます。
ダウンロードしたjarファイルを、プロジェクトファイル直下のlibsフォルダに入れます。
そして、レイアウトにCardboardViewを配置します。
普通にButtonやtextviewをつくるように、xmlファイルに
と記述することで配置する事ができます。 これで準備は完了です。 また、onCreateでSurfaceViewでは
といった感じに記述しますが、Cardboardでは
と記述することでCardboardを使うことができます。
あとはSurfaceViewと同じようにポリゴンを描画してあげれば、
Android端末でOculus Riftもどきが完成します。
ポリゴンの描画についてはまた別記事で紹介したいと思います。
では、また。