GoogleCardBoardを利用したVR体験 / 本体組み立て ~ プロジェクト作成
2015.04.20
こんにちは、今回の技術ブログ執筆担当の舘林です。
今回はGoogleCardBoardについて紹介いたします。
GoogleCardBoardとは?
GoogleCardBoardは2014年6月にGoogleの開発者会議で発表された3Dヘッドセットで、無料公開された型紙、
ダンボールやレンズ等身近な材料から組み立て、スマートフォンを組み込んで覗き込むことで手軽に
VR体験が出来る代物です。
3D体験というと裸眼立体視を思い浮かべる方もいらっしゃるかと思いますが、
あれとは比較にならない体験が数100円で出来ます。
2014年12月にUnity向けSDKが公開されたことで、
対応プロジェクトを作成することの敷居もだいぶ下がってきています。
GoogleCardBoard組み立て方
材料
- ダンボール
薄めのものが扱いやすいです。むしろ牛乳パックを開いて
使うほうが加工しやすく、向いているかもしれません。引越しに使うような
分厚いやつだと、切り抜き、組み立てともに苦労します。
- 磁石*2(なくてもいい)
公式ではネオジウム磁石(磁力の強いやつ)とフェライト(普通のやつ)
をひとつずつ用意しています。
スマートフォンをセットしたまま画面操作するための部品ですが、
機種によって反応しない、あるいは誤作動することがあります。
精密機器に強力な磁石を貼り付けるようなものなので、
抵抗がある人は無理にやらなくて大丈夫です。
- マジックテープ(なくてもいい)
スマートフォン固定用。重心の関係で、ふたを手で抑える形で持つことも
多いため必須ではないです。そもそも規格外のスマホだと
ふたが閉じないことも多いです。
- 接眼レンズ2枚
焦点距離4.5cmのものが推奨されています。
画像を視界いっぱいに広げるための部品なので
直接立体視の成否には関係しません。
ただし、焦点距離がこれから離れると、
近視あるいは遠視と同じ状態になり、少しぼやけて見えるかもしれません。
試しに作るだけなら100均のルーペに入っているやつで十分です。
- スマートフォン
Googleの推薦機種はnexus5です。特に重要となるのは画面のサイズで、
4.95インチのものが適当です。
大きいものを使うと立体感は強くなりますが、人によっては立体視できない恐れがあります。
また、本体が大きいとふたが閉まらなかったりはします(使用は可能です)。
余談ですが、GalaxyはGoogleCardBoardと物理的に相性がよくないです。
ホームボタンが正面に出っ張ってるので、しょっちゅう誤作動します。
- 接着剤またはテープ
- カッター(重要) はさみ
ダンボールは切りにくい上、型紙が曲線だらけなので、はさみだとすごく苦戦します。
これのために100均でカッターを買うなら、デザインナイフを強くお勧めします。
- 型紙
型紙はGet CardBoardのページの真ん中あたり DOWNLOAD INSTRUCTION からダウンロードできます。
いろいろ入ってますが、実際に必要なのは printyourself.PDF だけなので、これをA4で印刷します。
- ・作り方
1.型紙をダンボールに貼ります。このとき、番号の入っている部分を重ねて張るのを忘れないようにしましょう。
2.貼った型紙に沿ってダンボールを切り抜きます。相当切りにくいので手元に注意。はさみだけでやるのは危険行為です。
3.くりぬいた型紙を折り線に沿って山折にして、組み立てて行きます。ただし、レンズ保持部分は、
出っ張りのある部分で真ん中をはさむ構造になるため、
左右どちらかは谷折になります。レンズを挟み込み、各部品をそれぞれ対応する溝にはめ込んで完成です。
Unityでのプロジェクト作成
Unity用のSDKが2014年12月に公開されたことで、対応プロジェクトの作成がとても手軽になりました。
事前準備
UnityのダウンロードはUnity DownLoadより。exeを起動したら画面に従ってぽちぽちするだけなので割愛します。
問題があるとすれば、ファイルが重いというくらいでしょうか。
UnityからAndroid向けプロジェクトをビルドするには、AndroidStudioが必要となります。
(また、AndroidStudioの動作にJDK 7以上 が要求されるため、そちらも必要になります。)
AndloidStudioの環境構築についてはAndroid StudioとGradleをご覧ください。
・ビルドまでの手順
1.Google DevelopersからSDKforUNITYをダウンロードし、これを解凍します。
2.Unityを起動し、空プロジェクトを作成、または既存プロジェクトを開きます。
3.ツールバーから Assets >Inport Package > Custum Package を選択します。
4.先ほど解凍したフォルダ内のCardboardSDKForUnity.unitypackage をインポートします。
5.インポートしたアセット内にデモシーンが含まれていますので、これを開けばひとまずビルド用のシーンの準備は完了です。
既存プロジェクトを利用している場合はプロジェクトのメインカメラを
Assets > CardBoard >Prefabs の中にある CardboardMain に置換すれば大丈夫です。
6.AndroidSDKとの関連付け
ツールバーより、edit > preferences unity をクリック。external tools 内の AndroidSDK Location にAndroidSDKのパスを指定します。
7.ツールバーより、file > Build Setting を開きます。
8.PlatformのAndroidを選択、Switch Platformをクリック。
9.Add Current をクリックし、ビルドしたいシーンを選択します。
10.Player Settings をクリックします。するとインスペクタービューに Player Settings が表示されます。
11.Company Name と Project Name を任意のものに変更します。ただしデフォルトのままだとビルドできません。
12.Androidのタブを選択し(初期状態で選択されているとは思いますが)、Resolusions And Presentation 内の
Default Orientation を LandScapeLeft または LandScapeRight に変更します。
これによって実機起動時の画面が横向きに固定されます。LeftとRightの違いは下辺が左右のどちらに来るかだけです。
13.Other Settings 内の Bandle Identificator を任意の名前に変更してください。これもデフォルトだとビルドで止まります。
これでようやくビルドが可能になります。完成したapkファイルはそのままスマートフォンにダウンロードしてやればOKです。
GoogleCardBoard使い方
アプリを起動し、ステレオ画像が映ったら本体にセットして覗くだけです。
きれいに立体視できなかった人へ
皆さんはきれいにVRの世界を体験できたでしょうか?残念ながら、立体視は誰もが100%出来るものではなく、
様々な要因によって見え方が変わってきてしまいます。(先天的に立体視が成立しない方もいらっしゃるそうです。)
GoogleCardBoardを使用する上で見え方に違和感がある場合の、私の知りうる解決方法をご紹介します。
症状1 画像がぼやける
レンズの焦点位置は適正でしょうか?公式では焦点距離4.5cmを推薦しているため、
それから前後すると近視、あるいは遠視のような見え方になります。
100均などのものを使用した場合、焦点距離が3~4cmのものが多いため、近視と同じぼやけ方になるようです。
レンズを公式推薦のものと交換することで解決する可能性があります。
症状2 画像がダブって見える。
4.95インチ(公式推薦画面サイズ)より大きい画面のスマートフォンを使っている場合や
目と目の感覚が狭い方(や子供)に多い症状です。左右の画像の同位置の距離が
使用者の目の感覚より広いため画像がダブって立体視が成立パターンと、左右の画像の視差が大きすぎるパターンがあります。
小ぶりのスマートフォンをお持ちなら、それを利用することで改善する可能性が高いです。
また、アプリ側の対応として、左右のカメラの距離を小さくすることでも改善される可能性があります。
※視差の調整方法
GoogleCardMain にて Cardboard > Head > MainCameraと掘り下げていくと、
LeftCameraとRightCameraがあります。
こいつらの間の距離を小さくすることで左右の画像の視差が小さくなり、立体視が成立しやすくなります。
問題なく立体視できる方は、逆に間隔を広げることで視差を大きくすれば、より強い立体感を得ることが出来ます。
ここまで駆け足で紹介してきましたが、GoogleCardBoardをはじめとした3Dヘッドセットは
実際に使ってみないとその凄さが全く伝わらないものだと思います。
2015年4月現在、GooglePlayにて多くのすばらしい作品が公開されていますので、
一度体験してみてはいかがでしょうか。
以上、GoogleCardBoardのご紹介でした。
CONTACT
お問い合わせ
あなたの「想い」に挑戦します。
どうぞお気軽にお問い合わせください。
受付時間:平日9:00〜18:00 日・祝日・弊社指定休業日は除く