OculusでPS3コントローラのSIXAXISと振動機能を使う方法
この記事はOculus Rift Advent Calendar 2014の2日目です。
■1日目の記事その1
野生の男さん「Oculus Rift x LEAP Motion x JOBA x Wiiリモコンでドラゴンに乗ってみた」
■1日目の記事その2:
@hiroyuki_honさん「ニート・無職のためのOculus Riftを用いて就職する方法」
■今日のもう1つの記事:
@dvorakさん「Oculus Rift DK2初期不良と接続の戦記 - 銀の弾丸、はじめました」
※その他の記事へはカレンダーのリンクからどうぞ。Oculusはさすがに旬の技術だけあってAdvent Calendarが2本立ってます、すげー。
こんにちは、OculusRift界隈で遊び回っている まっつん◆SW1/SWF8io(@n_mattun)です。直近では先月末のOculusGameJamにて友人の@faultierと「どうやら軍人らしい人が何らかの力により手から焔を出して全てを燃やし尽くす」ゲームを作ったりもしました。
さて、今回はそっちではなく別の拙作品、OculusRiftを駆使したロケットベルト体験ゲーム『飛べると!』*1で、PS3コントローラをどうやって設定をしたのかという部分を、ゲームのコンセプトも交えて具体的に解説していきます。ゲームの全体像をザっと確認したい方は、先に紹介動画をご覧ください。
PS3コントローラにたどりついた経緯
今回自分で定めたコンセプトは「空を自由に飛びまわる」でした。
最初はアヌビスが超高速で飛ぶときに二の腕に仕込んでる(?)加速装置から出力を得て飛ぶようなイメージで、wiiリモコンプラス二刀流で翼を広げるような腕の動きと、手首のひねりで行きたい方向に進むというモノを考えたのですが、その操作方法だとアヌビスのような『鳥のように体を前に傾ける操作』をする必然性がないので、ちょっと体験ゲームとしての面白みに欠けます。
そこで発想を「ユーザーの体を強制的に傾かせるにはどうすればいいか?」という逆からのアプローチにして、
ユーザーの体を強制的に傾かせるにはどうすればいいか?
↓
体の傾きを操作方法に取り入れればいい
↓
じゃあモーションセンサーを物理的に背負わせてしまえばいい
↓
モーションセンサーを背負っても納得できるモチーフは何だろう?
↓
ロケットベルトだ!
という思考順序でゲームデザインの基本方針が決定しました。アヌビスどこいったw
またここには「ユーザ自身が意識的に行きたい方向に体を動かして、そっちにVR上の画面もついてくる」という操作系の方がVR酔いがしにくいのではという読みも含んでいます、「運転者は助手席や後部差席に比べて車酔いしにくい理論」に沿う形ですね。
続いて、wiiリモコンを背中に背負わせるというアプローチで調査も進めていたのですが、どうもPCやUnityでのwiiリモコンの制御方法に様々な方法論があり、またそれらの技術ブログを見る限りなんだか苦戦の匂いが漂っていたので、他の取得方法はないだろうか・・と思っていたところ、PS3コントローラに誰も見向きもしなかったSIXAXISというモーションセンサーがあったことを思い出しました。用途も前後と左右の傾きを取得する想定っぽかったので、かなりいいソリューションでした。
PCでPS3コントローラ(SIXAXIS)を使えるドライバ探し
※注 ここから下の説明はすべてWindows7上(+Unity 4.5.5 C#環境)での導入実績になります
(Win8はなんとかなるかもしれないけど、Macは無理じゃないかなぁ・・・)
続いてはSIXAXISも検知してくれるPS3コントローラのドライバ探しです。
ググってみるといちばん使われているのは「MotionJoy」というソフトで、ひとまずOculus+Unity側での実装は抜きでPC上でテストしてみるとBluetooth接続もサポートし、振動機能もサポートしてて、SIXAXISの傾き検知も対応している風でした。しかし
- MotionJoyの画面UIが使いにくい
- 他のBT接続機器との相性がよろしくない
- アンインストールしてもBTドライバを差すとソフトが復活する(!)
というやたら怪しい挙動をするソフトだったので、別のソフトは無いものかと探しまくった*2ところ、これらのMotionJoyの謎挙動にキレた人が作ったらしい『Better DS3』というソフトにたどり着きました。
■Better DS3
http://betterds3.ciebiera.net/
※注:ソフト単体だけでは動いてくれないので、以下の解説動画からDLLも合わせて入手しましょう。
解説動画(Youtubeリンク先にBetter DS3内で使うDllファイル単体のダウンロードリンク付き)
このソフトならUIもとても見やすく、Bluetooth、振動、SIXAXIS、キーコンフィグとすべて問題なく動いてくれました。
ゲームパッドの入力形式は実は2通りある
コントローラ周りの情報を探しているうちに、実はゲームパッドの入力形式には『DirectInput形式』と『XInput形式』の2つの入力方法が存在することを知りました。
DirectInput形式は、一般的なUSB接続のゲームパッド等で使われている入力形式で、Unity のメニュー[Edit]-[Project Settings]-[Input]のインスペクタパネルから、入力ボタンと機能のマッピングができます。
Xinput形式は、XBOXコントローラの入力に特化した形式で、Microsoftが提供する公式のドライバを導入することによって利用可能になります。Unity・・というよりもOculusでは、OVR/Scripts/Util内OVRGamepadController.csでこの入力を常時監視していて(SDKバージョン0.4.3.1の場合)、XBOXコントローラの入力が使えるPCの場合、OVRPlayerController.csの後半あたりでこのクラス経由で各キーの入力情報を見て、操作を割り当てています。
振動も使いたい
せっかくロケットベルトにあたるものを物理的に背負ってもらっているので、
「背中にエンジンの『振動』が伝わる」
という機能も提供したい所です。正直この機能に関しては調べてる最中に面倒くさくなってやめようかなーという気になったのですが、PS3コントローラを入れたカメラバッグを背負って振動だけのテストをしてみたところものすごいロケットベルト感があったので「これは絶対に導入すべき!」と気が変わり、がんばって調べ込みました。
振動機能自体はメジャーな技術なのでどうにかしてる人はいるだろうと探し回っていたのですが、少なくともPS3コントローラの振動機能をUnity上でそのまま使っている情報にはたどり着けませんでした。その代わり、XBOXコントローラ(XInput形式)を使った振動機能のライブラリ「XInputDotNet」を見つけました。
それと前述の通り、XInput形式の入力を受け取るにはドライバも必要になるので、合わせて以下のMicrosoft公式サイトからダウンロード+インストール。
ソフトウェアのダウンロード:Xbox 360 Controller for Windows
あとはPS3コントローラがXInput形式の入出力を受け取れば良くて、幸いにもBetter DS3はDirectInput形式、Xinput形式の入力切り替え機能までもサポートしていたので、これで全て整いました。
本題の「SIXAXISと振動を使う」の手順まとめ
- PCにBetter DS3をインストールする
- Better DS3の解説動画を見て、Better DS3内で使うDLLファイルを入れる
- PCにXInput入力形式のドライバを入れる
- Better DS3上の入出力形式でXInputを選択し、SIXAXISの入力を他のキーにマッピングする
- XInputDotNetPureを使い、XInput形式としてBetter DS3経由でPS3コントローラに入力信号を伝え、振動させる。
こちらは現バージョンの『飛べると!』でのBetter DS3上のキーマッピング。SIXAXISを右スティックの入力に割り当てて、他はブランクというなんとも漢らしい設定w ソフトを外に公開する際には普通にコントローラを持った形もサポートさせるために、もっと普通のキーマッピングにする予定です。
PS3コントローラ以外で取得した、最後の1軸
SIXAXISで取得できるのは「体の前後の傾き」と「体の左右の傾き」の合計2軸までしか取得できません。せっかく体の操作で2軸までコントロールしているので、「体の左右の回転」となるY軸もなんとかモーション的な操作方法で取得できないか・・・と思案した結果、こうなりました。
今日衝撃的だったのは、まっつんさん .@n_mattun のこれ。マウスを使って椅子の回転を検知してる…… #OcuFes pic.twitter.com/p3XJeQQ25E
— こりん (@k0rin) 2014, 10月 25
最終的に、手元で操作する本来のゲームコントローラは「wiiのヌンチャク*3のボタン1コだけ(ジェット噴射)」というものすごいエコな操作方法になりましたw
これなら将来的にゲームを拡張しよう!となった場合もキー割り当てに苦労しません。それこそ地球防衛軍4のウィングダイバーみたいに「飛び回りながら武器を切り替えて攻撃する」という操作も簡単にできるだろうし、なんならフェンサーの二刀流も組み合わせて、従来のFPSでは実現不可能だった『照準を二箇所にして左右別々に乱射しまくる』ということもやろうと思えば実現できるでしょう。
っていうかそこまでいくと自分で作るよりもオフィシャルで作って欲しいので、D3パブリッシャーは地球防衛軍4.1をProject Morpheusにフル対応してこの願いを叶えてください。もしやってくれたらPS4+モーフィアス+Move二刀流ですげぇ高くつくけど全部まとめて買うから!!斬撃のレギンレイヴの次回作もやりたいけどその次まで我慢するからさぁ!
明日(12/03)は、@blkcatmanさんの「Unityから全球画像をつくるしくみ」と、@soyliquidさんの「OculusRift対応メタバース的なものをつくるかも」の予定です。
*1:正式名称決めました。仮名の「Flying Booster 2」も10年前に作ったFlashゲームの続編というタイトルの位置付けという愛着があるので、英語圏でリリースする時はこっちを引き続き使うかもw
*2:参考にしまくった記事
新生FF14 PlayStaion Move ナビゲーションコントローラーでプレイ XInput wrapper for ds3 編 - cartesiaの日記
Xbox360 コントローラーや DUALSHOCK 3 を PC で使うために非公式ドライバやツール、設定に関するネット情報を集めてみました 【 awgs Foundry 】
*3:ヌンチャクの接続はこれを使いました
ELECOM ゲームパッドコンバータ USB接続 Wiiクラシックコントローラ対応 2ポート ホワイト JC-W02UWH
- 出版社/メーカー: エレコム
- 発売日: 2013/02/16
- メディア: Personal Computers
- この商品を含むブログを見る
win環境にmarkdown→ReVIEW→TeX→pdf出力環境を入れる(なんとかできた)
表題のことをやっていきまーす。
1.Ruby実行環境のインストール
RweVIEWはRuby上で動かすものらしいので、何はともあれRubyをインストール。
http://rubyinstaller.org/downloads/
ここから自分のWindows環境に応じたインストーラをダウンロード&インストール。(筆者の環境では『Ruby 2.0.0-p594 (x64)』を選択)
2.ReVIEW実行環境のインストール
Rubyのインストールが完了すると、スタートボタンから新規追加されたRubyのフォルダがあるので、そこから「Ruby コマンドプロンプトを開く」を選んで、Rubyのコマンドプロンプトを起動。んでそこで
gem install review
を実行すると、ReVIEWがインストールされる。
※gem・・・Ruby環境下で動くライブラリやらソフトやらパッケージやらを差す単語。
3.md2reviewを入れるためにDevKitをインストール
markdown書式のテキストファイルをReVIEW書式に変換するgem『md2review』をRubyにインストールするには、RubyのDevKitなるものが必要になるので、インストールします。さっきのRubyインストーラが置いてあったアドレスと同じ
http://rubyinstaller.org/downloads/
ここの下のほうから自分のWindows環境に応じたインストーラをダウンロード。(筆者の環境では『DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe』を選択)
ダウンロード完了後、Rubyコマンドプロンプトを開き、以下のサイトの手順に従ってDevKitをインストール。
※なお、筆者の環境だとinitを実行してもconfig.ymlにパスが記載されなかったので、手作業でインストール先のパスとなる
- C:/Ruby21-x64
を入力してinstallしました。
4.md2reviewをインストール
gem install md2review
を実行すると、md2reviewがインストールされる。
今回の記事は主に以下のサイトの手順を中心に構築しました。
Markdown記法+Git+md2review+ReVIEWで原稿・ドキュメント管理 - プログラマになりたい
ReVIEWについてはここが頭から最後まで解説してて読みやすいです。
書籍制作ワークフロー | シリーズ | Developers.IO
5.markdown書式からReVIEW書式に変換する
markdown書式からReVIEW書式への変換は、Rubyコマンドプロンプト上で
review-compile --target latex sample.re > sample.tex
でOKです。
6.ReVIEWからTeXを出力し、それを元にPDFを出力する
PDFを出力するにはTeX環境のインストールが必要らしい。
まず、ReVIEWからTex書式のテキストファイルを出力するには、Rubyコマンドプロンプト上で
review-compile --target latex sample.re > sample.tex
でOKです。
んで、本来はRubyからスマートにTex→pdf書き出しができるでのが理想だけども、参考ページがどこもMacをベースにしたものばかりで、尚且つRuby上にさらにインストールしなければならないgemが複数あるようで、Ruby周りの情報をほとんどカジったことのない筆者には正直言って良くわかりませんw
ので、ここはさっくりとTex周り一式をセットでインストールしてくれる『TeXインストーラ』を活用します。
インストール手順は下記を参考に。
TeX入門: TeXの出力環境を作成する。(その1、Windows版): hichonのBlog
で、TeXインストーラにはTeX書式のテキストをそのままPDFに出力してくれる「TeXWorks」というエディタがあるので、先ほどのファイルをエディタ上にコピペして出力ボタンを押せば、晴れてPDFファイルの出来上がりです。
最後に
ホントは「Rakeを利用した電子書籍ビルドの自動化 - Fuzoku実践入門ブログ」のように、複数の手順をまとめて行ってくれる自動化ツール(最近はこーいうのを「タスクランナー」っていうんだっけ?)をしっかり組んであげて、複数のmarkdownファイルを超スマートに一括で自動的にPDF出力!とまでできればいいんでしょうけども、Rubyに不慣れな筆者ではそこまでガッツリやるのは正直厳しい感じでした。
今回の個人的な案件ではmarkdownのプレビュー環境が用意できて、そこからReVIEW書式のテキストが書き出すことまでができればまぁ問題はない所だったので、このあたりで筆を置いておきます。
っていうかReVIEWっていう名前、ググラビリティが低すぎて正直どうかと思うなぁw どっかのタイミングで絶対に名前を変えた方がいいと思う。
第三者へのOculusコンテンツ展示、デモでやったことメモ
Oculus Rift(以下Oculusと表記)がウチに届いてからというもの、ひたすらOculusの布教活動と対応コンテンツ制作に明け暮れております。
で、
マジでTLのOculusコンテンツをデモしてる先駆者の人、ノウハウとか記録に残しておいて頂けると助かります。一発勝負系の展示だとギャー!ってなりそうで怖いのですorz
— izm@ 10/26DCExpo (@izm) 2014, 10月 13
というつぶやきを見かけ、ちょうど土日でガッツリとOculusをデモをする機会に恵まれたので、自分なりの現状のノウハウをまとめておきます。
今回デモを行ってきたイベント
FRENZ 2014
Web、ニコニコ界隈の新鋭気鋭の映像クリエイターとその作品を見るフォロワーが集まり、クリエイターの新作映像とトークと酒とレッドブルを2日間ほぼぶっ通しで楽しむというとてもいい意味で頭のネジが数本飛んでるイベントです(意訳)
1日目のイベントの様子を踏まえて夜通し編集して2日目の作品に反映させるとか
イベントスタッフの能力値マジパネェ。
で、そんな新鋭気鋭の映像クリエイターにもOculusの魅力に触れてもらって、そこからあわよくばOculus対応の映像作品を作ってもらえばもっと楽しいことが起こる!という意図で、デモの機会をいただいてきましたw
なお、既存のOculusで見れる映像作品については↓の拙作エントリをどうぞ。
デモ環境について注意すること
環境と手順を確認しておく
- PCを置くスペースはどれ位の大きさか
- 電源は確保できるか
- 大型のコントローラや体全体での体験も込みのデモの場合、体験者の周りに空間が確保できるか
これらの情報を事前に把握しておきましょう。
なお、開発は自宅のデスクトップPC、デモ展示は別のノートPCという体制になる場合は、必ずデモで使うノートPCでも対象コンテンツが正常に動くかのテストをしておくことが特に重要です。
時間があるようであれば自分の部屋でデモ時と同じ広さと環境を用意して、実際にコードの接続手順、ソフトの起動手順を試しておくことをお勧めします。
特定の広さで的確な設営をするというのは同人イベントのサークルスペースに近いものがあるので、自分の周りに経験者がいたら聞いてみるといいかもしれないですね。
コードを的確な長さに束ねておく(重要)
- ノートPCの電源アダプタ(コード:短)
- USBハブの電源アダプタ(コード:短)
- Oculus本体の電源アダプタ(コード:長)
- Oculusの本体ケーブル(コード:長)
- Oculusの赤外線センサー(コード:短)
これらのケーブルをデモ環境に応じて適切な長さに束ねておきます。
カッコ内は今回のデモ時の長さです。
今回のデモはスクリーンがある壇上で1回約10分という制約だったのですが、1回目はこのコードが絡まって環境構築にテンパってしまい、その結果、Oculus本体の電源アダプタの接続をし忘れ、さらに起動するexeファイルを間違えるなど色々やらかしてしまい、結果的に時間が足りなくなりDK2のトランプタワーだけしかデモができませんでした。
そのため同じ失敗をしないよう、2回目ではすべてのケーブルを適切な長さに束ね、
デモ用のPCフォルダ内から不要なファイルをいったんすべて避けておき、さらに1~3の3つのコードをあらかじめ私物の電源タップに差し込んでおき、会場のオペレータさんには 「この根っこを会場のコンセントに差すだけでOKです」という状態を作りました。
写真:整理されたケーブルの様子
その結果、実際のデモの時間も大幅に確保成功、トランプタワーに加えて、Mikulus上のお美しいTda式ミクさんも無事に登壇させることができました。
(@GOROmanさん、利用許可ありがとうございました!)
機材トラブルは覚悟しておく
どれだけ準備しても、長時間でのデモではPC自体の熱暴走やPCとOculusとUSBへの電源の給電不足などにより、OculusやPC画面側にコンテンツが表示されなくなる事は良くあります。
この辺、デモにノートPCを選ぶ場合はどうしたって限界があると思うので、環境には「落ちない堅牢性」よりも「何度落ちてもすぐ再開できる冗長性」を意識した方が精神衛生上いいと思います。
ソフト側の環境構築手順のバッチを独自に組んでおくとか、体験n人につき1回、PCの再起動を挟むとか、オペレータ自体の操作のテキパキ感を向上させるとか、そーいう方面ですね。(お金がある人はまったく同じ環境のノートとoculusをもう1セット買ってコールドスタンバイ機にしよう!)
おすすめ体験スペース
なお、10名前後のOFF会等で体験してもらうという場合は、簡単に電源が用意でき、飲食も可能で、その場で動いたり寝そべったりも可能なプライベートな空間という点で、カラオケルームを借りてしまうのが一番手っ取り早いです。
特にカラオケパセラなどはカラオケ外での利用も推奨しているらしく、部屋正面にお客様用のコンセントと、さらにLANケーブルのコネクタまでありますw
(私自身、@kingyo_souさん主催のoculus体験会をパセラで体験したクチです)
あと、一人暮らしで体験者が友人、知人の場合はフツーに家に招待した方がもっとお手軽かと。
Oculusの画面をどうやって外部出力するか
Oculusの画面をPCに映す
DK2に標準搭載の机+トランプタワーや、UE4製のジェットコースターなどはDirect HMD Accessモードに対応していて、何もしなくてもPC側の画面にコンテンツが出せるので、それをそのまま見せればOKです。
ROLLER COASTERS
http://www.vrone.pl/?page_id=255
Extend Desktop to the HMDモードのコンテンツを見せる場合、Oculus側に映ってるコンテンツを「Open Broadcaster Software」を介してPCモニタ側にOculus側の画面をミラーリングする方法があります。詳しくは以下の紹介記事を見てください。
Oculus Rift DK2とディスプレイをクローンする方法
http://d.hatena.ne.jp/tarumomi/20140908
なお、Oculusを他のユーザに体験させながらミラーリング表示を使う場合は
Open Broadcaster Software側のキャプチャのFPSやキャプチャ時の画質を下げるなどして、可能な限りOculus側のFPSを70前後にキープするようにしましょう。
※PC側でミラーリングするんじゃなくて、HDMIの分配ケーブルをかまして
表示すればFPSを維持できそうですが、Oculus側のモニタが90度回転してるせいなのか、正常に分配できるモニタには今のところ出会ったことがありません。ここのノウハウを持っている方はぜひ教えてくださいw
Oculusの画面を外部出力に映す
今回の壇上のデモ時はVGA接続のプロジェクタ+スクリーンにOculusのトラッキングの様子を映しました。本来であればHDMI接続で映したい所なんですが、
HDMI出力ポートはOculus本体に占有されてしまっていたので、やむを得ずもう一方のVGA出力を使った次第です。(HDMI出力が2ポートもある化物ノートなんて高くて買えねぇよ)。
なお、壇上のデモ時はOculus側に画面を映す必要が無かったので、Mikulus紹介時はトラッキングのFPSを稼ぐためにも「MikulusDK2_DirectToRift.exe」ではなく「MikulusDK2.exe」を起動して、何も映ってないOculusを手で動かして説明をしました。
Oculusを被らせないでOculusの魅力を伝えるのは難しい
ソニーの3D対応HMD「ProjectMorpheus」のに関わっているエライ人ですら
「百見は一体験に如かず」と言っており、Oculusをカブってない人に魅力を伝えるのは非常に難しいです。
今回の壇上デモではトランプタワーとMikulusの2本立ててトラッキング性能を見せることができたのでハードの特性を伝えることはできたと思いますが、見てる人は椅子に座ってスクリーンを見ているUXを得て、なおかつ「スクリーンに映る映像を見る」という心構えでイベントに来てるので、Oculusの真のポテンシャルとなる「360度すべてが映像になる」という部分はその場では伝わりきれなかったかなと思います。
んで、2回の登壇デモを終えた後に
『自分がピンポン球の中に入って、その中央に浮いている、と想像してください。
あたり一面、真っ白に空間が広がっているかと思います。
その真っ白いピンポン球の内側すべてに、みなさんが絵を、映像を描けるんです』
という例えを思いついて、ややクサいけどコレ使いたかったなーと後悔してますw
とは言え今回は幸いにも、イベント終了直後の参加者慰労会場みたいな場所でOculus体験ブース的なものを3~4時間ほど広げることができたので、そちらではしっかりOculus本体をかぶってもらうことに成功しました。
以下は体験付きのデモ時のレポートになります。
体験してもらったコンテンツ
体験時間は一人あたり数分程度なので、体験してもらう作品は限られます。今回イベント終了後の体験希望の方にやっていただいたコンテンツは主に以下3つです。
Mikulus
https://bowlroll.net/file/44105
イベント会場での壇上デモで紹介してますし、
コントローラ不要で楽しめるのでここは鉄板ですね。
Minecraft 非公式Oculus対応パッチ
Guide: Play Minecraft on Oculus Rift DK2 Using the Minecrift Mod
「非公式パッチですけどマイクラもできますよ」
って言ったら一気に集まってきましたw やっぱりFPS+オープンワールド系のゲームにHMDってのはいちばん想像しやすいのかなと。オフラインの新規ワールドを歩き回ってもらっていたら、気が付いたらクリエイティブモードで空飛んでTNT爆弾で空けた大穴にダイブするという遊びに変化してましたw 結果的にジェットコースター的なタマヒュン体験もやってもらえた感じですね。
なおこの際、マイクラ内の断崖絶壁上で怖がっている体験者に対して体験者の友人が「わっ!」っと背中を軽くつつく行為を行ったため、その方には『体験者の平衡感覚が狂ってパニくる可能性があるから絶対に止めてください』と強く注意しました。
とは言え注意してOKという話ではなく、本当に事故が起こってからでは遅いので、
恐怖体験を伴うコンテンツの場合はオペレータの段階でそーいう行為をさせないように事前に説明するか、体験者から他の人を離すといった環境を用意しないといけないなと感じました。
ステレオ劇場 かえりみち
http://www.geocities.co.jp/AnimeComic-Brush/4033/st-gkj-k/index.html
ヘッドトラッキングには非対応ですが、実際にOculusで3Dで見れる映像作品として紹介。特にこの作品は初公開時が10年以上も前ということもあり、原理さえ理解していればOculus向けの映像を作るのに制作ツールは問わないという説明をするためにとても効果的でした。
多くの人に繰り返し体験してもらう時のオペレーション諸注意
衛生対策(重要)
Oculus Rift 用 フェイスペーパーを買ってたので早速試してみました。
Oculus Rift 用 フェイスペーパー製品版
http://www.amazon.co.jp/gp/product/B00O0R1MXI
本来は2~3名に1回で取り替えるローテーションが望ましいと思いますが、他の人と話しながら体験者の様子を見て適切なタイミングで取り替える・・という余裕は正直言って無かったですw
最終的な体験人数はたぶん3~40名で、ペーパー消費枚数は10枚。
交換の頻度は少なかったですが、乾ききっていないOculus直のフェイスカバーを使うよりはずっといいと思います。
また、他の案としては現在こんなのを作ってます。
oculusフェイスカバー汗のこり対策、これを2〜3セット作って体験終わるたびに剥がして拭いてUSB扇風機の風に晒すローテーションを組めばいいかな。100円ショップ最強伝説! pic.twitter.com/7cGrc12lKa
— まっつん◆SW1/SWF8io (@n_mattun) 2014, 9月 27
安定したオペレーションができる読みができたら次回のデモの機会ではこちらも試してみようと思います。
メガネ対策
メガネを付けている体験者には
- 先にメガネをOculusのレンズ側に装着して、Oculusごとメガネを目に当ててもらう
- その状態から体験者にOculus+メガネを押さえてもらい、自分が後ろに回って、ゴムバンドを頭に付けてあげる
というオペレーションを繰り返しました。
なおその際に1名、Oculusのレンズ側に無理矢理メガネを入れようとしたところ、メガネのレンズが片方外れるというトラブルに遭遇したので、それ以降はメガネ装着者には「無理に入れようとすると壊れるかもしれないんで裸眼でもイケる人はできればそっちでお願いします」という説明を必ず付け加えるようにしました。
この件の根本的な解決方法はハード側に頼らざるを得ないので、CV1ではメガネごとかぶれる大きさになるか、GearVRに搭載されていたピント調節ダイヤルを用意するなりして欲しい所ですねぇ。
今回のデモを一通り終えた感想など
- 体験デモ展示のオペレータ1名体制は、正直かなりキツいw
- 大学の研究室(だったかな?)でチームHashilusのスカイバンジーに近い発想で
Oculusコンテンツを作っている方がいて、その動画を見せてもらえたのが個人的にはとても収穫でした。もの見て正直「やられた!」って思いましたよホント。この記事見てたら、実際に体験できる場でまたお会いしましょう! - FRENZ出展者の皆さんと、会場にいた皆さんに改めて。『自分がピンポン球の中に入って、その中央に浮いている、と想像してください。あたり一面、真っ白に空間が広がっているかと思います。その真っ白いピンポン球の内側すべてに、みなさんが絵を、映像を描けるんです。こんな広大なキャンバスを見逃す手は無いと思いますよ!』
- 最後に、FRENZ会場の壇上でデモの機会をくれた主催のas@前田地生さん、
Mikulusの利用許可をいただいた@GOROmanさん、およびTda式ミクモデル制作者のTdaさんに、この場を借りてあらためてお礼申し上げます、ありがとうございました!
Unityで変数の値がプレビューで反映されない時の解決法
Unity触ってまだ間もないからすげー悩んじゃったけど、これきっとUnity開発者あるある話のひとつなんだろうなぁ。
発生した問題
スクリプト上で変数の値を変更しても、なぜかプレビュー時にその変数の値が反映されない。
原因
- Public宣言された変数の場合、プレビュー時はスクリプト上で初期化された変数より、Unity IDE上のHierarcy内の各インスペクタに表示される変数の値が優先的に適用されるため。
- しかし、Editorフォルダを使ったカスタムUIスクリプトを利用している場合は、カスタムUIスクリプト上で定義された変数しか表示されない。
- 表示されていないにも関わらず、変数の値はインスペクタ側で保持し続ける(?)という仕様のため、この状態でスクリプト側のPublic変数の値をいじっても、プレビュー時には見えないところでキャッシュされている値を参照し、結果的に変数の値が反映されてないように見えてしまう。
解決方法
インスペクタ側の値をリフレッシュする
インスペクタの歯車アイコン(画像内の黄緑印)からResetを選択すると、インスペクタ上の変数がリフレッシュされ、スクリプト上の変数を参照し直してくれます。
変更したい変数をインスペクタ上に表示する
Asset内のScriptフォルダと同階層にあるEditorフォルダ(画像内の赤印)を開くとカスタムUIを定義しているスクリプトが置いてあるので、そこに自分が追加したい変数の定義を追記する。カスタムUIの定義と変更方法は以下のサイトを参考にどうぞ。
○×(まるぺけ)つくろーどっとコム:カスタムエディタ編 その1 Inspectorが変わる!
なお、インスペクタ上に変数が表示されても常に値をリフレッシュしてくれるワケではないので、歯車アイコンからのResetは結局必要になるので注意してください。
変数をprivateにする
変数をprivateにすればインスペクタ側に変数は展開されなくなるので、常にスクリプト内の変数を参照してくれます。
OculusでOVRオブジェクト内の変数の役割を把握するために値を変更してもまったく反映されなかったからおかしいなぁと思ったらこんなところに原因があったとは・・・ Unityって罠が多いという触れ込みをちょこちょこ見かけるけど、見事に罠を踏み抜いた感じがするぜチクショー。
Oculus Riftで楽しめる裸眼立体視動画11選+α
ついに7月下旬にOculus RIft(以下「Oculus」と略)が手元に届いてきたので、先人様のOculu対応ゲームを色々と楽しみつつ、何か面白いものを作れないかなーと脳内設計に勤しんでおります。
Oculus対応ゲームの一覧やレビューなんかはもぐらゲームスさんをはじめ、色々な人がコメントをしているのでそちらにお任せするとして、今回こちらではちょっと趣向を変えて『Oculus Riftで楽しめる裸眼立体視動画』をピックアップしてみましたので、どうぞご覧くださいませ。
ステレオ劇場「かえりみち」
※リンク先のページ下のダウンロードリンクをクリックするとフルスクリーンで見られます。
個人Flash映像界隈の有名作品「なつみSTEP!」の作者たけはらみのる氏が、10年以上前(2003年12月末)に作成した、裸眼立体視によるFlash映像。
映像内のカメラ位置は基本的に固定ベースなので、疲れることなく鑑賞できます。またカメラワークに3D栄えする演出方法を要所で取り入れており、Oculusで動画メインの作品を作ろうと思った場合には参考になる部分が多いかもしれないです。
【アイカツ!】「硝子ドール」を3Dに飛び出させてみた【平行法立体視】
幼女先輩とアイカツおじさん達の大人気コンテンツ「アイカツ!」の裸眼立体視動画、3Dモデルとキャラの周りにあるエフェクトがとても心地良いです。
ちなみに本題からはズれるけどアニメのアイカツ!は大人が見ても本当に面白いのでオススメです。ちょうどあと数話で初代主人公の物語が完結するタイミングなので(2014年8月下旬現在)ぜひこの機会に1話からの鑑賞をお勧めしますですよ。ちなみに近い回だと89話とか良かったよねー!超久々のユリカ様のメイン回だしどうやったら成長できるかという普遍的なテーマを大人にも投げかけたりあざとくない程度の販促をしてたりでもうユリカ様に血を吸われt
【アイカツ!】「ヒラリ/ヒトリ/キラリ」を3D動画にしてみた【立体視】
アイカツ!からもう1作品、複数キャラ(8名)によるダンスシーン。キャラ同士の遠近感がわかりやすいのでこっちの方が3D映えしてる印象を受けますね。
途中、近くのキャラから遠くのキャラにカメラのピントを移すという凝った演出が入ってるんだけども、Oculusで没入してると逆に「自分が意識してないところで目のピントをズらされた」と感じました。このあたりは2D演出と3D演出の違いということで覚えておくといいかもしれないですね。
【プリティーリズム】速水ヒロ様の「pride」を3D動画にしてみた【立体視】
同じくアイドルダンスもののコンテンツ「プリティーリズム」より。
3Dダンスシーンの3D映えは前の2本には劣るけども、そもそもダンスシーン以外の通常のアニメシーンが単純にキレイに見えて凄い。ヘッドトラッキングや3D機能はなくても、綺麗な大画面で動画が見れるヘッドマウントディスプレイにもなるというOculusの能力の高さを感じますね。
[立体視]天色*アイルノーツOP[平行法]
ギャルゲー、萌えゲーのPVを立体視したもの。こちらも画面内ではあまり3Dっぽさは出ていないけども、単純に大画面でPV動画が綺麗に見えるのが嬉しい。
ねこみみスイッチ立体視ver
ここからMMDのターン、ぴくちぃ式ミクさんによるネコミミスイッチダンス。背景が真っ黒なおかげで画面の額縁的な境界線がなくなり、普通の3D映像よりもより没入度が高まります。
マリエルさん紹介動画のようなレアさん紹介動画、のような何か。
こちらは背景があるMMDダンスPV動画。こーいう白+青+緑の景色はとても明るくキレイに見えていいですね!レア様すてき!
【立体視】むっちむちなアリスで裏表ラバーズ【たこ入り】
前出のレア様のダンスPVに比べてこちらはややカメラワークが激しいです。
酔うカメラワークと酔わないカメラワークを自分なりに確認するのにいいかもしれないですね。固定カメラの連射だったらどんなアングルでも酔わなかったのは少々意外(個人差あるかも)
甘えん坊なぬこ村さんが可愛くてうにゃ~【立体視】
1人称視点で甘えてくる動画です、なんだか子どもに甘えらてる気分になれてとても健全でいいですねw
Virtual Boy Red Alarm in 14:07.54 by Ryuto
こちらはゲームプレイ動画。
3Dヘッドマウントディスプレイの大先輩、任天堂「バーチャルボーイ」から出ていた本格3Dシューティングゲーム「レッドアラーム」のTAS動画です。
TASであるがゆえに道中はまっすぐ走らないのでカメラワークがちょっとアレですが、ボス戦なんかはしっかり鑑賞できます。(この動画は白黒ですが、実機でのプレイは赤黒です)
ちなみにこのゲーム、ファミコンから現在までの自分がプレイしたゲームベスト10にノミネートするくらい、3D空間のシューティングゲームとして良くできてます。Oculusで3Dゲームを作ろう!と思ってる人は「3Dヘッドマウントディスプレイの原点のゲーム」として、機会があればぜひ一度プレイしてみてください。
カードキャプターさくら一期OP S3D(立体視)バージョン【Blender】
最後は萌えアニメ界隈の金字塔「カードキャプターさくら」のオープニングを3Dモデリングで完全再現した動画、を立体視にしたもの。
動画終盤の淫獣ケロちゃん→さくらの顔のカメラワーク時の立体感は圧巻のひと言。
まとめ
Oculusのヘッドトラッキング機能で仮想世界をグリングリン見回したり、そこからマウス操作で仮想世界を歩き回るのはメチャクチャ面白いです。が、
【没入感がある環境での立体視映像鑑賞】というだけでもじゅうぶん楽しいし、嬉しいです。
また、今回紹介している映像はヘッドトラッキング機能を使ってるワケではないのでハコスコやgoogleのcardBoard的なスマホ型HMDでも多分楽しめます。
そうなると潜在的な体験可能ユーザーはOculus対応ゲームより多くなるので、対応映像を作れる環境がある人は今のうちにアイデアを練っておくといいと思いますよ!
他者に期待しないことは「他者を愚者のままにしてしまう罪」を犯している
先日、ホッテントリ入りした下記の記事を読んで思うところがあったので書いてみます。あ、フールプルーフはUIの書籍*1で言及されていたので知ってました。
先日辞めた会社で、アナログ管理されていた情報を集約する社内システム*2を作った時、利用者となる社員に対してまったくヒアリングをしなかったんですよ。
その理由は「ヒアリングは他者の時間を奪うこと。それは相手に申し訳ないからできるだけやりたくない」という利他的な思いもあれば、「ヒアリング相手がエクスプローラの操作方法にやや戸惑うレベルのPC初心者なので聞いてもムダでは・・」「うまく聞きだせる自信が無い」という悩みだったり、「システム完成後に『俺がアドバイスしたおかげでいいモノができたな!』とPC初心者にドヤ顔されるのが非常にウザい」という利己的な思いだったり。
んでまぁ、そんなこんなの思いから「聞くことはできない。だからその代わり、徹底的にUIを親切にすればきっと使ってくれるハズだ!」という考えに行き着いてしまい、意気込んで作ったはいいものの、その結果、UIは個人的には満足のいく出来栄えにはなった*3ものの、社員は当事者意識が持てないままシステムを利用することになってしまい、システムから提供される情報をがっつり妄信するしかなく、その結果、情報登録の際にミスが発覚すると、
「それくらい、システム側で想定しとけよ!」
という不条理な怒られ方をしてしまったワケです。
(こーいうミスが起こる可能性とか事前に聞かれなかったぞ!だから作ったやつが悪い!)とでも意訳すればいい所でしょうか。
ただ、もっとマズかったのは『他者に期待しない』という前提に立っていたため、
システムではチェックできない類の項目(例:登録者本人に決定権がある商品の発注数や、登録時点では登録者本人しか知らない情報など)が他の人のチェックによってミスだということが発覚したとき、直すときにまた変に間違えられても困るという思いから、「間違ってるから直してください」と修正を促すのではなく「間違っていたから正しい情報に直しておきました」という報告の形で運用してしまったこと。
この運用により、ミスった本人が「間違えても指摘してくれるからいいだろう」という依存体質になったらしく、後日トラブルが発生した時も『なんでチェックしてくれなかったんだよ!』と、チェックする人間に責任を押し付けるようになってしまった。そして最終的には、もう話をするのも怒られるのもイヤ。でもトラブルはもっとダメなので、また間違っている情報を見つけた場合は、本人に黙って、こっそり直す。報告もしない。間違っている本人は気付く余地もなく、自分の愚かさに気づけない。
そしてこんな状態は長く続くはずもなく、チェックする人間は精神的に病んでリタイア。チェックに頼っていた人達も半数はクビという、お互いにとって最悪の結末になりました。
自分「今作ってるシステムについて理解してもらうための資料を作りたいんですが」
上司「何でお前がそこまでやってあげないといけないんだよ!?」
自分「だってあとで質問攻めに合うのは結局私ですよ!(泣」
これは社内システム運用後の後日、また別のシステムを社内で触れてもらう前の、ある日の喫煙所での上司のやりとり。ここで作った資料はこの上司を通じて配布されたが、残念ながら興味を示してくれませんでした・・・
この件を思い返すと「他者に期待しない→他者のミスを防ぐように努力する→他者の失敗する機会を奪う→他者が失敗できない→他者が成長できない」「他者に期待しない→何度も同じことを聞かれても怒らない→他者は甘える」「他者に期待しない→ミスっても怒らない→他者は甘える」というように、他者に期待しないことは、その他者を愚者のままにして「成長の機会を奪うという罪を犯している」ということに最近になって気がついた。今回のケースでは、同じ会社で仕事をしている人の成長の機会を奪ってしまっている。結果的にその人が足を引っ張り、会社も成長しないという所に繋がっていく・・・これはダメだよね、という事です。
この最悪な結末を回避するためには、どんなに時間がかかっても、とにかく会話から始めることが大事だったんだな、と今は思っています。うまく伝えられないのであれば、自分の思いを適切に伝えられるように、その会話スキルも磨くこと。そして、相手が責任依存レベルで甘えるような状態になってくるようであれば、その時は「それはあなたの仕事でしょ」と、ちゃんと怒る、相手に不快感を示すこと。
そう思って、最近は会話スキル向上のための本を読んでます。*4。読んだ内容を実践できてるとはまだまだ言いがたいので、日ごろの会話から少しづつ鍛えていけたらなーと思います。UIにこだわるなら、人と人をつなぐいちばん手軽な会話というインターフェース手法にもこだわっていかなきゃね!
*1:
ニンテンドーDSが売れる理由―ゲームニクスでインターフェースが変わる
- 作者: サイトウアキヒロ,小野憲史
- 出版社/メーカー: 秀和システム
- 発売日: 2007/07
- メディア: 単行本
- 購入: 7人 クリック: 68回
- この商品を含むブログ (33件) を見る
タイトルはちょっとアレですが、UI参考書としては超良書。スーパーマリオ1-1の優秀さや、FCの初RPGとなるDQ1の優れたゲームデザインなどにも言及してます。しかもフルカラー!UI本の原典とされている「誰のためのデザイン?―認知科学者のデザイン原論」よりも個人的にはオススメ。
*2:日単位のタスクに対して人をマッチングする機能を持ったスケジュール管理システム
*3:1.タスク毎に入力内容のテンプレートがある場合は確認ダイアログを表示後、OKで自動読込
2.Enterキーで次の入力項目にフォーカスを移す、サクサク入力支援。
3.任意の項目のテキストボックス上で内容の一部を入力すると、その項目に応じた入力候補をすぐ下に表示するサジェスト的な機能
4.日付入力にはカレンダーUIを表示
などなど、jQueryUIゴイスー。
*4:
3Dヘッドマウントディスプレイ『Oculus Rift』の周辺がもの凄く未来に生きてる件
海の向こうで開発が進んでいる3D表示に対応したヘッドマウントディスプレイ「Oculus Rift」。Nintendo 3DSは常に3Dボリューム全開、今でも年に4~5回ほどバーチャルボーイを引っ張りだしてレッドアラームを楽しむ自分にとってはまさに「待ってました!」というデバイスです。去年の夏ごろに存在を知り、ちょうどその頃に行われたOculus Festival(以下「ocufes」)という実機体験イベントに単身で遊びにいってOculusRiftを初体験したんだけども、まぁこれが凄いのなんのって。
そして昨日(01/11)、秋葉原の「アキバ大好き!祭り」でもocufesが行われていたので夏以来の2回目の体験をしてきました。熱が覚めやらぬうちにこのメチャクチャ凄いことになっているOculus界隈の現状をざっくりまとめておこうと思います。
まずハードそのものの特徴を整理。
3D表示対応
Oculusに表示される映像は3Dです。
単なる3DだったらNintendo 3DSや、メガネかけて3Dが見れるテレビ、3D対応の映画館、3D映画も見れるソニーの新型ヘッドマウントディスプレイ「HMZ-T3」なんかがあるけども、Oculusはそれらのデバイスよりも3D空間への没入度がだんぜん違う!
見える範囲「すべて」を覆う、めちゃくちゃ広い画面(視野角110度)
現在出回っている3Dデバイスより没入度が多い理由がまずこれ。
3DSで体験する3D表示や3D対応テレビは、あくまで対応する画面だけしか3Dの仮想世界が表示されないので、その画面外は別の世界(現実世界)という感覚がごく当たり前に存在します。
続いて前述のソニーのHMDは「真っ暗な世界の中に大きな画面がある」という体験ができるんだけども、それもやっぱり「画面」と「画面外の暗闇」のふたつが存在することを脳が認識するので、どうしても映画館でスクリーンを見ているような感覚から抜け出すことができません。
ちなみにバーチャルボーイは「画面の境界線をゲーム内で描かない」「背景も描かないで暗闇にする」ことによって画面外の暗闇とゲーム画面の暗闇が同世界であるかのように脳を誤解させることに成功しているので、上2つのデバイスよりかなり没入度の高い体験ができます。
(このあたりはバーチャルボーイ開発者*1である横井軍平氏の「横井軍平ゲーム館*2」に詳しく載っています、読んでない開発者の人がいたらこの機会に是非、名著ですぜ)
で、本題のOculusはこの没入度をどう解決したかというと、ハード、ソフトの両面から「目で見えるすべての範囲が画面」という状態を作り、スクリーンを見ているような感覚にはならず、「画面」と「画面外」という意識が出てきません。さらに表示されている世界はしっかり3D表示されているので、とても自然に「画面に表示されている3D空間がすべてである」と脳が誤解をしてくれます。
この画面と画面外の感覚をがんばって例えてみると
- 3Dテレビなど・・・エンコード時に設定を間違えて、動画内の四辺ぜんぶに黒色の「額縁」が出ている状態でアップされている動画を見る。
- 一般のヘッドマウントディスプレイ・・・額縁のない動画をフルスクリーンで見る。
- Oculus・・・その動画を表示しているモニタ本体の外側が見えなくなるまで顔を近づけてる状態。
こんな感じでしょうか。
右を向いたら仮想世界も右を向く、超高精度のヘッドトラッキング
Oculus本体に搭載されている加速度センサーによって、現実世界の首の動きとOculusで表示されている仮想世界(画面)の動きが同調します。現実で右を向けば仮想世界でも右を見るし、左向けば左、上見れば上、下向けば下です。
で、このトラッキング機能の精度がまためちゃくちゃ高いので、仮想世界の没入度が圧倒的に高くなるんです。Oculusで仮想世界に入ったときにまず脳が誤解をする、という表現を使っていますが、このヘッドトラッキング機能で首をフリフリすると、「あ、やっぱりこっち(仮想世界)が現実でいいんだよね」と脳が誤解に納得するという感覚を体験できます。
トラッキングの精度に関しては、電気屋に行って、手持ちのスマホの画面と、10万以上する高価格帯のビデオカメラの画面でそれぞれカメラの向きを急に変えたときの差を見比べてもらって、高価格帯のほうの精度で仮想世界の画面がついてくる、と思ってもらえればおおよそ間違いないです。
脳が誤解した結果、平衡感覚が仮想世界の挙動に準拠するんです
平衡感覚が仮想世界の挙動に準拠するので、仮想世界で高いところから落ちるような映像を見るとこうなります。
(01:10あたり)
Jacob tries the Oculus Rift (roller coaster) - YouTube
これ、Oculusを体験する前は「さすが外人さん、大げさなリアクショだなぁw」って笑って見てたんだけど、スキージャンプゲーム高所から飛ぶ、立体機動体験ゲームで屋根にフック刺して高飛びする、そしてこのジェットコースターのような高所から一気に落ちる、という映像をOculusで見たら比喩じゃなく本当に腰が砕けかけました。*3今行われてるOculus体験ブースって立ったまま体験させるものが多いんだけど、安全面に配慮して高所体験ゲームはできるだけ座って体験させた方がいいと本気で思ってるくらいです(ちなみに初めて腰が砕けかけた時の体験を覚えていたので、今回の体験会での高所体験ゲームでは机に手をかけておく、足を踏ん張っておく、という動作を体が自然にやってました)。
Oculusの仮想世界をサポートするコントローラの充実度が凄い
次はOculusの仮想世界をサポートするコントローラ類の話。任天堂がwiiをリリースした頃から「いかに現実世界の体の動きをそのまま仮想世界に持っていくか」という試行錯誤を各ハードメーカーが行っています。これらのコントローラを有効活用することにより、現実からOculusの仮想空間への介入がよりリアルなものになるワケですね。以下いくつかご紹介。
- Kinect・・・「体全体の大まかな動き」を仮想世界にもっていけます。
Oculusを付けているプレイヤーが同じ仮想世界にいると、そのキャラクター同士で見振り手振りの挨拶ができるようになります。※この二人はVR空間内でハイタッチしています #ogjj pic.twitter.com/a4nskTPPA4
— Kenji Iguchi (@needle) 2013, 11月 10※この二人はVR空間内で抱き合っています #ogjj pic.twitter.com/TEy2wcqCkk
— Kenji Iguchi (@needle) 2013, 11月 10 - Leap Motion・・・「手と指の動き」を仮想世界にもっていけます。
仮想世界のおっぱい揉めます。
Oppai-motion - YouTube(技術的な説明はこちら) -
Razer Hydra・・・「腕の振り」を仮想世界にもっていけます。
wiiのリモコンプラスに搭載されているセンサーがwiiのヌンチャクに搭載されて、しかもそれがワイヤレス二刀流、というものですね。
仮想世界のミクさんに触れます。 - バランスwiiボード・・・「体重と重心情報」を仮想世界にもっていけます。
wiiFitからこのデバイスが出回ったので体重計をベースに発展系を想像しがちですが、このデバイスが一番活躍するのはなんといってもスキーゲーム!※動画最初の音量注意
Oculusを装着して現実世界を歩き回ると仮想世界でも歩き回る、という操作系は現時点では満足できるほどの精度は出ないため、仮想世界での移動は仮想世界上で飛ぶとか、滑るとか、勝手に動いてくれるものが向いてます。2014年1月11日時点ではwiiボード+Oculusの体験ゲームはまだ見かけたことはありませんが、既に対応しようとがんばっている動きがあるので、体験まではそう長い時間はかからないでしょう。
- スマートフォン・・・お手軽に「加速度情報」を仮想世界にもっていけます。
Oculus本体による「首の動き」と、スマホによる「体全体の向き」を別々に扱って仮想世界に活かすことができます。今日のocufesでは、ほうきの先にiPhoneを付けて、ほうきの位置情報を元に空を飛ぶというゲームが体験できました。
Oculus Witch - YouTube(技術的な説明はこちら) - 各種カメラ・・・お手軽に「現実世界の視覚情報」を仮想世界にもっていけます。
googleGrassのような現実世界を拡張するタイプと違って、Oculusは現実世界の視覚情報は完全にシャットアウトするので、何もしない限りは現実世界の風景を仮想世界に持っていくことができません*4。そこで市販のWebカメラ等を使って、現実世界の視覚情報を仮想世界にもフィードバックするという手法をとることになります。「ovrvision」というOculus本体に装着する専用カメラもあるようです。
これらのコントローラを駆使して、現実世界の挙動を3Dの仮想世界でも体験可能になるワケですね。デバイス全部組み合わせるとOculus越しに現実世界を見ている人同士が仮想世界のボールでキャッチボールをするという技術の無駄遣いもたぶん可能です。
開発の敷居が低い(Unityが対応、利用可能3Dモデルも多彩)
せっかくのデバイスでも開発環境が出揃ってないと普及に弾みがつかない、というのはわりと良くあることですが、ここ最近、3Dゲーム開発環境として流行しているUnityがOculusに対応しているため、開発も比較的容易にできるようです。
またMMDのモデルをUnityに持ち込めるツール別途あるので、ニコニコで踊っているミクさん達を簡単にOculusに連れて行くことができるみたいです。
Unityの参入障壁の低さは折り紙つきで、プログラミング未経験の主婦が1ヶ月かからずにミクさんをOculus上で躍らせることに成功しています。すげーw
【主婦ゆに!】「もしも、プログラミング経験がない文系の主婦がUnityをはじめて1ヶ月でミクさんを出してダンスさせることができたら」 - Togetterまとめ
まとめ
エロと軍事が絡む技術は進歩するなんていう話もありますが、Oculusの場合はエロも軍事も絡んできている*5ので、これからますます流行するんじゃないかなーと見ています。
今回、体験会で開発者の方が「今だったら何作っても世界初になれますよ!」という話もしていましたので、まずはUnityを触っておいて、もう少ししたら出てくる新型のOculus開発キット「Crystal Cove」の販売案内をwktkで待機してみようかなと思います!w
あとバンナムさんはプロップサイクル2って名前でOculusをアーケードデビューさせて!ゲーセン通って月5000円まで出すよ!w
*1:バーチャルボーイ開発者・・というよりも、『枯れた技術の水平思考』の言葉や、偉大なインタフェース「十字キー」の生みの親として有名ですね
*2:
横井軍平ゲーム館 RETURNS ─ゲームボーイを生んだ発想力
- 作者: 横井軍平,牧野武文
- 出版社/メーカー: フィルムアート社
- 発売日: 2010/06/25
- メディア: 単行本
- 購入: 34人 クリック: 648回
- この商品を含むブログ (57件) を見る
*3:ニコニコで盛り上がってる「THE ジェットコースター」のトンデモコースターをOculusでやったら本当にゲロ吐く人が出るんじゃないかしらw
*4:Oculus製品版では実際の目の位置と同じ高さにカメラが付くという情報もあります
*5:エロは某3Dエロゲメーカーが開発キットを導入し、8月のocufes会場で微エロゲーを作成してましたw 軍事はNASAがOculus+Kinectでロボットアームを操作しようとしてます