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ではブラウザ側の制限により、タッチするまでは音が鳴らない仕様です。さらに上記のように謎の音ゆがみ現象があったので、なぜこんなことを…というダーティな対応をしています。
備忘録:Arduinoデビューしたある男の記録
ハッ。と、気づくと去年からブログを更新してない。でもなにもやってなかったわけじゃないので、 Twitterからいくつか拾って備忘録にします。
その1はArduinoという電子工作に最適なマイコンボード編。
Arduinoデビューする
P5erもすなるArduinoというものを電子工作弱者もしてみんとてするなり。ということで、「Arduinoをはじめよう 互換キット UNO R3対応互換 基本部品セット20 in 1」を買ってみた。 https://t.co/DGnRHxuVQ0
— n_ryota (@n_ryota) 2015年11月14日
妙な部品がいろいろあったので、Lチカだけよりモチベーション保てるかなと思って。4桁LEDとか、ステッピングモーター、傾きセンサー、赤外線リモコン、etc. ただ、ノープランだけど。
— n_ryota (@n_ryota) 2015年11月14日
(本がまだ届いてないので)ひとまずドットインストールのArduino講座を一式やったところ、物凄く簡単にできてて、感心しました。https://t.co/LmHxaRXcCd
— n_ryota (@n_ryota) 2015年11月14日
LEDを光らせる
ひとまず、Arudinoで明るさにあわせてLEDを光らせてみた。(こういうつなげ方でいいのだろうか…全然理解してない) pic.twitter.com/edJCvFAQbt
— n_ryota (@n_ryota) 2015年11月21日
Arudino買ったので、ひとまず明るさにあわせてLEDを光らせてみた図 https://t.co/MVp87UGzsV
— n_ryota (@n_ryota) 2015年11月21日
Vineの方は分かりやすく暗闇で撮ってみたものです。しかしArduinoはこんな初心者にも優しくてありがたい。
— n_ryota (@n_ryota) 2015年11月21日
何回かArduinoのスペルミスしてるけど、まぁ互換機だからいいか(いや、すみません)
— n_ryota (@n_ryota) 2015年11月21日
サーボモーターで冷蔵庫(のおもちゃ)を開ける
Arduinoでマイクロサーボと光センサーで無意味にレゴの冷蔵庫を開け閉めする図 https://t.co/4xnwMx7eeD
— n_ryota (@n_ryota) 2015年11月23日
この雑すぎる工作を見ればある意味勇気が出るかもしれない。
— n_ryota (@n_ryota) 2015年11月23日
電光掲示板を使う
ArduinoでLCDに電光掲示板っぽく文字を表示する図 https://t.co/6x13P5XwfX
— n_ryota (@n_ryota) 2015年11月24日
残像があってスクロール中に読みづらかったので、いっそのこと高速スクロールさせて停止させる感じに
— n_ryota (@n_ryota) 2015年11月24日
あとLCDのprint命令で文字列表示させても、Webのサンプルと違ってなぜか先頭の1文字しか表示されなかったので、一文字ずつprintするという無駄っぽいことをやって無理やり文章を表示しています…
— n_ryota (@n_ryota) 2015年11月24日
そのあと忙しくなって、まだ他の部品は使ってないけど、楽しいです! ただ「なにを作るか」って発想が、ソフトウェアを作るときと違って、パッと出てこないので、もっと経験値が必要かなぁと思いました。
遠い昔、はるか彼方の銀河系で…3DスペースシューティングをProcessingで作ろう:改造編
毎年恒例、Processingをテーマにした技術系アドベントカレンダー「Processing Advent Calendar 2015」に今年も参加しました。いつもみなさんの記事を読むのを楽しみにしているのですが、自分の記事は土壇場で作るので、毎回結構冷や汗をかいています。
さて、12月のイベントといえばクリスマーーいや、今年は新作が公開されたばかりのスターウォーズでしょう! でも「チケットはあるのに見るのはまだ先」になりそうなこの気持ちは、プログラムにぶつけるしかない!
そんなわけで、今年は(余裕がなかったので)以前作ったスペースシューティングを改造して遊びます。
↑これが今回作る(改造後の)プログラムのスクリーンショットです。
続きを読む車で那須旅行&子連れで那須の秋キャンプってどうなの?
今はもう冬な感じですが、10月初旬頃にコンパクトカーを借りて那須旅行、秋キャンプをしたので、写真でざっくり紹介します。春キャンプも似たような感じかな? 那須やキャンプ、子連れの旅行に興味がある方は、参考までにどうぞ。
家族とキャンプをするにあたって以前キャンプしたコテージ→今回のようなテントと順をおって進めたのは、(気持ちの)慣れとか、道具のそろえ方としてとてもよかったなと思います。
続きを読む