Google Cardboard SDK for Unityでスマホ用VRを作ってみる
この記事はOculus Rift 2 Advent Calendar 2014 - Qiita 20日目の記事です。

先日Unity用のGoogle Cardboard SDKが公開されました。
早速試してみたところ、とても簡単に(!)導入出来ました。
まだ日本語の記事がなかったので、簡単に導入手順を書いてみたいと思います。
公式ドキュメントはコチラ。
Oculus Riftはもちろん素晴らしいけど、手軽に体験するって意味でCardboardやハコスコもいいチョイスだと思います。 「Oculus Riftで何か作りたいけど、ちょっと高いし...」「まだOculus届かない〜」 って人にもちょうどいいと思います。
用意するもの
Unity 4.X系
android向けビルドが出来るようにセットアップが必要です。
Unity勉強 第7回 「Android向けのビルドも試してみる」 - BEFOOL blog などを参考にandroid SDKのセットアップをしておきましょう。Google Cardboard
自作してもいいですが僕はハコスコ製のを買いました。手間を考えると1000円払う価値はアリだと思います。
いざ作ってみよう♪
適当なSceneを作る
新規プロジェクトに適当なSceneを作ります。
とりあえずユニティちゃんを表示してみます。なんちゃってユニティちゃんLIVE、しょぼい(笑)

Google Cardboard SDKをインポート
先ほどダウンロードしたSDK(CardboardSDKForUnity.unitypackage)をダブルクリックして開いてるプロジェクトにインポートします。
ステレオ画像にする
一番のキモ、”ステレオ画像にする"は超カンタンです。
インポートした Cardborrd > Scriptsから StereoControllerをMainCameraにアタッチします。

そしてプレイしてみると、なんと!これだけでステレオ画像になってます♪

MainCameraにSkyboxを使ってる場合は、SkyboxMeshスクリプトもアタッチしておきます。Skyboxも視差画像になります。
実機ビルド
File > Build Settingsで設定ダイアログを開きます。
PlayerSettingボタンをクリックして、以下の設定をします。
- default orientationを“Landscape Left”にする

- Bundle Identifierを設定(例: com.example.CardboardUnityDemo)

そしてbuildすると.apkファイルができるので、android端末にコピーしてインストールしましょう。 実機でも動きました!上下左右を見ると風景も変わります。

他にもonGUIで描いたGUIパーツをステレオ化するスクリプトなどもあるようですが、
こちらは未確認です(^_^;)
既存のアプリをVR化するのに便利そうですね。
Advent Calendar、明日は...まだ空いてるようです(^o^;)
Oculus Rift 2 Advent Calendar 2014 - Qiita
Oculus Riftでメーヴェを作ろう(14) MFT2014展示日記♪〜開場前の機体大破に始まり...その一部始終〜
(Oculusメーヴェ記事まとめは→コチラ)
初めて出展したMaker Faireでしたが、出展者側としてもとても楽しいイベントでした。
ほんと文化祭みたいな感じですね。

色々とトラブルもありましたが、なんとか2日間デモを継続できて一安心でした。
記念にその一部始終の日記を書いておきます。
いきなり機体大破事件(笑)
会場前、前日に搬入しておいた機材をセットアップ。
PCはちゃんと起動するかな、センサは動くかな、、、
そんな細かいとこにもビクビクしながら起動! 、、、いつもどおり動きました。
一安心して、周りの展示者と談笑しながら、試しにプレイしてみます。
そしたら早速「バキッ!」
後ろのパーツが引っかかって取れちゃいました!
さらに左の翼が「バキッ!」
僕が自ら蹴飛ばしちゃいました!
笑うしかないですwwwww

隣のブースの方にも手伝ってもらいながら、両面テープとガムテープで修復、、、
開場前からツギハギ感満載になりましたが、、、なんとかMFT2014スタートです!
展示スタート
展示が開始します。
「あ、メーヴェ!」「いつか乗ってみたかったんだ〜♪」

(写真はねとらぼから)
さすが、、、ナウシカ! とくに女子ウケが◎
ほんとは著作権とか微妙ですが、個人が趣味でやってるんで今回はお許しを、、、
あとテトのぬいぐるみも良かったですね。
肩に乗せて記念撮影♪みたいな。
Twitterに写真をアップしてくれてる人が結構いました。
デモの改善
初めてのデモで、段取りが不慣れですが、
DK2の掃除、ルート誘導、解説トークなどなど、徐々に慣れてきました。
デモLvが2くらい上がった♪
ブルースクリーンでシャットダウン事件
初日に3回ほど突然シャットダウンが発生、、、
原因はまだ不明、、、
行列できてるのにめっちゃ恐縮。けどお客さんはみんな暖かかったです。
幸い、客前でのマシンシャットダウンは前職で鍛えられています、、世間話でカバーですね。
出展者懇親会
1日目の展示は無事終了♪
懇親会です。個人でやってるので、一人で乗り込みます、寂しい。

とはいえ、色んなメイカーとお話出来ました。
自動車、ロボット、3Dゲームエンジン、出版、、ジャンルは広いですね。みんなめっちゃ面白かったです。
2日目
2日目は別の友達がお手伝いに来てくれました。
オペレーションが上手くて助かりました。
あと昨日ダメだった後ろパーツは、足が引っかからない形状に交換しました。
実機メーヴェの八谷さんが来てくれた!
メーヴェと言えば実機メーヴェ「OpenSky」の八谷和彦さんが有名ですが、
なんと!このOculusメーヴェの体験に来てくれました!
来場者からも「八谷さんのとは関係あるんですか?」とか聞かれましたが、
「え、いや、、この手作りマシンは、、、そんな別次元の代物で、比べるのも恐縮です、、、」 って感じです。
ドキドキしましたが、来てくれて体験頂きました。
Open sky の @hachiya さんが #oculus #メーヴェ 搭乗中〜 #mft2014 pic.twitter.com/ru7HC2Wkt8
— 倉本 大資 (@qramo) 2014, 11月 24
閉会後の帰路で偶然会い、今後について少しお話できました。
いつかコラボとかできたら最高ですね!
扇風機停止!!
気が付くと、あら?扇風機が停止してます!
単なるケーブル抜けならんだけど、、、
まさかモータが焼けた??
ちょっとデフォルトより高い電圧かけてるからな、、
けどそんな壊れるレベルじゃないはず、、
モータドライバICが逝った??
うん、そんな時のためにICはソケットで抜き差し交換できるようにした!
とか考えてたら、、、

めっちゃケーブル抜けとるやん!
挿し直して直りました。単純なトラブルでよかった、、
終了!会場全体からは拍手!感動!
「Maker Faire Tokyo 2014 閉会です!」のアナウンスと共に開場全体から拍手!
この雰囲気マジいいですね。感動します。
ただウチはまだ体験待ちの方がいて、オペレーションしてましたw
出展者の方が滑り込みで来られて。わかります、出展してると他のブース行けないですよね、、、^^;
そんなこんなで無事終了しました。
Maker Faire Tokyo、文化祭みたいで、サイコーに楽しかったです♪
体験に来てくれた方ありがとうございます!
また行列で諦めた方申し訳ないです。
今後も改良続けて、またどこかで展示したいと思ってるのでヨロシクお願いします!
Oculus Riftでメーヴェを作ろう(13)Maker Faireのデモで気付いたこと
Maker Faire Tokyo 2014、”Oculus Riftでメーヴェ風フライトシミュレーター”は大きなトラブルもなく無事に展示を終えることができました。
想像以上に多くの方に体験していただけて感激です。
とは言え、色々と反省点や気付いたコトもあったので忘れないうちにメモっておこう。
アプリケーション
酔い
酔ったという人はほとんど居ませんでした。
75FPS出るように、オブジェクト削りまくったりあれこれ調整して良かったです。
激しく操縦すると一部、酔いを感じた方もいたようです。
目指すテーマ自体を「遊覧飛行」的なテーマにしておいたほうが無難ですね。
ビュンビュンとアクロバットに飛び回るのは、今のハードの操縦感とギャップが大きくて厳しそうです。
振り返ったり覗きこむアクションは好評
プレイヤーの背後に常に鳥を飛ばしておきました。
振り返るとその鳥が見えるわけですが、この体験は割りとウケがよかったです。
そういや、JOBAでも初めに横を振り向いて、横の人に挨拶するのは面白かった。
あと、火山の上を飛んで、下を覗きこむと噴火口が見えるのですが、これも割とよかったです。
振り返る、覗きこむ系はOculus Riftっぽい体験でいいみたいですね。
こういう小技を散りばめとくといいですね。
プレイ時間
2分だと意外と間延びしたのと、回転をあげるために、1分半にすぐに変えました。
これでちょうど良かったと思います。
飛行速度が遅い問題
飛行速度は、遅いって感じる人のほうが多かったかなと思います。
とくに上空高く飛ぶと、地面との相対速度でかなりゆっくり感じます。
ただ速度上げ過ぎると、操縦が追いつかず激突しちゃいそうなんですよね。。
速度をプレイヤーが操作できるようにするとかですかねー、、、
んー、けど加速度は感じられないから酔い起こしそうだなぁ。
コース外れる問題
どこを飛んでもいい仕様なのですが、あまり仕掛けの無いところを飛ぶと単調な体験になってしまいます。
途中からは、どっちに飛ぶといいよ、っていうのをナビゲートしました。
ただ口で説明するのは伝わりにくいので、画面内にわかりやすい目印出して、おすすめコースを示すといいかな。
ハードウェア
安全性
いまの構造だと後ろで人が構えてないとダメですね。
傾き過ぎで危険なときに、画面にもっと分かりやすく警告出してもいいですね。全画面にWARNING!みたいな。
発泡スチロールが弱い問題
発泡スチロール製の翼と前後パーツですが、だいぶ破損しましたw
開場前から足を引っ掛けて外れちゃういう(笑)ガムテープで修復して乗り切りました。
とくに後ろにモッコリはbad ideaで、みんな足を引っ掛けます。
2日目からはモッコリなしのパーツに取り替えました。


できればFRPとかで作りたい。
他の展示者が3Dプリンタでラジコンヘリの外装作ってて、思ったより安いのを知った。
3Dプリンタにチャレンジしようかしら。お金貯めて。
ハイヒールきつい問題
最後の方に気付きましたが、ハイヒール履いてるとかなり前傾になるので、足腰がキツイぽいです。
靴脱いでもらったほうがいいかもですね。
立ち位置問題
立ち位置によってバランスが取りにくくなります。
真ん中に立たないと前後バランスが取りにくいし、また肩幅程度に広げないと左右のバランスも取りにくいです。
2日目からは”足”の目印を描いてだいぶよくなりました。
ただこの目印、紙で貼ったので最後はボロボロでみすぼらしくなりました(汗)
扇風機、振動モータが弱すぎ問題
出力が小さすぎてほぼ感じません。
振動モータは変更しようかな。
扇風機はちゃんとやろうとすると家庭用くらい大きなのじゃないとダメな気がする。
かさばるし、ま、扇風機はプライオリティ低めで。
Oculus Riftのデモとして
DK2の掃除
途中で気付いたらスポンジが湿ったり、レンズが曇ったりしていました。
そこからはスポンジをタオルで拭いたり、メガネ拭きでレンズ拭いたりするようにしました。
初めのお客様には申し訳ない、、、
行列の整理
人出不足で列の整理ができませんでした。
隣のブースまで延びて申し訳なかったです。
なんか柵みたいのあるといいんですかね??
あとホントは待ち時間とかも表示できればよかったな。
御礼!Maker Faire Tokyo 2014
Maker Faire Tokyo 2014、
”Oculus Riftでメーヴェ風フライトシミュレータ”、無事に展示を終えました!
初めてのデモで不慣れなとこもありましたが、体験に来ていただいた皆様にはホント感謝感謝です!
なかなかユーザさんがプレイしているところにダイレクトに触れる機会はないので、
楽しんでもらえる姿を目の前で見れるのは、エンジニア冥利に尽きます。
初めての出展でしたが勇気出して申し込んでみてホントに良かったと思います。
来場者、また他の出展者との交流、貴重な機会でした。
ツイッターのエゴサーチ(笑)をしたところ写真など投稿下さってる方も多く、
嬉しくてまとめちゃいましたw 問題あったら言ってください
ほぼずっとブースにいたので、写真見ると記憶が蘇りますね。
以下ツイッター、勝手にまとめ。
続きを読む今日からMaker Faire Tokyo 2014
今日からMaker Faire Tokyoです!
このイベント目指して作ってきたOculusメーヴェ、いよいよ展示になります。
トラブルなくデモできることを祈ります...
展示物の概要をコチラにまとめておきます。



概要
Oculus Riftを使ったメーヴェ風のフライトシミュレーターです。
機体の傾きを感知して旋回、上昇・下降したりします。
ポイント
- UnityとArduinoの連携はUNIDUINOというUnityアセットを使うことで簡単に実現しています
- Oculus Riftを装着すると見えないんですが、、機体も頑張って作ってます
今後改善したいところ
- 振動モータの揺れが小さすぎるので、大きい物に変更したい
- マップをもう少し賑やかにしたい。フレームレートとの折り合いでなかなか盛れないけれど...
仕様
Oculus Riftでメーヴェを作ろう(12)発泡スチロールで機体を作る
Maker Faireは今週末!
機体もなんとか形になってきました。

そもそもOculus Riftを装着したら見えないのでは!?
と思いますが、Makeってことで頑張って作ってみました。
羽とかを発泡スチロールで作る
羽と前後の装飾、これは苦労しました。
発泡スチロールを削って作りました。
ホームセンターで巨大な発泡スチロール購入。
50mm厚x畳約1畳で1000円!意外と安い。
車に載りきらないので半分に切断してお持ち帰り。

まずカッターナイフでざっくり削って、
最後は紙やすりで表面を整えます。

厚みのいる部分は、複数枚を接着しました。
接着には発泡スチロール専用ボンドを使わないと溶けちゃうので注意。

本体との接合部分は蝶番で。ぶつかってもクネクネ曲がるので、ボキって折れません。
使わない時はコンパクトにも収納可能(?)
本体部分は木工工作
本体部分は合板を箱形に組んでいます。

内部に傾きを検知したりする基板ユニットを仕込んでいますが、
引き出しで出し入れできるのでメンテナンス性もなかなか。

手すりは塩ビパイプ
手すり部分は色々と苦戦した挙句、 塩ビパイプを曲げて作りました。
曲げと塗装にかなり手こずりました。

Oculus Rift開発環境をmac→Windowsに移行するときにやったこと
今までmacbook proで開発していましたが、Oculus Riftをやってるとどうしてもパワー不足で、、
で
Maker Faireのデモでの体感も考えるとやっぱ高FPS出さないといけないし、
思い切ってWindowsのゲーミングPC買いました。

買ったPC
スペックはこの辺のサイト
http://slides.com/harutowatanabe/oculus/#/
http://blog.livedoor.jp/q_man/archives/51996718.html
を見ながらコスパも考えて
CPU:core-i5
GPU:GTX760
Memory:8G
のものを購入しました。
久しぶりのWindowsでドキドキしたけど何とかOculus含めてセットアップ完了。
DK2のベスト値、75FPSも出るようになりました。
Windows移行でやったこと
Oculus Rift & Arudino製コントローラを動かすまで
- Oculus SDKダウンロード→解凍
- Oculus runtimeダウンロード→インストール
- Oculus接続
- デモアプリ起動(ファームはmacで最新にしてあった)
- Unityダウンロード→インストール
- macにあったUnityプロジェクトをフォルダごと丸っとWindowsにコピー
- Unityプロジェクト実行(Uniduinoが認識されない)
- Arduino IDEインストール→Unidiunoもちゃんと動作した
その他開発環境系
- git for windows
WindowsにおけるGit利用環境は整った: Git for Windows と SourceTree for Windows - 檜山正幸のキマイラ飼育記
- マウススクロールの向きをmacっぽく
余計なアプリケーションを使わずに Windows のホイールスクロール方向を逆にする | blog.daichisakota.com