Japan VR Festで登壇&刺激的な話を聞いたり、DCExpoで未来技術を体験した話
10/29 日本科学未来館にVR開発者が集ってしゃべる Japan VR Fest(旧オキュフェス)にお邪魔し、登壇してきました。
この記事では、登壇準備の裏話や、まとめリンク、デジタルコンテンツエキスポの感想などもあわせてメモしておきます。
準備:実験したり、スライドを用意したり
VR Walk & Runはユニティちゃんになって(憑依して)、その場の足ぶみで歩いたり走ったり魔法を使ったりできるゲームです。
憑依する体験について
VR Walkでキャリブレーションしてるときに思ったけど、VRで現実より身長高いキャラになると部屋の入り口で頭かがめないとぶつかるし、子供視点になると同じ場所なのに世界が違ってみえる。自分じゃない誰かの立場を体感できるのは、VRのよいところのひとつだと思う
— n_ryota (@n_ryota) 2016年9月22日
憑依する体験って 、いろんな可能性があると思うんですよね。
VR空間で自分の身体として動くボディを見たいという気持ちは、20年前の体験に遡ります。
たしかバーチャファイター3のロケテを遊びに行った頃、いまから20年前の1996年。JoyPolisで体験したThe Cryptで四方を3D映像に囲まれて、自分の姿がそのまま見えたとき、未来のゲームをたくさん想像して物凄く恋しくなった https://t.co/rcl5p4rwcD
— n_ryota (@n_ryota) 2016年10月27日
NPCのいのち
しかし、それとは別に、NPC(囚われているもうひとりのユニティちゃん)の動きにも生き生きとしたものがだせればな、と思って少し前から実験をしていました。
VRキャラ(NPC)の目線演技実験。ユニティちゃんをじっと見ると、目線をそらしたり、逆に見てる方向を一緒に見てくれたりする。 #unity #vr #oculus pic.twitter.com/Rh6nvfMQgr
— n_ryota (@n_ryota) 2016年10月6日
VRはやればやるほど開拓できる分野がそこら中にあるのが見えてきて面白いですね。フルタイムでやりたい…
— n_ryota (@n_ryota) 2016年10月4日
また、VRのキャラクターでモーション再生っぽさを減らすにはどうしたらいいかなと思い、実際に人を観察して、プログラム生成でゆらぎをいれたらどうかなと実験したのが下記のもの。
続きを読む100人がユニティちゃんになった日 VR Walk & Run、Unity VR EXPO出展記
2016年7月17日Unity VR EXPOというVRコンテツの展示会があったのですが、そこに出展したときのアレコレをTwitterからまとめてみました。VRの開発や展示、イベントに行くひとの参考に多少はなるかも。
イベントのデモリールはこちら。
Unity VR EXPO AKIBA デモリール公開。いろんなコンテンツを体験できそうですね https://t.co/tAtqI5bax3 @YouTube #vr #VREXPO_JP #oculus #vive
— n_ryota (@n_ryota) 2016年7月12日
VR Walk & Runという謎の名称ですが、ユニティちゃんになってVR世界を歩いたり、走ったり、囚われているもうひとりのユニティちゃんを助けたりするコンテンツです。Oculus RiftとLeap Motionを使っています。
※開発時の話を知りたい方は以前の記事へどうぞ。
イベント前日の設営。秋葉原の会場へ
まず機材をどうするかですが、ハンドキャリーしました。
Oculus展示モバイルパッケージ pic.twitter.com/l5AhzEomyF
— n_ryota (@n_ryota) 2016年7月16日
スーツケースに入るようなPCとして最初から考えて買ってたので、なんとか収まってます。
Unity VR EXPOに出展するVR Walk & Run、なんとか準備を終えました。明日うまくいけば、ユニティちゃんになってVR世界を歩けます!#vrexpo_jp #unity #unitychan pic.twitter.com/jhTC0HOe2D
— n_ryota (@n_ryota) 2016年7月16日
HMDつけて足ぶみするのは目隠しして足ぶみするようなもの。自宅では使ってないけど、イベントでは安全のため子供用のボールプールを持っていって、囲いにしました。素足で入れば、足の感覚で位置のズレがわかります。(これはアプリ側でHTC Viveみたいに危険ゾーンに近づいたらHMD側にガイドを表示するのでもよいかも)
機材トラブルも少し。もしかしたらという覚悟はあったのですが、ワイヤレスマウスなどの無線系はこういうところだと調子が悪いので、有線マウス&キーボードを現地調達しました。さすが秋葉原。
あと、LeapMotionが反応しなくてPC再起動で直ったり、現地でオブジェクト追加したり、キャリブレーションで困ったり、素足でも歩きやすくするためマットひいたり…いろいろ調整。
準備については、昔アーケードゲームの展示などを仕事でしてたことあるんですが、個人でVRのイベントに出展するのははじめてだったので、次の記事をかなり参考にさせていただきました。
準備中、自分のことに必死でまわり見る余裕はなかったのですが、CIRCLE of SAVIORSのグリーバック合成映像は遠めにもど迫力でかなり楽しげでした! やってみたい… #vrexpo_jp
— n_ryota (@n_ryota) 2016年7月16日
イベント当日
当日は会場の外でもけっこう並んでる方がいて、開始と同時にたくさんのひとが。
続きを読む7/17 Unity VR EXPO AKIBAにVR Walk & Run出展決定
Oculus Rift CV1(製品版)が届いてすぐ↓のようなことをやっていて
ちょうどよくイベントがあったので応募しつつ、こういうことをやってたりしたのですが…
Oculus Rift+Leap Motion+Unity Chanの足踏みで無限に歩けるやつ、停止時の足位置をHMDの動き方にあわせて左右に動かすようにしてみた。おきゅらすたんも登場!#vr #screenshotsaturday pic.twitter.com/NSYJJJ1TiF
— n_ryota (@n_ryota) 2016年5月29日
鏡がほしいという声にお応えしてみました。でも鏡でアラが目立つ(汗)。表情や目の動きも追加。モデルがたまに消えるのはなぜだろう? #unity3d #leapmotion #oculus #vr #screenshotsaturday pic.twitter.com/3vGEhMxVRm
— n_ryota (@n_ryota) 2016年6月18日
Unityちゃんになって足踏みで無限に歩けるやつ(名前ほしい)、LeapMotionの指認識に対応してみました。#vr #oculus #leapmotion #unity #screenshotsaturday pic.twitter.com/6lB0vPjKO1
— n_ryota (@n_ryota) 2016年6月11日
そうしているうちに、Unity社から連絡があり、出展が決まりました! (ブログでは告知してなかったのでいまさら告知)
※でも商用コンテンツ扱いになりそうだったので、今回おきゅらすたんは登場しません。無念。
※今回はハロウィンコスチュームのUnityちゃんになれます。
Unity VR EXPO AKIBAに出展決まりました。Unityちゃんになって歩き回る体験をしてみたい方はぜひ! https://t.co/RrGhqvHe1H #vrexpo_jp #unitychan #oculus https://t.co/CTzN7wumdi
— n_ryota (@n_ryota) 2016年6月24日
でも、応募時点でよい名前を思いつかなくて、なし崩し的にVR Walk & Runのまま行くことにしましたよ。
いやぁ、検索しづらいですよね、これ。(その後、ありがたいことに名前を提案してくださった方もいて、それも踏まえて別名考えようと思っていたら、それよりいろいろ開発しないと出せないぞ、となって、そのまま)
Unity VR EXPO AKIBA デモリール公開。いろんなコンテンツを体験できそうですね https://t.co/tAtqI5bax3 @YouTube #vr #VREXPO_JP #oculus #vive
— n_ryota (@n_ryota) 2016年7月12日
というわけで、VR Walk & Run、コンテンツDLカードにも収録するので、体験を持ち帰れます。※LeapMotionがあると手と指も認識 https://t.co/XdGPLnqMOl
— n_ryota (@n_ryota) 2016年7月12日
当日はこのコンテンツ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 Ready PC https://t.co/iq30m9gZHb 2万円引きでも、G-Tuneデスクトップ https://t.co/5HTJbCJEV2 やGALLERIA https://t.co/q83uJ4kjw4 がCPU上位で同価格帯?
— n_ryota (@n_ryota) 2016年4月29日
Oculus、LITTLE GEARあたりが調度よい感じ? https://t.co/GpOO12xRza
— n_ryota (@n_ryota) 2016年4月29日
G-GEAR mini GI7J-C64/Tでケースにファン追加して、GTX970、メモリ16GB、240GB SSD、2TB HDDにカスタムすると税込15万弱くらい。高望みしすぎないなら、このあたりかな。https://t.co/2zhRlZ9okv
— n_ryota (@n_ryota) 2016年5月2日
新しいPC(G-GEAR mini)が届いた! けどモニタを画用紙で代用する図。(別送のケーブルが届くまでは…) https://t.co/7W47mD4yzg
— n_ryota (@n_ryota) 2016年5月10日
Oculus ナマモノ 届く
Oculus Riftとの出会い。今日午前中届いたみたいです(プリオーダー11分) 嬉しい https://t.co/Ldsss1bkQo
— n_ryota (@n_ryota) 2016年5月12日
Oculus Rift、たのしい。EVEは酔いそうになってあわててやめたけど。
— n_ryota (@n_ryota) 2016年5月12日
Oculus Storeにあるデモは無料のものもクオリティが高く、Oculus DREAM DECKやIntroduction to Virtual Reality、Hennryなど短時間で操作の必要もなく世界を感じさせるデモがいくつもあります。(ゲームはSteamで買う方が安くてお得ですが! Oculusさんガンバッテ…)
第二話:自キャラを出したい
VRのデモやゲーム、楽しいのですが、自分が透明人間なコンテンツが多く、昔自分が感じた「ゲームの世界に自分がいる」という感じをもっと味わいたくなりました。で、自作してみることに。
VR、自キャラが出た方が嬉しいのでOculus Rift + Unity Chan + Leap Motionで遊ぶ実験。Oculus Touch早くほしい https://t.co/ipggBJ0boi
— n_ryota (@n_ryota) 2016年5月14日
Leap MotionというデバイスをHMDに取り付けて手の動きを認識するように。
でも物理デバイスの反応の良さには及ばないのとトラッキング範囲が狭いので、早くOculus Touchほしいです。
HTC Viveにはモーションコントローラーが付属しているので最高です。うらやましい。(両方体験しましたが、Viveは何かを持つ感覚、Touchの方は軽くてどちらかというと素手な感じで、それぞれよくできています)
HMD自体はViveはメガネを入れやすく、OculusはViveに比べてケーブルが軽いのと、ヘッドホンがくっついているのがよいです。
新しい自分を発見(違 https://t.co/2M4wIhKey0
— n_ryota (@n_ryota) 2016年5月15日
自分の体がユニティちゃんになっているのは不思議な感覚です。
Oculus Rift + Leapmotion + Unity Chanで遊ぶ図。夜中になにをしているのか…。Windows 10の標準機能でキャプチャしてみたけど、難しいなぁ。Riftかぶると本当はもっと広く見えてる #vr pic.twitter.com/rBXHmrTjw0
— n_ryota (@n_ryota) 2016年5月15日
第三話:その世界を歩きたい
VRでの移動は酔いやすいので、等速で動かすとか、行先示してテレポーテーションするなど、いろんな方式が提案されているのですが、そうすると酔わないけど現実と違う違和感が強くて、モニターで遊ぶゲームの方が移動がリアルに感じたりしました。
まぁ現実にテレポーテーションして移動できれば最高なので、脳が現実に縛られすぎているわけでもありますが!
一方、HTC Viveでルームスケールで歩く体験は没入感があって、Sisterのデモなんか部屋にいてそこを歩いている感がとてもよかったです。
でも部屋以上の世界にも行きたい。結局、ルームスケールで動ける範囲は広くはなく、現実の壁がVR世界を邪魔することになります。狭い部屋から広大な世界に行きたいのに、なぜ現実が邪魔するのですか! うぅ。
そんなわけでその場足踏みで無限に移動できる方式を試してみようと思いました。
続きを読むいつかまた行きたい。沖縄のファミリー向けリゾートの記録
沖縄のリゾートでのバカンス。いい響きですね。でも10年以上前に旅行したあとには、なかなか沖縄に再訪できず、今回、子供が小学校入学前の旅行ということで、(多少無理しつつ)沖縄に行ってきました。
これは今回はじめて泊まったホテルの部屋から見た景色。子連れで訪れたスポットや遊んだマリンプログラムなどを紹介しつつ、安価な広角アクションカメラの軽いレビューも書きます。時期は3月末ごろです。
続きを読む備忘録:よく知りもしないJavaScriptでライブラリとか作る男の記録
ハッ。と、気づくと去年からブログを更新してない。でもなにもやってなかったわけじゃないので、 Twitterからいくつか拾って備忘録にします。
その2はJavaScript編。
Webでビジュアルプログラミング体験。まほうのハコ
ビジュアルプログラミングとテキストを使った通常のプログラミングの橋渡し的なものがあればと思って、手を出してみました。
試しに作ってみてます。
— n_ryota (@n_ryota) 2016年2月5日
プログラミングをたいけんする「まほうのハコ - P5 Visual Editor - (alpha)」https://t.co/9vBA6GgkEU#p5js #processing #プログラミング
ひらがなだけじゃなくて、わざとコードも載せて、コードを覚えるきっかけ、橋渡しになればいいなと思ったり。https://t.co/9vBA6GgkEU #p5js pic.twitter.com/jZ37Fukj0P
— n_ryota (@n_ryota) 2016年2月5日
mameblock.jsとp5.jsを使って作っています。
まだα版です。
Processing.jsを高速化
最近WebでProcessingといえばp5.jsなことも多いですが、ProcessingのJava的なコードをクラスなどもそのまま動かすならProcessing.jsの方がかなり楽です。ただtint()を使うとかなり遅いです。どのくらい遅いかというとこのくらいです。
それを高速化したのがprocessing.fast.jsです。どのくらい高速化したかというとこのくらいです。
processing.jsのtint()を一定条件のとき高速化したり、blendMode()足したりしたprocessing.fast.jsをGitHubに。https://t.co/37qNUAww1l pic.twitter.com/jeKNDbWSgE
— n_ryota (@n_ryota) 2016年3月4日
fastといっても他のグラフィックス系のJavaScriptライブラリと比べて速いわけじゃないですが、透明度だけ変えるtint()とか、ある画像の色を変えて次回も同じ色を使うときなどは速くなってます。
もともとは以前、パフォーマンス計測でProcessing.jsが異常なレベルで不憫な成績だったのを見かねて高速化したのですが、
それをベースに、色替えしたときもキャッシュしたり、ついでにblendMode()を足したり、スマホ向けにorientation()を足したりもしました。
ベースにしたProcessing.jsは1.4.1です。1.4.3あたりからスマホでのマウス(タッチ)の動作がうまくとれない感じがするので、仕方なく。
WebAudioでMinimっぽく音を再生
Processing 3は公式っぽいSoundのライブラリがあるのですが、使おうとしたらエラーになる時期が続いていた(最新版では治ってるかも?)ので、いまのところMinimを使っています。
で、Minimでplay()とかtrigger()とか使って再生するようなシンプルなプログラムをWebで動かすとき用にp.minim.jsというライブラリを作りました。いまのところ基本的な再生とか位置取得ぐらいの単純機能のみです。
ブラウザでminimのplay()やtrigger()的に音を再生できるp.minim.jsを作ってみた。
— n_ryota (@n_ryota) 2016年3月7日
GitHub https://t.co/X2r9JyjyHJ
サンプル https://t.co/Ryf3zIteQp
WebAudioを使ってます。 #HTML5
p.minim.jsサンプルを修正。iOS / Androidでも動くはず。https://t.co/Ryf3zIteQp
— n_ryota (@n_ryota) 2016年3月8日
(タッチの反応が変なので、一緒に使っていたprocessing.jsを1.4.1にダウングレード) pic.twitter.com/DhYMnpv5UE
WebAudioがiOSで音が歪む(リロードすると正しくなる)現象があったので、こちら(https://t.co/5wSBxiMVSc)を参考に対処してみました。 p.minim.js サンプル→ https://t.co/Ryf3zIteQp
— n_ryota (@n_ryota) 2016年3月13日
iOSではブラウザ側の制限により、タッチするまでは音が鳴らない仕様です。さらに上記のように謎の音ゆがみ現象があったので、なぜこんなことを…というダーティな対応をしています。