トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

mocopi下半身優先モードxUnityとSteamVRモードと自作拡張バンド

mocopiの下半身強化により、VRと組み合わせてもっと精度よくトラッキングできるようになった

www.sony.net

あと機能SteamVRにも対応したのでVRchatでも全身トラッキングできるようになったらしい。

ClusterはSteam前から独自で対応していたので前やった。VRChatもOSC受信で対応してたはず

bibinbaleo.hatenablog.com

バンド自作

腕につけていたものを膝上につけるにあたり、バンドを拡張する必要がある。

公式から配布されていたけど、1/10で終わったらしい。

マジックテープあればなんとかなりそう

できた

セリアにある結束用面テープ60cm

長さ十分に足りそうだったので半分に切る

そして半分に切った端っこを少し切って両面テープとか縫い合わせとかで端に止める

完成。少し幅が広かったので入れやすいように先っぽを細くした

 

下半身強化モード+Unity

アプリ起動時に高度機能にチェック

VR向け下半身優先を選ぶ。VR向けなのに頭はそのままなんだ!

下半身強化モードとPCVRモード違うのか~

どういう動きをしたら強化されてることが分かりやすいんだろう?

とりあえずアプリ上ではちゃんと動いた

 

Unityにリアルタイム送信

UnityのSDKをダウンロードしてUnityに入れる

Unity2022.3.7f1

mocopi-receiver-plugin-for-unity_1.0.5.1.zip

www.sony.net

アプリの外部機器との接続設定をmocopi(UDP)にして、IPアドレスとポートを確認。

 

Editorでサンプルシーンを動かしたが前回同様やはり動かない。

一応ファイアウォールの設定も変えた

富士通Q&A - [Windows 10] Windows Defender ファイアウォールで、手動でポートを開く方法を教えてください。 - FMVサポート : 富士通パソコン

 

動いた!受診の規則からUnityEditorの使ってるバージョンごと消したらいい!

qiita.com

昔waidayoを試したときもそれで動いたんだった。苦労した記憶ばかりで動いた記憶が消えてた

bibinbaleo.hatenablog.com

ビルド(もう必要ない)

Monoビルドして試しても動かない・・・前回試したとき何のモードでビルドしたか分からないけど、なんも設定せずにビルドしたら動いた気がするんだけどな・・・

 

公式にはIL2CPPにせよって書いているのでやる。

www.sony.net

IL2CPPのモジュールを入れた。

けど.Net4.xがない

.NET framworkでいいっぽい

forum.unity.com

TargetArchitextureの項目を見つけられない。あ、Windowsビルドでは要らないのか

 

ビルドするとVRM10でエラーが出るのでVRM全部消した

次はVisualSudioがあーだこーだって出る

ググったらVisualStudioInstallerから「C++によるデスクトップ開発」を入れるとよさそう

そしたら動いた!!

youtu.be

っていうか前回やった時こんなに苦労しなかったはずなのに・・・

 

そしてこれをUnityでOculusのVRのRigと一緒に使うにはどうしたらいいのかな~

UnityEditorで動かないからテストしずらい・・・

Androidビルドは対応してそうだから毎回ビルドすればいいのかな

SteamVRモード

基本的にはこのページの通りだがいろいろ引っかかったのでそこをメモ

www.sony.net

PCにSlimeVRというのを入れる必要がある

github.com

一番下のにチェック入れる

これを入れただけじゃSlimeVRが存在しなかったので、もう一度インストーラーをクリックしてアップデートしたらSlimeVRServerというのが入った。これでよさそう

 

mocopiアプリ起動してPCVRを選ぶ。

こっちのモードは頭が胸になってる!

センサーは体につけずにスマホとmocopiの接続をする。この画面が出てるからつけるのかと思っちゃった

そのあと設定の外部接続でPCのIPアドレスを入れる

これデフォルトのままでいいのかと思って全然PCとmocopiが接続されない~~って詰まってた

PCのipconfigで調べる

 

あとPCとスマホを同じWiFiにつなぐのを忘れない

 

そしてSlimeVRを起動して、mocopiで緑のボタンを押して送る。

すると全部表示される。

SteamVRにも早い段階でSlimeVRのアイコンが出てた。3つでいいのかな?

そのあと各センサーと紐づけ。紐づけてから体に身に着ける。左右がイラストだと鏡写しみたいになってるので、感覚やイラストは信じず文字だけを信じたほうがいい。私は間違えた

BodyProportionでAutomaticProportionを選ぶ。

ここが難しい・・・

身長の設定は立っていればいいのでできた

そのあとなんか5つぐらいの動きをしないといけないけど、HMD被りながらその情報を見れないし、音声で案内ないし、動きあっているかよくわからない

しかもそのあとの結果がボーンみたいなので表示されるけどぐちゃぐちゃ

これはあとでわかったけど、次のステップのキャリブレーションをしたらいい感じになるので気にしなくてよさそう。

キャリブレーションは腕を側面につけてまっすぐ立つのと、しゃがんだポーズをしたらフルトラッキングが完成。

追記

精度微妙だと思ってたけど、これのせいかも。私も設定でオンになっていなかった。あと日本語化できるんだ・・・

VRChat・Cluster

VRChatのメニューからFBTというのをやってキャリブレーションした。

そして気づいたが右足と左足が逆になってた。

いろいろやりなおしてもう一度動いたが、膝に手を当てるような動きをしてもぜんぜん合わない。

とりあえず足は動くが精度微妙~

Clusterの6点トラッキングもやった

こちらも動いたけど膝に手をついてもずれるな~

youtu.be

SlimeVRの設定難しいよ・・・

 

あと胸のセンサーを2回軽くタップするとニャーと言ってキャリブレーションされる

左太もももやりにくいけど一応反応した

Unity

SteamVRPluginを使えば、SteamVR経由で情報取れるのかな?

assetstore.unity.com

zenn.dev