2014年4月6日日曜日

OculusRiftライクなHMDを自作する

20140617追記

この記事中で作ったHMDの後継機についての記事がここにあります。

これから作る人は上記事を参考にしたほうが良いです。

きっかけ

Boost.勉強会 #14 東京の懇親会でhecomi氏がOculusRiftをデモしていたのだけれど、その時僕は度肝を抜かれた。懇親会は中華料理屋で行われていて、赤い照明に中華風の装飾の狭い部屋の中にいたはずなのに、手渡されたOculusRiftをかぶるとそこは西洋風の建物の上空で、ジェットコースターのようにレールを走るトロッコの上に僕は突っ立っていた。トロッコが曲がろうとすると、反射的に体を傾けてしまう。落下するときには胃が確かに持ち上がる感覚がした。ソニーのHMZ-T1を持っているが、比べ物にならない自然な没入感があった。hecomi氏は他にもいくつかのデモを見せてくれたが、どれもHMDの新しい可能性を示唆するものだった。

早速、その時やっかいになっていた江添氏の住むシェアハウスに戻ると、僕はOculusRiftを注文した。注文してから、しかしそれでいいのだろうかと思った。江添氏曰く、製品版が近々出るらしいし(実際出たのは製品版ではなくDK2だったが)、そんな不自由なハードウェアを今慌てて買わなくてもいいのではないか(ちなみに、江添氏のOculusRiftを使ってみた感想が含まれる記事)。その通りだと思った。しかし可能ならば今すぐにOculusRiftが欲しい。どうしても欲しかった。

そうして、自作することにした。

幸い、調べると、ネット上には既に自作している人がいて、作り方も公開してくれていた。基本的には、Furlan氏の自作したやり方を参考にすることにした。(この記事はほとんどFurlan氏のやり方を日本語で解説するだけである)

目的

OculusRift(DK1、以下ORDK1と表記する)と同等なHMDを自作する。ただし、今回はヘッドトラッキングシステムは省く(別記事でヘッドトラッキングシステムの自作は載せる予定である)。

必要な材料

5.6インチで画素数は1280x800のTFT液晶ディスプレイとそのコントロールボード、倍率5倍で直径5cmのレンズが2つ、黒い発泡スチロール板、スキー用ゴーグル、黒いダクトテープ、ダンボールの切れ端が少々。

5.6インチのTFT液晶ディスプレイとそのコントロールボードについて

ebayでこれを購入した。ORD1は画素数1280x800で7インチのTFT液晶を使っているらしいが、Furlan氏にならって、画素数は同じだが5.6インチの液晶を使うことにした。ちなみに電源装置が付属していなかったのでAmazonでこれを購入した。

倍率5倍で直径5cmのレンズについて

これを用意するのが一番手間取った。探してもFurlan氏の紹介しているような安いものが日本ではなかなか見つからなかった。結局、品質は疑問("約"5倍ってどういうことだ?)だが、条件に合致して安かったこれを使うことにした。

黒い発泡スチロール板について

A3サイズのものを近所のホームセンターで購入した。Furlan氏は4mm厚のものを使っていたが、なかったので5mm厚のものにした。

スキー用ゴーグルについて

これを購入した。

黒いダクトテープについて

近所のホームセンターで購入した。僕は実際に使用してみるまで、「ダクトテープってガムテープとどう違うの?」という感じだったが、まったく違った。ダクトテープはあなたの想像を凌駕する。何かを強力に貼り付けたい? ダクトテープをどうぞ。何かを完璧に密閉したい? ダクトテープをどうぞ。貼りつけた後きれいに剥がして再度貼りたい? ダクトテープをどうぞ。局部を隠したい? ダクトテープをどうぞ。HMDを作りたい? ダクトテープをどうぞ。

ダンボールについて

Amazonの箱を使った。

必要な道具

カッターナイフ、はさみ、ニッパー、ノコギリ、鉄の定規、A3サイズ以上の方眼用紙、ペン、両面テープ、ガムテープ

作り方

まず、液晶ディスプレイがちゃんと動作するか確かめる。Furlan氏曰く

(略)...次に、LVDSケーブル(訳注:液晶ディスプレイとコントロールボードを繋ぐケーブル)がノイズに弱くないか確かめよう。ちゃんとしたLVDSケーブルはノイズの影響を軽減するために特定のコードのペア同士が撚り合わせられているのだけれど、ebayで売られているほとんどのLVDSケーブルはちゃんと撚り合わせられていないため、画像に変なものが交じる可能性がある。君の購入したLVDSケーブルがちゃんとしているかどうか確かめるには、幾つかの異なる画像を試しに映してみればよい。その時、映してみる画像が多ければ多いほどよい。なぜならば、変なものは特定の色を映した時に現れることがあるからだ。

もし何らかの変なものが映ったならば、それをほとんど、もしくは完璧に全て除去できるいい方法がある。必要なのはテープの切れ端と手伝ってくれる人間だ。まず、LVDSケーブルを優しく力を加え過ぎないように慎重に捻る。そして手伝ってくれる人に捻ったLVDSケーブルをテープで元に戻らないように固定するよう頼む。このトリックは私の場合はいつもうまくいっているんだよ!

僕の場合は、手伝ってくれる人間がいなかったので、ここは適当に省いた。特に気になるような変なものは映らなかったし、必要になった後でもできる。

レンズを用意する。虫眼鏡のレンズ部分を汚さないようにガムテープで覆い、柄をノコギリで切り落とす。本当は枠も外したかったが、レンズとの一体成型のようで外せなかった。直径5cmの中に枠が含まれているのはいかがなものか。レンズについては改めて考える必要がある。覆いのガムテープを剥がすとき、糊がレンズに残る場合があるが、別のガムテープを上から貼って剥がすとうまくとれる。

次に、箱を組み立てる。寸法は以下の通り。ただしレンズとレンズの間の距離は個人によって異なるので自分のものを計測したほうがよい。(僕は7cmだった)

方眼紙に寸法通りの線を引いて、発泡スチロール板に両面テープで貼り付けて、カッターナイフで切り出す。各折り目の部分に曲げるためのVカットを施す。カットが深かったり浅かったりして折り曲げた時割れても気にしなくてよい。何かを強力に貼り付けたい? ダクトテープをどうぞ。思う存分補強すればよい。辺の部分も折りあわせた時にうまく重なるように斜めに切り込みを入れておく。

レンズをはめ込むための穴をあける。試しにレンズをはめてみて、きちんとはまるまで少しずつ穴をカッターナイフで削って大きくしていくとうまくいく。

箱をとりあえず組み立ててみて、顔に当ててみる。鼻がぶつからないように切り込みを適当に入れる。

Vカットが表になるように発泡スチロール板を置き、レンズの"太ったほう"の面が同じく表を向くように穴にはめこむ。ダクトテープでレンズの端を固定する。

液晶ディスプレイにかからないように、ディスプレイの枠をダクトテープで発泡スチロール板に固定する。上下の向きに注意すること。枠が若干はみ出したのでニッパーでネジ止めの部分を切った。

液晶ディスプレイのコントロールボードを液晶ディスプレイの貼り付けられた面の裏にダクトテープを輪っかにして両面テープのようにしたもので仮固定する。

液晶ディスプレイとコントロールボードを繋ぐケーブル用の穴としての切り込みを適当に入れる。(写真は完成後だが、切り込みにケーブルを通しているのが分かる)

箱を組み立てる。ダクトテープをどうぞ。

ここで、Furlan氏曰く、

私はテープの切れ端で左のレンズの左側と、右のレンズの右側のそれぞれ1cmを覆ったが、君もそうすることをおすすめする...(略)...そうすることでディスプレイの端が視界に入らなくなり、より没入できるHMDになるはずだ。

そうらしいので、僕もそうした。(しかし7インチのディスプレイならばこうした問題は起きなかった可能性がある)

ここで一度、動作確認をする。適当にOculusRift用の映像を流しつつ、顔に当てて確かめる。

ゴーグルの板を外して組み立てた発泡スチロール箱にダクトテープで固定する。ゴーグルの枠は湾曲しているので隙間があくが、ダンボールの切れ端で上から覆って適当に塞ぎながら固定するとよい。

ダクトテープで液晶ディスプレイのコントロールボードを落ちないように固定する。

完成である。

サンプル動画

とりあえずYoutubeに落ちているOculusRift用の動画を見ると楽しい。

Oculus Rift Canyon Run

既知の問題点とその解決方法案

次回作る場合や、このページを見て自作する人に向けた改善したらいいと思う点。

レンズと目との距離が離れすぎているために視野角が狭い

単なる距離の問題である。ゴーグルを削るか、発泡スチロール箱を削って、ゴーグルの中にレンズを押し込めるようにすれば、レンズと目との距離が縮まり、改善するだろう。

レンズ間の距離が人によって異なり、合わないことがある

何らかの後からアジャストできる仕組みが必要である。スライドできるような感じにできればいいのだが。

ダクトテープの臭いがひどい

鼻をダクトテープで固めた箱に突っ込んでいるせいである。鼻あてを別に作って貼り付ければ改善する(はず)。

埃が入り込んで画面に張り付く

発泡スチロール箱を完全に密封するか、後で開けられるようにしておくことで対応できるだろう。

発泡スチロール板の値段が高い

今からしてみればダンボールで十分だったかもしれない。実際にググるとダンボールで作っているひともけっこういる。

箱を作るのがめんどくさい

タッパーで作ったらどうかと考えている。フタにディスプレイを貼り付けたら簡単に着脱できるし便利だ。

直径5cmで倍率5倍のレンズがなかなか手に入らない

倍率が低いレンズを複数枚重ねたり、倍率が低いレンズで箱の奥行きを大きくして対応したりすることが解決法として考えられる。

まとめ

けっこういきあたりばったりで作ったが、そこそこのクオリティのものができた。今後はもっと工程を省略して、材料も安く、どこでも手に入るようなもので作れるように、既知の問題点も含め改善していきたい。

0 件のコメント:

コメントを投稿