OpenVR-InputEmulatorでDevice Modeを変更しようとするとUnknown errorになる
OpenVR InputEmulatorはSteamVRの入力系を拡張するツールです。
この度、VIVEトラッカーの動きをVIVEコントローラーに割り当てようとしたところ、エラーが発生しました。
まず、SteamVRの OpenVR-InputEmulator の設定ページを開きます。
ここで、 Device Mode を Swap with にして、 Apply をクリックすると、以下のようになります!
以下のように書かれています。
Set Device Mode
Could not set device mode: Unknown error
動作環境
エラーが発生した時の動作環境は以下の通りです。
- Windows 10 64bit
- SteamVR 1.2.10
- OpenVR Input Emulator 1.3
調査
こちらに同じ症状の報告を見つけました。
https://github.com/matzman666/OpenVR-InputEmulator/issues/134
リンクをたどると、こちらのプルリクに行きつきます。
https://github.com/matzman666/OpenVR-InputEmulator/pull/130
どうやら、有志が作ってくれたパッチをSteamVRに充てることで対応できるようです。
※パッチはWindows10 64bit専用のようです。
対処法
SteamVRを停止する
まず、SteamVRが起動中なら停止します!
これが一番大事です!!
SteamVRにパッチを充てる
次に、プルリクの会話内に登場する driver_vrinputemulator_release_hopefully.zip をダウンロードし、解凍します。
中に driver_vrinputemulator というフォルダがありますので、
それを C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\driver_vrinputemulator
に配置します。
※SteamVRのインストール先をデフォルトから変更している場合は、それに合わせて、配置先も変えてください。
もし、 00vrinputemulator
というフォルダが drivers
直下にある場合は、削除した方がよいそうです。(念のため、バックアップはしてください。)
セーフモードを無効化する
そして、SteamVRを起動します。
私はここで、以下のアラートが出ました。
SteamVR in Safe Mode
Due to a recent crash, SteamVR is currently operating in safe mode. In this mode it will only load trusted drivers to avoid compatibility issues.
「最近クラッシュしたからセーフモードで起動したよ!互換性の問題を避けるために信頼できるドライバーのみをロードしたよ!」
みたいなことが書かれています。
このままでは、先ほど配置した driver_vrinputemulator も正しく読み込まれないようですので、セーフモードを無効化します。
ダイアログの Disable Safe Mode をクリックすればよいです。
SteamVRが再起動します。
以上で、作業終了です!
ここまでやってもうまくいかなかったら・・・
OpenVR-InputEmulatorが正しくインストールされていない可能性があります。
私のPCでは、SteamVRを起動したまま、OpenVR-InputEmulatorをインストールしたため、正常に動作しませんでした。
OpenVR-InputEmulatorをアンインストールしてから、PCを再起動し、SteamVRを停止した状態で、OpenVR-InputEmulatorを再度インストールしたところ、私のPCではうまくいきました。
さいごに
有志がパッチを作ってくれたおかげで、助かりました。