遊んで航海記

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

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

備忘録:Arduinoデビューしたある男の記録

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

その1はArduinoという電子工作に最適なマイコンボード編。

Arduinoデビューする

LEDを光らせる

サーボモーターで冷蔵庫(のおもちゃ)を開ける

電光掲示板を使う

そのあと忙しくなって、まだ他の部品は使ってないけど、楽しいです! ただ「なにを作るか」って発想が、ソフトウェアを作るときと違って、パッと出てこないので、もっと経験値が必要かなぁと思いました。

遠い昔、はるか彼方の銀河系で…3DスペースシューティングをProcessingで作ろう:改造編

毎年恒例、Processingをテーマにした技術系アドベントカレンダーProcessing Advent Calendar 2015」に今年も参加しました。いつもみなさんの記事を読むのを楽しみにしているのですが、自分の記事は土壇場で作るので、毎回結構冷や汗をかいています。

さて、12月のイベントといえばクリスマーーいや、今年は新作が公開されたばかりのスターウォーズでしょう! でも「チケットはあるのに見るのはまだ先」になりそうなこの気持ちは、プログラムにぶつけるしかない!

そんなわけで、今年は(余裕がなかったので)以前作ったスペースシューティングを改造して遊びます。

f:id:n_ryota:20151217230200p:plain

↑これが今回作る(改造後の)プログラムのスクリーンショットです。

続きを読む

車で那須旅行&子連れで那須の秋キャンプってどうなの?

今はもう冬な感じですが、10月初旬頃にコンパクトカーを借りて那須旅行、秋キャンプをしたので、写真でざっくり紹介します。春キャンプも似たような感じかな? 那須やキャンプ、子連れの旅行に興味がある方は、参考までにどうぞ。

f:id:n_ryota:20151129223948j:plain

家族とキャンプをするにあたって以前キャンプしたコテージ→今回のようなテントと順をおって進めたのは、(気持ちの)慣れとか、道具のそろえ方としてとてもよかったなと思います。

続きを読む