Dazzle tech blog

ダズルの開発者ブログ


Viveトラッカーを使ってホバーボードに乗ってみる

今年2017/3/27に発売されたHTC Vive用トラッカー、Viveトラッカー
これは現実世界のいろんなものに装着し、その位置情報をVR空間へ取り込んでしまおうというもの。
これを使ってホバーボードのシミュレーターを作ってみます。

Viveトラッカー
https://www.vive.com/jp/vive-tracker/ f:id:dazzle-tech:20170426153232j:plain マットな質感が素敵

ホバーボードとは

ここでいうホバーボードとは近年流行したセグウェイみたいな車輪のついたものではなく、スケートボードから車輪を外したようなこれです。

f:id:dazzle-tech:20170426153213j:plain

映画バック・トゥ・ザ・フューチャーシリーズに仮想の乗り物として登場しました。
ちなみに同シリーズにはVRゴーグルのようなデバイスも出てきますね。
未来!

f:id:dazzle-tech:20170426153151j:plain

用意したもの

バランスボード
※危ないので初心者用です f:id:dazzle-tech:20170426153202j:plain

セッティング

これの上にViveトラッカーを乗せただけ。
※養生テープを丸めて固定しています f:id:dazzle-tech:20170426153218j:plain

ゲームを作る

Unity(リビジョン5.5.2f1)を使用しました。
f:id:dazzle-tech:20170508103506j:plain

移動のロジック

仕様

  1. 速度はバランスボードの前後の傾きで操作
    ※後退あり

  2. 向きの変更はバランスボードの左右の傾きで操作

実装

  1. ViveトラッカーのY軸方向(垂直方向)単位ベクトルと自分オブジェクトのZ軸方向(進行方向)単位ベクトルの内積を取り、自分オブジェクトの進行方向にその内積に比例した値を速度として設定

  2. ViveトラッカーのY軸方向(垂直方向)単位ベクトルと自分オブジェクトのX軸方向(右方向)単位ベクトルの内積を取り、自分オブジェクトの向きをそのY軸を中心にその内積に比例した値の分だけ回転

※自分オブジェクトのY軸方向のベクトルは変化しない

※バランスボードの細かい動きをすべて反映すると視線の揺れが激しくなりVR酔いを誘発する恐れがあることから、内積が設定したしきい値を超えない場合は無視している

※Viveトラッカーの形状とデフォルト向き設定の都合、実装上はtransform.forwardをY軸方向単位ベクトルとして使用している

使用した背景アセット

Japanese Otaku City / ZENRIN CO., LTD.
https://www.assetstore.unity3d.com/jp/#!/content/20359

プレイの模様

こけた!でも楽しかった!
※見た目以上に危険なのでもし試されるときは安全を入念に確保してくださいね!
今回は検証ということで実装もシンプルですが、詰めていけば面白いコンテンツになりそうです。