Viveコントローラーがルームスケール他アプリで認識されなくなって詰まった話

ある日Viveを使用しようとしたときに以下の状態になって詰まったときのメモ。

状況説明

状態:SteamVRの小窓ではViveコンが認識されているがルームセットアップでオフの状態のままになる

(Viveホームでは使えるが、他アプリケーションでもコントローラーが認識されない)

f:id:fu_fusero:20180624191500p:plain f:id:fu_fusero:20180624191504p:plain

(改善した方法だけ見たい人は下のほうへスクロールしてください)

試したが改善しなかったこと

  • グラボのドライバの更新

  • USBドライバの再インストール
  • SteamVRの再インストール
  • Viveソフトウェアの再インストール
  • PCの再起動
  • Viveヘッドセットの再起動
  • コードの繋ぎなおし(USBは2.0と3.0両方)
  • Display port を HDMI に変更
  • 他のローカルユーザーを作成し動かしてみる
  • ベースステーションファームウェアを古いのにしてみる

(上記の方法で治ることもあると思うのでやり方は他サイトを見てやってみてください)

 

やろうとしたこと(余談)

下記記事の「ファームウェアのアップデートに失敗した場合」の部分で手動でベースステーションファームウェアの更新を行っていたのでコントローラーのファームウェアをいじってみようとしました。

pafuhana1213.hatenablog.com

上記記事中リンクの HowTo Update Firmware - Valve Developer Community に行ってみると「Controller Firmware」の項があってこれだと思ったのですが手順に従ってトラックパッドを押しながら電源入れてもドライブを認識せず…

ドライブを認識させる手順は以下サイトに書いてあるものでした。

Help- Vive controller lost charge- Beeps every 5 seconds- now brick :: SteamVR General Discussions

付け加えて日本語でまとめておくと

  1. コントローラーのシステムボタンを押して電源を入れる
  2. ケーブルでPCとコントローラーをつなぐ
  3. システムボタン以外を長押し(5~10秒くらい?)してはなす
  4. エクスプローラーで確認すると"CRP DISABLD"が認識されてる

まずC:\Program Files (x86)\Steam\steamapps\common\SteamVR\tools\lighthouse\firmware\vr_controllerを見てみてもarchiveの階層増えてるし指定されているファイルないし…

とりあえず書き込まれているfirmware.binをコピーしてからそれっぽいファイルに差し替えてみると...

Viveコンがシステムボタンを押してもうんともすんともいわないしランプが赤に光りっぱなしだし…

(ベースステーションの方は無事に古いファームウェアに書き戻し可能でした。)

見事文鎮化かと思ってめちゃくちゃ焦ったのですがコピーしておいたfirmware.binに書き戻したら無事に戻りました。(バックアップマジ大事)

SteamVR\tools\lighthouse\bin\win32\lighthouse_watchman_update.exeでアプデをかけるファームウェアもあるみたいなのでそれも必ずやらないといけないのかな…

 

治ったときにやったこと

  1. USBドライバの削除
  2. SteamVRの削除
  3. Vive Software、ViveDriver、VIVEPORT Diagnosisの削除
  4. C:\Program Files (x86)\Steam\steamapps\common\SteamVRを削除
  5. C:\Users\[User name]\AppData\Local\openvrを削除
  6. PCの再起動
  7. Vive Softwareのインストール (SteamVRは勝手に入れてくれる)

まとめ

なぜこの症状になったのか、またなぜ治ったのかはよくわかっていませんが個人の意見としてはOSのアップデートで使えなくなったファイルがアンインストールしてもSteamVRのフォルダに残っていたのではないかと思っております。

(なぜもっと早くアンインストで残るファイルがあると思わなかったのか)

 

このページを訪れた方の何かの参考にでもなれば幸いです。

UE4でUIをゲームパッド(キーボード)で操作する


UE4を使ってて思うのは探しても欲しい記事(特に日本語)が全然見つからない…のでメモ

ゲームパッドを使ってUIを操作するのを検索すると複雑なのが多い印象があった。オーバーライドしたり、レベルブループリントから関数を呼んだりとか。

 

そんな中見つけたのが

Unreal Engine 4 UMG Using a Gamepad - new version see below - YouTube

こちらの動画でGet Input Analog Stick Stateを使って入力を見るのがシンプルだしわかりやすいと思った。

 

けどまだ面倒くさい…

キーボードも可にしたらノード増えるし…

UIの配置を複雑にしてフォーカスが当たる順番も複雑ならこんな感じにする必要あるだろうけども…

Unityとかもっと簡単にできた気がするぞ…さすがにあるでしょっと思ってまた探す

 

 そしてやっと見つけた完璧な回答

Gamepad/Keyboard navigation in UMG menus? - UE4 AnswerHub

キーボードのフォーカスを使おうというもの

ノード数が少なくて素晴らしい。

 

これを参考に作っていく

f:id:fu_fusero:20170913040305p:plain

こんな感じで適当にボタンを置いて

f:id:fu_fusero:20170913040552p:plain

レベルブループリントから表示させる。

その時に最初にフォーカスするボタンを選んでおく(この場合one)

 

そしてWidgetのブループリントでフォーカスされているボタンの背景色を変更

f:id:fu_fusero:20170913041109p:plain

これだけで完成!

f:id:fu_fusero:20170913041558p:plain

さらに、この方法ならボタンが後から増えても配列の要素を増やすだけで対応できる!

 

こんな感じの点線が出てきて消したいときには編集>プロジェクト設定>エンジン>User Interface>Focus>Render Focus RuleをNeverにすればOK

f:id:fu_fusero:20170913041933p:plain

 

※ 2019/03/14 追記

フォーカスが切り替わったときの音(カーソルの移動音)を鳴らすならこんな感じ

中身としてはフォーカスされているボタンを保存しておくBeforeの変数を作成してそれとフォーカスされているボタンが違ったら音を鳴らすというもの

ちょっと雑な気もするけど…

f:id:fu_fusero:20190314160011p:plain

3日でVRゲーム作ってみた

少し前になりますが、Blocks というVRモデリングソフトがGoogleからでて使ってみたのをきっかけにゲームを作ってみました。

 

今回作ったのはアーチェリーゲームです。

色々VRやった中で弓が一番楽しかったので、自分でも作ってみようと...

 

行程としてはステージ、弓、矢等のモデルをBlocksで作成してUnityでVRゲームにする感じですね。

 弓のしなりもつけてみました。

 

 

完成したのはこんな感じのアーチェリーゲームです。

 

機会がありまして展示もしました!

体験された方のほとんどの人に楽しんでいただけたみたいで嬉しかったです!

 

学んだこととしては

・VR(ゲームの操作説明等)の説明したりする係がものすごく大変だということ

・睡眠時間を削ると後日響くから控えたほうがいい(ついついきりがいいところまで...って考えだすと止まらないですね笑)

 

最終的には魔法の矢を撃てるように改造していきたいなと思ってます。

LINK

最近気になったVR製品はHTCのLINKですね。

HTC U11という新しいスマホ専用の端末かと思いきや以下の記事によるとそうでもなかったみたいなのでさらに気になってきたところですよ。

www.gizmodo.jp

Type-Cでいいなら

 こういうこともできそうだし(パソコンじゃなくても他のスマホで使えそうだし) steamVR + スマホVRはNOLO VR一択くらいに思ってたけど液晶ついてるしLINK割といいなぁ。

(そういやNOLOは一回目の発送が始まった頃みたいですね~)

 

VIVEとかの方が高品質な体験できるだろうけどWindowsのやつとかミドルスペックVR?の幅が広がってきてわくわくしてくるね

ごあいさつ

こんにちは、初めまして。

ふうです。

 

このブログは考えたこと等をアウトプットするのに使ったり、覚えておきたいと思ったことのメモだったり、そしてたまには技術的なことを書いたりしていきたいなと思っております。

前のブログはUnityの記事を1回書いて終わってしまった...なんて言えない

 

主にUnityやVR関連のことを書くと思います。

よろしくお願いします!!