2017年01月22日

DSC_0001
元々強い不眠症な私なのですが、昨日の晩はウトウトしてた所で、夢の中ですらVRシステムの構築とか購入検討とかしてました。これはこれで病気です。泣きそうだけどもっとやれ。

そんなわけで、現状の我が家でのVR環境についてちょっとご紹介。
ハードウェア編、ソフトウェア編と2つに分けての紹介ですが、気になる人が多いのはたぶんハードウェアだと思うので、こちらから行ってみます。

2017/01/28:ソフトウェア編更新しました
 

まず、私の使用用途を前提条件として挙げておかねば参考にもならないと思うので、以下のとおりに。

・あくまでもPCと接続して使う「PCVR」のシステムとして組み立て
・したがって、スマートフォンは「ディスプレイとセンサ」としてしか使わず、Riftcat/VRidge以外のアプリは走らせない
・全ての接続はPC向け、かつスマートフォンはVR専用として普段使いはしない
・レイテンシ(遅延)を可能な限り抑える為、各種通信は全て有線

こんな感じでしょうか。 RiftcatはWiFi経由でもPCからのデータを受信、表示する事が出来るのですが、流石に高画質データを受け取る際にはレイテンシが発生し、画面表示が崩れてしまう事があります。
そんなわけでUSB接続(USBテザリング)をしているのですが、実用的な部分を考えると、ケーブルはそれなりに長くなってしまいます。後述しますが、このへんは色々と調整や妥協が必要な面かもしれません。

さて、それでは写真を交えながら。写真内の文字が見づらい方は、クリックして拡大してみてください。

1.ヘッドセット全体像
ヘッドセット概要1
 ヘッドセット本体には、FOV120°という広視野角とヘッドホン一体型、レンズなども割と評判が良い「BOBO VR」のOEM品を使っています。購入したのはドスパラ札幌店の「上海問屋」コーナー。
最初はヘッドホン無しモデルにして、Bluetoothのイヤホンを使おうかと思ったのですが、このヘッドホンが案外いい感じの音を出してくれるので、そのまま活かす方向で進めました。
このヘッドセットをベースに、前面部にハンドトラッキングを行うLeapMotionを装着、各種ケーブルはスマートフォン、LeapMotion、ヘッドホンの計3本となりました。これらはすべて3mのものを使用し、USB3.0のハブへ接続。最終的にこのハブからPCへUSB3.0接続する形になります。前述のヘッドホンに関してはUSBオーディオアダプタを使用し、3mのオーディオ延長ケーブルでヘッドホンへ。
んで、これらをどのように取り付けているか、というと…。

2.各種取付、ケーブルマネジメント 
ヘッドセット概要2
同じ写真で説明文だけ入れ替えました。手抜きっていうな。
LeapMotionの取り付けにはフリスクの入れ物を使用。上下にパカッと分解したうち、上側のフタを使います。そのままではLeapMotionより少し幅広で、長さが短いのですが、長さ(長辺方向)は左右が開放状態なので、切った貼ったの必要はありません。一方で幅(短辺方向)はちょっと加工が必要。と言っても、ダイソーで100円で売ってるようなスポンジテープ(隙間テープ的な)を内側に貼り付けて、そこにLeapMotionを押し込むように入れてあげると、LeapMotionに一切手を加えることなく固定が出来ます。両面テープをLeapMotionに直接貼り付けても良いのですが、実は底面にラバーパッドが付いている為、両面テープがなかなかくっつかないのです。Leapの公式サイトでヘッドセット取り付けマウントが(日本円にして)1000円だか2000円だかで売ってますが(Amazonにも)、コイツなら全部あわせて300円もいきません。なお、ケースから出したフリスクはいっぺんに食べるとお腹壊すので注意。

ケーブルの取り回しは後述しますが、まとめるのに使用したのは半透明のケーブルまとめチューブ、ヘッドセットのバンドに沿って後ろに逃がすために面ファスナー(マジックテープってヤツですね)のバンドを使用。やっぱりどちらもダイソーで100円。
最初は3mのケーブル全部をチューブでまとめていたのですが、まとめたケーブルがかなり固くなってしまい、取り回しが厳しくなってしまったので、部分的に留める程度にして、ケーブルがバラバラにならないように何箇所かでインシュロック(とかタイラップとかなんとか)でまとめています。インシュロックは思いっきり締めるとケーブル破損の原因になるので、適当にズレない程度の力で緩めに。

前述のとおり、これらのケーブルは全てUSBハブに入ります。今回は手持ちで余っていた(わけじゃないけどそういう事にした)Anker製の結構前に買ったハブを使用(同型?)。通信品質を維持する点でも、セルフパワーハブを使っておいたほうがなんとなく安心。ただ、スマートフォンへの充電、及び給電は電力的に追いつかないようで、残念ながらスマートフォンのバッテリは随時充電してからでないと使えません。
ハブを使用せずに一本ずつPCへ直接接続しても良いのですが、PCの設置位置などの関係で片っ端から直接挿すと大変な事になるので、やむを得ずハブ経由としました。

使用しているケーブルは
・スマートフォン向けにUSB2.0ケーブル
・LeapMotion向けにUSB3.0ケーブル
・ヘッドホン向けに3.5mm3極ステレオ延長ケーブル
の3種類。前述の通り、全て3mです。ケーブルの選定には色々迷った挙句、目についた安くて3mなヤツを選んだという適当具合。
ちなみに3mという長さについてですが、単純に「自由に動ける」という事では無く、USB規格に定められた長さを鑑みての決定でした。
オーディオケーブルは無視できるとして、LeapMotionで使用しているUSB3.0規格は、一本のケーブルの長さ(ハブを挟まずにデバイスと接続・通信できる長さ)が3mまで、という制約があります。リピーターケーブル等で強引に延長する事もできないわけでは無いのですが、まぁ3mもあれば大丈夫でしょうという事でこれを基準に設定。USB2.0は同様に5mまでという制約があります。
今回のようにセルフパワーハブを使用する事で、リピーターケーブル代わりに使える「らしい」という事もあって、なおさらセルフパワーハブにこだわりました。

使用される通信環境としては、最もデータ量が多いはずであるスマートフォンとの接続に関して、最初は変換アダプタを使ってでもUSB3.0にすべきかと思ったのですが、そもそも変換アダプタが見つからない事、スマートフォン自体がUSB2.0にしか対応していない事、実際に設定する帯域幅(最大23Mbps)に対してUSB2.0の帯域幅(480Mbps)でも充分に余裕がある事から、USB2.0ケーブルで接続する事にしました。実は購入時点では、同じ3mなのにUSB3.0ケーブルのほうが安かったりしました。
一方でLeapMotionですが、こちらはUSB3.0接続だとハンドトラッキングの精度(フレームレート)が向上するという情報があった為にUSB3.0としましたが、チェックしたところ60fpsを超える事はありませんでした。どこかで見た情報では90fpsまで出せるというものもあったのですが、これがちょっと残念なところ。
(ちなみにLeapMotion同梱ケーブルはUSB3.0です)

3.ゴーグル正面
ヘッドセット概要3
 一般的なスマートフォン装着の際、有線の引き出しをしようとすると、殆どの場合で(ゴーグル装着状態で)右側から配線が出るようになります。また、LeapMotionもデスクトップでの通常使用時はケーブル左出しになるのですが、Oculus RiftHTC Viveの両方とも、VR使用時の装着では右側に出す状態になります。
そんなことから、必然的に各ケーブルは全て右側に引き出して、そこから取り回してゴーグル上面中央へ、そしてヘッドバンドから後頭部中央へとケーブルを流す事になりました。
後述する使用スマートフォン(XperiaZL2)の関係から、USB2.0のケーブルを引き出すために10cm程度のL字延長ケーブルを使用している他、オーディオケーブルとUSB3.0ケーブルもそれぞれ接続する位置が異なる為、同じ3mのケーブルでも微妙に誤差が出ています。これはハブ側に接続する時に巻き取るなどで調整する程度の問題なので気にしないことに。
前面部に取り付けているLeapMotionの位置は面ファスナーを使うことで微調整が出来るようにしており、位置を合わせればスマートフォンのカメラに干渉しないように装着できます。現在は対応機能がありませんが、今後スマートフォンのカメラを使用したARコンテンツ等へ対応出来るようになった際にも対応出来るようになりました。
以前から紹介しているNoloVRのシステムを使う際には、ヘッドセットマーカーをゴーグル上面中央に取り付ける必要がありますが、ケーブルが通っている事と、元々この部分にスペースが無いというゴーグルの設計上、前面の透明パネル上部に突き出して固定する必要があるかもしれません。現物を入手できてから悩む事にします。

4.ゴーグル内部
ヘッドセット概要4
USB3.0ケーブルが結構太く、また取り回し自体もタイトな為、前面パネルの開閉はちょっと苦労します。
VR専用にと用意したスマートフォンはauから販売されていた「XperiaZL2」で、5インチのFHDディスプレイとなっています。本当は5.5インチくらい欲しい所なのですが、結構良いお値段になってしまうので、本末転倒にならないようにこれで我慢。 
写真にはXperia独自のマグネット充電端子(中央部)の他、L字ケーブルで接続しているUSB端子がありますが、写真の通り、この端末はUSB端子が側面(ゴーグル取付時上面)についている為、ケーブルの取り回しに少々苦労します。
手持ちのL字延長ケーブルを使用してなんとかしましたが、そもそもこの写真の取り付け向き、Riftcatを始めとした「スマートフォン向け横画面アプリ」を使用した場合には、既定と反対向きになっています。本来は電源ボタンが上に来るようにするのが正しいのですが、そうするとゴーグル内部にある「スマートフォンを載せるスペーサー」に思い切り干渉してしまい、USB接続状態での設置が行なえませんでした。
このため、今回はユーティリティアプリによって強制的に回転方向を逆向きにした上で使用しています。これに関しては後日のソフトウェア編で。
手前側に見えているヘッドホン端子は固定ではなく、コイルケーブルでプラプラしているので、とりあえずテープで固定しました。
ヘッドセット概要5
スマートフォンを取り出した状態はこんな感じ。前述の通り、この状態でPCに接続しても「充電」が出来ない為、バッテリの充電は適宜行う必要があります。写真を眺めていて「USB端子とマグネット端子同時に繋いだらどうなるんだ?」とか思いついたので、そのうちなんか試します。

5.USBハブを流用した「リンクボックスもどき」
ヘッドセット概要6
最後に、全ての接続を一箇所にまとめる為に用意したUSBハブ。4ポートモデルなので、もう一本増えても安心。
接続は全てUSBとなった為、結構重要な位置にいるお方です。
なお、このハブはどうやら「セルフパワー/バスパワー両対応」では無いようで、電源コードを抜くと全ての接続が切れます。電源スイッチだと思えばまぁ割と便利。
USBオーディオアダプタはむかーし買って引き出しに転がってた500円くらいのもので、7.1ch対応だそうですが、そもそもUSB端子が変に曲がっている時点で何も信用していません。そのうちなんとかする予定。
断続的な通信と違い、常時ストリーミング状態で使用する事になるので、バスパワーのような電源供給が不安定な環境は避け、セルフパワーを使用する事をオススメします。
一応バスパワーハブでも試しましたが、画面表示が崩れるタイミングが結構多かったように思います。
それでなくとも3mという結構あぶなっかしい長さで引いているので、ここはケチらずに行きましょう。


と、ハードウェア的にはこんな感じです。ここまでやっても、トラッキングしてくれるのは基本的に頭の向きだけで、前後左右に動くという反応はしてもらえません。そもそもセンサが無いので当然ではありますが。
一方でLeapMotionによるハンドトラッキングのおかげで、結構インパクトの強いVR体験は楽しめます。今後どのようなコンテンツが出てくるか次第ではありますが、その点では将来性のあるお買い物だったと思います。
これにNoloVRを取り付けて、ポジショントラッキングやルームスケールに対応する事が出来れば、簡易VRゴーグルを使用したシステムとしては一応の完成を見ることになるでしょう。っていうかこれ以上やるんならVive行けよ。
実は私、脚が不自由で杖をつかないと歩けない(100mくらいは歩けるけど)身体なので、正直な所ルームスケールはあんまり興味がなかったりします。杖ついてたら手塞がっちゃうし。
その分、LeapMotionでのハンドトラッキングに加えて、頭の位置のポジショントラッキングで「画面内で50cmか1mくらい前後左右に近づけたり離れたり出来れば良いや」みたいな所もあるので、それなりに妥協できるポイントは見つけられそうです。

さて、次回はソフトウェア編。たぶんそんなに内容ないです。
っていうか誰かVive買って。プレゼントして。キスしてあげるから。 

(17:03)

コメントする

名前
URL
 
  絵文字