【Unity】【VIVE】トラッカーを見えないように隠す方法について

世界観を大事にする場合、トラッカーやコントローラーが自体がその世界感にマッチしない場合があります。
その場合、どうにかして隠すトラッカーを隠すという方法を思いつくのですが、隠してしまうとトラッキングが出来なくなってしまいます。
今回は、トラッカーをどうにかして隠せないか検証した時の結果について記載します。

注意

記事内の赤外線の説明について

私自身、学術的な知見が十分ではありません。
参考程度にご覧ください。

また、この記事を参考にされる場合は、私の検証環境とは異なるので、結果が変わってくるかもしれません。
実際に検証される事を強くおすすめします

検証にしようしたトラッカーについて

この記事は、「HTC VIVE Tracker」を購入して検証しておりません。
コントローラーについているトラッカーと同等の物だと想定して、コントローラーで検証行いました。

【国内正規品】 HTC VIVE コントローラ

【国内正規品】 HTC VIVE コントローラ

実際の「HTC VIVE Tracker」とはトラッキングの精度に差があるかもしれませんが、その場合はご了承ください。

【国内正規品】 HTC VIVE Tracker 2018

【国内正規品】 HTC VIVE Tracker 2018

また、「HTC VIVE Tracker」を購入を検討される場合は、自己判断でお願いいたします。
不可能だったとしても責任は負いません

結論

赤外線が通るものなら覆っても問題ないが、精度は落ちるのでおすすめはしません。  

光を反射、あるいは吸収しない素材で覆えば機能します。
しかし、透過出来る素材でも、透過しやすいもの、しにくいものがあるので一概に絶対問題ないという訳ではありません。

jsirgakuseikai.jimdo.com

コントローラを検知できる原理

VIVEのコントローラを検知する仕組みや、ベースステーションの仕組みについて解説する公式ページは見つけられませんでした。
しかし、VIVEの中の人に関する記事で次のように説明されているので、ベースステーションからの赤外線を使って位置を検出する仕組みのようです。

ベースステーションを置く最適な位置に関しては、基本的にはセンサー同士の距離が2m以上の場所でセンサーが下向きになるように置くのがベストです。
これはベースステーションが赤外線を照射する仕組みであるため、床等に置いてしまうと手や体に赤外線が遮られてしまうため快適な体験ができないという理由が述べられていました。

www.moguravr.com

検証

覆わない方が良いという結論ですが、念のためどれくらい影響があるのか身近な物で検証してみました。

検証方法

次のようなフローで検証します。

  1. コントローラーの上から被せる(もしくは、入れてしまう)
  2. Unityで、SteamVRプラグインを導入したアプリケーションを起動
  3. コントローラが入った物体を動かし、コントローラーのモデルが動くか確認

検証結果

検証結果については次のようになります。

  • ○:タイムラグがなくトラッキング出来た。
  • ×:トラッキング出来なかった。
素材 認識可否
厚手の紙(amazonのダンボール) ×
薄手の紙(ティッシュ)
プラスチック(バケツ) ×
厚手の布(ナップサック) ×
薄手の布(グレーのTシャツ)

理論上可能なもの

光が通るものであれば問題ないので、次のものは可能だと思われます。

  • 網戸
  • ガラス
  • ラップ
  • アクリル板

ただし、詳細な色や素材については詳しく検証する必要があるかと思います。

参考サイト

www.youtube.com ガラス越しに赤外線リモコンは反応するのか? – KG Press | ガラス情報発信メディア

理論上不可能なもの

光が通らないものは無理なので、次のものは不可能だと思われます

  • 木箱
  • ブリキ
  • 暗幕(光を吸収するため)

おまけ

とはいえ、どうしてもやりたいという場合があるはずです。
そんな場合は、ダンボールで形を作って、側面を肉抜きしてその中にトラッカーを入れてしまいます。

f:id:nakahashi_h:20180924034231j:plain

側面をなくしてしまえば、赤外線で検知が出来るので、(強度に問題はありますが)箱の形状を維持することは出来ます。