chaba log2

2016/05/05

unity-chan with cardboard

カテゴリー: ゲーム, 開発 — タグ: , , , , — chaba @ 14:55

uchanvr002
昼間の窓が映り込んだせいで全体が暗くなってますが、unity-chanのVRな勇姿(後ろ姿)です。ようやくちょっと動きました。動作自体は動いてたのですが、どういうわけか操作できなくて難儀してました。Bluetoothゲームパッドを繋いでみるも操作できず、結局BTはBTでもミニキーボードを繋いでみたらそのカーソルキーで無事操作できました。ちゃんとcardboardの両目描画もしてくれてるし、これでようやくゲームができそうな感じに。…まあ実際にリリースするとなるとモバイル端末に無線キーボード必須ってのは敷居が高いですが、要検討ていうか、VRやるってだけで敷居とか今更ですわねえ。
カメラはunity-chanの子として置いて背後を追尾するようにしてるのですが、普通のゲームだと問題ないけどこれだと移動に合わせて背景のほうがぐるぐる動くのでVR的には常に一方向を向くことになってしまいますわね。かといってVRで見渡した方向が必ず進行方向にならないといけないわけでもないし、このあたりの折り合いの付け方もVRのノウハウなんでしょうか。そういえば実際のゲームとして実装したら、開始時プレイヤーが向いている方向をまず正面と見定めて画面内の正面も定める必要もあるのか。ていうかたとえばPCのほうを向いてゲーム始めたら基本そっち向いたままでも問題無い…のか? たとえば戦闘とか探索中とかに後ろを振り返ってこっちにも敵がいる!って攻撃しようとするとき、視点を後ろにしたままで方向転換操作してマイキャラに後ろ向かせて攻撃、なんていう動作で違和感は出ないのか、とか。そのへんはまあ実装実証するしかないですかね。そのために環境を整えたのですし。
ところで今回活躍のキーボード、ちょっと前に買っていたのだけど思ったような活躍ができずに放置してましたが大復活。NEXUS5とほとんど同じぐらいのサイズです。しかもコレ、androidのホーム画面にもマウスカーソルを出して操作できますのね。すげえ。ていうかandroidがそもそもそういう構造なのか。

追記:ずっといわゆる「ヒヨコ本」に従ってサンプルを写経とかしてたのだけど、そのサンプルでも上述のBTキーボード使ってみようとしたらandroidで動かない。もちろん両方とも、PC上ではキーボードで操作できてるのですが。なんでやーと思ってソース見たらどうも入力関数が違うせい? unity-chanのほうは Input.GetAxis なのに対して「ヒヨコ本」サンプルというか公式アセットのほうは CrossPlatformInputManager.GetAxis になってた。後者のほうがいろいろ使えそうだけど結果は逆に。うむむう。…と思って Input.GetAxis に書き換えてみたら動きました。いいのかコレで。しかしそれにしても、プラットフォームを切り替えたりandroid向けにビルドしたりのたびにやたら待たされるのがどうにもストレス。無駄なアセットをいろいろ取り込んだままなのがいかんのでしょうけど。

vrtest001e5908de7a7b0e69caae8a8ade5ae9a

そしてcardboardを入れるとこんな感じで両目画像にはなります。ただ、左上のUI表示(小さく出てる赤文字)が片方にしか出てないんですね。コレ、ボタンとかスコアとかの平面的な表示を出すための専用レイヤーみたいなのがあるのだけど、コレまでは2重にしてくれない模様。ついでに現在の位置だと左上隅すぎて、おそらく視界に入りません。かなり意識しないと見えない感じ。まあ同じモノを左右それぞれの中央付近に2つ出せばいいのかなとは思いますが、位置調整が微妙かもですねえ。無用な立体感で酩酊を呼びかねないかもしれん。

2014/11/03

cardboard とか

カテゴリー: ゲーム, スマートフォン, 開発 — タグ: — chaba @ 03:31

Googleのcardboard、段ボールで作ったケースにスマートフォンをはめ込んで専用アプリを再生することでVR表示を行う、OculusRiftやソニーのMorpheusの簡易版みたいな感じ、らしい。Googleのことなので箱だけじゃなくてSDKも配布してくれてるのだけど、しかしコレ、6月のイベントで発表されていたようなのだけどつい最近まで認識していませんでした。で、いざ認識してみると、コレってわりと端末がお高い感じがしていたVR機器がわりと安価に手元に来るしインディーズ開発がすげえ面白いことになるんじゃねえの!?と数ヶ月遅れて今更ながら興味を惹かれた。
で、いろいろ調べているとこのSDK、わりと煩雑っぽい。と思っていたらDurovisDiveっていう同じようなスマートフォン合体機器があって、こちらは段ボールじゃなくてしっかり作ってあるのでそれだけ値段もするのだけど、こちらも開発ツールが公開されていてしかもUnityのプラグイン。なのでUnityで作ればだいたいそのままVRアプリになるという算段。それで同様のスマートフォンはめ込み系はいろいろ出ているようなのだけど、その中でVR BOXがわりと作りもしっかりしていてお値段も手頃なので注文してみた。なんか注文殺到していたらしくしばし待たされたけど、ようやく届きました。

vrbox

cardboard同様の平面で届くので、組み立てるとこんな感じに。cardboardの場合はPDFをプリントすることで自作できるのだけど、紙本体はともかくレンズが揃わなかった。100円ダイソーにあるルーペでいいらしいのだけど、家から近いダイソーでは見つけられず。
そんなVR BOXで、さっそくdurovisのサイトからアプリを探して、iOS版がある中からThe Houseてのを試してみた。…おお立体だ!ちゃんと動作に視界が追随してくる!と感動したけど、すぐに酔った。体調があまり良くない状態だったのも手伝ってか、あっという間に乗り物酔いの症状に。あまり3D酔いはしないほうだと自覚してるのだけど、そういえばOculusRiftを試したときもわりとすぐ酔ったな… 調子に乗って視界を振り回してると良くないのかもしれない。ジェットコースターみたいな、動きが激しいものほど体にGを感じないけど視界ばかりがぶんぶん動かされるのでひどい酔いに襲われるって話ですね。

初体験はわりとよろしくない印象になってしまったけど、まあお手軽にVR体験できるのは間違いない。それでせっかくだから赤い扉、じゃなくてUnityも試してみようということでこちらのサイトなどを参考にunityにインポートしてみた。そちら同様にunity-chanデモをベースに、カメラだけ入れてみたらそれだけで両目視点になっちゃいました。せっかくなのでandroid設定して出力してみた。

chantest

unity-chan、VRでNexus7に立つ! ちゃんと振り回すと視点が変わるよ! Nexus7なので筐体がでかいからVR BOXには設置できず、しかしそれ以外の手持ち端末でジャイロ持ちが見当たらないという苦しい状況に。iOSだと若干設定が面倒なので… androidはすぐに実機で動かせるのはいいですね。公開も気軽だし。…ジャイロ付きで安い端末ってあったかな。
これでゲームやるには手元にコントローラが欲しいところだけど、今時のunityなら普通にiOS用ゲームパッドが使えるようですね。あーでもコレだとandroid用にはまた別にやらんといかんのですかね。
まだunity自体がおぼつかないので何か作ろうとしてもさっくりとはいかないけど、しかしVRを作るにも遊ぶにも、手軽な環境が手に入ったのは嬉しいところです。
…cardboardとか、と言いつつcardboard自体には全く触れてないところがオチ。

Powered by WordPress