WiiFitの例のアレが100円で売られていたので買いました.Haruです.
友人と雑談していたときに,WiiFitの台でVRCの移動ができたら面白いよねという話になり,検証した次第です.
はじめに
バランスWiiボードをキー入力にマッピングしているものがありましたが,今回はナウでアツいOSCで実現します.(OSCもかなり前だけど…)
これを利用することで,アナログコントローラのように体重移動で入力することが可能になります.
この方法はとりあえず動くだけのお話なので,実用は難しいかもしれません.(立ち止まってのメニュー操作などが難しい)
なにか問題やわからないこと,提案があればお気軽にコメントやTwitterで連絡していただけると非常に助かります.
この記事も問題だらけだと思いますので,その都度修正します.ご了承下さい.
問題点(2022-06-17追加)
VRモードで使用中,OSC越しでVRChatに移動データを与えると,腕のトラッキングが無効になるようです.
どうやらVRChatの仕様のようなので,この手法を使用する際にはご注意ください.
https://feedback.vrchat.com/feature-requests/p/osc-locks-arms
Demo
メリットとデメリット
メリット
- Oculus Quest2のハンドトラッキングと併用することで,コントローラレスVRが実現できる
デメリット
- MacOSが必要
- ソフトのライセンスが必要($23.99)
Wiimotelibを使用し,それにOSC転送できる機能を乗っければいいと思うので,そんな感じの事ができるソフトを今作ってます.おそらく失敗すると思うのであまり期待しないでください…
2022-06-15追記: 現在鋭意開発中です.進捗やソースコードは以下から確認できます.
2022-06-18追記: Windowsだけで実現できるWiiBoardOSCを公開しました.以下からダウンロードできます
https://github.com/HaruYJSN/WiiBoardOSC
環境
使用機器
- Mac: iMac mid 2011
- Win: 自作PC
ネットワーク
- サブネット: 10.128.1.0/24
- Mac: 10.128.1.9
- Win: 10.128.1.2
アプリケーションのインストール
Mac側
以下をインストールしてください
- Bluetoothモジュール
- OSCulator
Windows側
以下をインストールしてください
設定
Mac側
バランスボードのペアリング
バランスWiiボードのSYNCボタンを押し,ペアリングモードに移行させます.
その後,OSCulatorの設定から,Wiimoteを選択し,Pair a Wiimoteをクリックします.
一覧に出てくるバランスWiiボードを選択します.メイン画面が以下のようになると接続成功です.
値のマッピング
virtual xのEvent typeを OSC Messageに,ValueでNewをクリックし,Rewrite Addressに以下を入力します.
/input/Horizontal
virtual yも同様に,
/input/Vertical
と入力します.
以下の画像のようになっていれば問題ありません.
経路の設定
設定のOSC Routingsに入ります.
1のOSC URL or~~~~に以下のように入力してください
Windows側のIP:8000
Ex. IPが10.10.30.2の場合) 10.10.30.2:8000
このようになっていれば完了です.
Windows側
TouchOSCの設定
TouchOSCを起動し,赤枠で囲った部分をクリックします.
OSCを選択し,以下のように設定してください.
設定が完了したらDoneで終了します.
次に以下のファイルをダウンロードし,TouchOSCで開いてください.
http://haruyjsn.net/VRC_BalanceWiiBoard.tosc
以下のような表示に切り替わるとOKです.
VRChatを起動し,OSCを有効にします.
TouchOSCの再生ボタンをクリックします.
バランスWiiボードに乗り,重心を傾けると,移動します.
以上