遊んで航海記

思いつきで遊んだり、ゲームを作ったり、寝たり

Japan VR Festで登壇&刺激的な話を聞いたり、DCExpoで未来技術を体験した話

10/29 日本科学未来館にVR開発者が集ってしゃべる Japan VR Fest(旧オキュフェス)にお邪魔し、登壇してきました。

f:id:n_ryota:20161103022225p:plain

この記事では、登壇準備の裏話や、まとめリンク、デジタルコンテンツエキスポの感想などもあわせてメモしておきます。

準備:実験したり、スライドを用意したり

VR Walk & Runはユニティちゃんになって(憑依して)、その場の足ぶみで歩いたり走ったり魔法を使ったりできるゲームです。

憑依する体験について

憑依する体験って 、いろんな可能性があると思うんですよね。

VR空間で自分の身体として動くボディを見たいという気持ちは、20年前の体験に遡ります。

NPCのいのち

しかし、それとは別に、NPC(囚われているもうひとりのユニティちゃん)の動きにも生き生きとしたものがだせればな、と思って少し前から実験をしていました。

また、VRのキャラクターでモーション再生っぽさを減らすにはどうしたらいいかなと思い、実際に人を観察して、プログラム生成でゆらぎをいれたらどうかなと実験したのが下記のもの。

続きを読む

100人がユニティちゃんになった日 VR Walk & Run、Unity VR EXPO出展記

2016年7月17日Unity VR EXPOというVRコンテツの展示会があったのですが、そこに出展したときのアレコレをTwitterからまとめてみました。VRの開発や展示、イベントに行くひとの参考に多少はなるかも。

events.unity3d.jp

イベントのデモリールはこちら。

VR Walk & Runという謎の名称ですが、ユニティちゃんになってVR世界を歩いたり、走ったり、囚われているもうひとりのユニティちゃんを助けたりするコンテンツです。Oculus RiftLeap Motionを使っています。

f:id:n_ryota:20160930005358j:plain

※開発時の話を知りたい方は以前の記事へどうぞ。

eyln.hatenablog.com

イベント前日の設営。秋葉原の会場へ

まず機材をどうするかですが、ハンドキャリーしました。

スーツケースに入るようなPCとして最初から考えて買ってたので、なんとか収まってます。

HMDつけて足ぶみするのは目隠しして足ぶみするようなもの。自宅では使ってないけど、イベントでは安全のため子供用のボールプールを持っていって、囲いにしました。素足で入れば、足の感覚で位置のズレがわかります。(これはアプリ側でHTC Viveみたいに危険ゾーンに近づいたらHMD側にガイドを表示するのでもよいかも)

機材トラブルも少し。もしかしたらという覚悟はあったのですが、ワイヤレスマウスなどの無線系はこういうところだと調子が悪いので、有線マウス&キーボードを現地調達しました。さすが秋葉原

あと、LeapMotionが反応しなくてPC再起動で直ったり、現地でオブジェクト追加したり、キャリブレーションで困ったり、素足でも歩きやすくするためマットひいたり…いろいろ調整。

準備については、昔アーケードゲームの展示などを仕事でしてたことあるんですが、個人でVRのイベントに出展するのははじめてだったので、次の記事をかなり参考にさせていただきました。

qiita.com

イベント当日

当日は会場の外でもけっこう並んでる方がいて、開始と同時にたくさんのひとが。

続きを読む

7/17 Unity VR EXPO AKIBAにVR Walk & Run出展決定

Oculus Rift CV1(製品版)が届いてすぐ↓のようなことをやっていて

eyln.hatenablog.com

ちょうどよくイベントがあったので応募しつつ、こういうことをやってたりしたのですが…

そうしているうちに、Unity社から連絡があり、出展が決まりました! (ブログでは告知してなかったのでいまさら告知)

※でも商用コンテンツ扱いになりそうだったので、今回おきゅらすたんは登場しません。無念。

※今回はハロウィンコスチュームのUnityちゃんになれます。

でも、応募時点でよい名前を思いつかなくて、なし崩し的にVR Walk & Runのまま行くことにしましたよ。

いやぁ、検索しづらいですよね、これ。(その後、ありがたいことに名前を提案してくださった方もいて、それも踏まえて別名考えようと思っていたら、それよりいろいろ開発しないと出せないぞ、となって、そのまま)

当日はこのコンテンツDLカードのもの(7/11 Ver)をよりも少し発展したバージョンを展示予定です。(コンテンツDLカードの方も差し替えできるようなら差し替えするかも)

Oculus Rift CV1との出会いからユニティちゃんになるまでの記録

第一話:VR機材、高いけどしょうがない

ヘッドマウントディスプレイを頭につけて「3D世界にいる」ように感じるVR、2012年Oculus RiftがE3やKickstarterに登場して以来どんどん開発が進み、今年はVR元年なんて言われるほど盛り上がってきました。この○○元年は、電子書籍とか3Dテレビとか思い出すと嫌な予感がしなくもないですが、まぁ、楽しければいいんです。

子供のころからパビリオンの3D体験などが好きで、ジョイポリスのクリプトではModel2基盤とプロジェクターを使いつつ3D世界に入る体験をして、未来を知って「これだ」と思ったものです。そして、PS2はVRかなと期待し、PS3こそVRかなと期待し、そしてPS4やっとついにVRですよ。

で、VRはOculusのDK1、DK2など体験はしていたのですが、購入するのは今回初めてです。

VR機材、高いけどしょうがない。だって別の場所、世界に行けるんですよ?

VR Ready PCを探せ

VRはハイスペックのマシンとくにGPU性能が必要なので、普段使っているiMacだと無理。ということで少し小型のWindows PCで条件があいそうなものを探してみます。

Oculus ナマモノ 届く

Oculus Storeにあるデモは無料のものもクオリティが高く、Oculus DREAM DECKやIntroduction to Virtual Reality、Hennryなど短時間で操作の必要もなく世界を感じさせるデモがいくつもあります。(ゲームはSteamで買う方が安くてお得ですが! Oculusさんガンバッテ…)

第二話:自キャラを出したい

VRのデモやゲーム、楽しいのですが、自分が透明人間なコンテンツが多く、昔自分が感じた「ゲームの世界に自分がいる」という感じをもっと味わいたくなりました。で、自作してみることに。

Leap MotionというデバイスHMDに取り付けて手の動きを認識するように。

[asin:B00BT82WUI:detail]

でも物理デバイスの反応の良さには及ばないのとトラッキング範囲が狭いので、早くOculus Touchほしいです。

HTC Viveにはモーションコントローラーが付属しているので最高です。うらやましい。(両方体験しましたが、Viveは何かを持つ感覚、Touchの方は軽くてどちらかというと素手な感じで、それぞれよくできています)

HMD自体はViveはメガネを入れやすく、OculusはViveに比べてケーブルが軽いのと、ヘッドホンがくっついているのがよいです。

自分の体がユニティちゃんになっているのは不思議な感覚です。

第三話:その世界を歩きたい

VRでの移動は酔いやすいので、等速で動かすとか、行先示してテレポーテーションするなど、いろんな方式が提案されているのですが、そうすると酔わないけど現実と違う違和感が強くて、モニターで遊ぶゲームの方が移動がリアルに感じたりしました。

まぁ現実にテレポーテーションして移動できれば最高なので、脳が現実に縛られすぎているわけでもありますが!

一方、HTC Viveでルームスケールで歩く体験は没入感があって、Sisterのデモなんか部屋にいてそこを歩いている感がとてもよかったです。

でも部屋以上の世界にも行きたい。結局、ルームスケールで動ける範囲は広くはなく、現実の壁がVR世界を邪魔することになります。狭い部屋から広大な世界に行きたいのに、なぜ現実が邪魔するのですか! うぅ。

そんなわけでその場足踏みで無限に移動できる方式を試してみようと思いました。

続きを読む

いつかまた行きたい。沖縄のファミリー向けリゾートの記録

沖縄のリゾートでのバカンス。いい響きですね。でも10年以上前に旅行したあとには、なかなか沖縄に再訪できず、今回、子供が小学校入学前の旅行ということで、(多少無理しつつ)沖縄に行ってきました。

f:id:n_ryota:20160412110406j:plain

これは今回はじめて泊まったホテルの部屋から見た景色。子連れで訪れたスポットや遊んだマリンプログラムなどを紹介しつつ、安価な広角アクションカメラの軽いレビューも書きます。時期は3月末ごろです。

続きを読む

備忘録:よく知りもしないJavaScriptでライブラリとか作る男の記録

ハッ。と、気づくと去年からブログを更新してない。でもなにもやってなかったわけじゃないので、 Twitterからいくつか拾って備忘録にします。

その2はJavaScript編。

Webでビジュアルプログラミング体験。まほうのハコ

ビジュアルプログラミングとテキストを使った通常のプログラミングの橋渡し的なものがあればと思って、手を出してみました。

mameblock.jsp5.jsを使って作っています。

まだα版です。

Processing.jsを高速化

最近WebでProcessingといえばp5.jsなことも多いですが、ProcessingのJava的なコードをクラスなどもそのまま動かすならProcessing.jsの方がかなり楽です。ただtint()を使うとかなり遅いです。どのくらい遅いかというとこのくらいです。

それを高速化したのがprocessing.fast.jsです。どのくらい高速化したかというとこのくらいです。

fastといっても他のグラフィックス系のJavaScriptライブラリと比べて速いわけじゃないですが、透明度だけ変えるtint()とか、ある画像の色を変えて次回も同じ色を使うときなどは速くなってます。

もともとは以前、パフォーマンス計測でProcessing.jsが異常なレベルで不憫な成績だったのを見かねて高速化したのですが、

ics.media

それをベースに、色替えしたときもキャッシュしたり、ついでにblendMode()を足したり、スマホ向けにorientation()を足したりもしました。

ベースにしたProcessing.jsは1.4.1です。1.4.3あたりからスマホでのマウス(タッチ)の動作がうまくとれない感じがするので、仕方なく。

WebAudioでMinimっぽく音を再生

Processing 3は公式っぽいSoundのライブラリがあるのですが、使おうとしたらエラーになる時期が続いていた(最新版では治ってるかも?)ので、いまのところMinimを使っています。

で、Minimでplay()とかtrigger()とか使って再生するようなシンプルなプログラムをWebで動かすとき用にp.minim.jsというライブラリを作りました。いまのところ基本的な再生とか位置取得ぐらいの単純機能のみです。

iOSではブラウザ側の制限により、タッチするまでは音が鳴らない仕様です。さらに上記のように謎の音ゆがみ現象があったので、なぜこんなことを…というダーティな対応をしています。