LoginSignup
21
13

More than 5 years have passed since last update.

Oculus GoでNOLO CV1を使えないかのテスト

Last updated at Posted at 2018-05-22

Oculus Goで腕と頭のトラッキングがしたくなって NOLO CV1 を試してみました。
https://www.amazon.co.jp/dp/B07C9XNFP8

結論から言うと動きました!開発目的なら無理矢理6dofハンドトラッキング+6dofヘッドトラッキングで遊べます。

デモ動画

セットアップ

  • Oculus Go上で自作Unity製アプリが動くようにしておく
  • NOLO CV1のペアリングを済ませておく
  • Bluetoothキーボードをadb経由で無理やりOculusGoとペアリングしておく(Nolo CV1の接続時のデバイス接続許可ダイアログを操作するため)キーボードペアリングは末尾にメモがあります。

NOLO CV1を使うOculus Goアプリのインストール

NOLOのサンプルシーンのapkをGearVR向けっぽくビルドして

adb install -r hoge.apk

でOculusGoに転送する。

NOLO CV1を使うOculus Goアプリの起動

adb shell dumpsys package com.Company.YourVeryCoolApp

みたいなことをしてメインのアクティビティが何か調べて、メインのアクティビティを直接am startする。
Unity2017.4.3f1では

adb shell am start -n com.Company.YourVeryCoolApp/com.unity3d.player.UnityPlayerActivity

こんな感じ。

そしてアプリが起動したらUSBデバイス接続ダイアログが出ます! OculusGoのレンズ越しに…
やった!タッチもマウスも効かない!!!

はい…

adb shell getevent -l

でもそれっぽいイベント無さそうなので
キーボード入力を無理矢理行います。

BTキーボードでOKを押す

2DのUSBデバイス接続許可ダイアログ上では、BTキーボードが使えます。
なので矢印キーとEnterキーでOKを選択、決定してUSB接続ダイアログを黙らせたら、無事自作NOLO CV1がOculus Go上で動きました。

現在のSDKだと毎回アプリ起動時にこのUSB機器ダイアログが出るので、結構手間です…

adb経由でキーボードイベントを発行する

BTキーボードがない場合、無理やりadb経由でキーボードイベントを発行することもできます。
以下は「次回からは接続を確認しない」にチェックを入れてOKボタンを押すコマンドです。
参考サイト: http://d.hatena.ne.jp/kinneko/20130820/p1

上から順に↓ enter ↓ → enter というキーイベントを発行しています。

adb shell input keyevent 20
adb shell input keyevent 66
adb shell input keyevent 20
adb shell input keyevent 22
adb shell input keyevent 66

BTキーボードのペアリング

blutoothキーボードを適当にペアリングしてしまえば、PC不要でデモ出来て便利です。
OculusGoにadbが通る状態で以下のコマンドを発行すると、素のAndroidのBluetoothデバイス追加画面に遷移します。
遷移先でキーボードペアリングをした後に。VysorでPCから画面を閉じるか、ペアリングしたキーボードでescを押してOculusGoのHome画面に遷移しましょう。

adb shell am start -a android.intent.action.MAIN -n com.android.settings/.bluetooth.BluetoothSettings
21
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
13