トマシープが学ぶ

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

waidayo+PC連携で遊ぶ

前回パーフェクトシンクで遊びました

bibinbaleo.hatenablog.com

その時に知ったwaidayoというVRMを動かせるiPhoneアプリ。

公式PCクライアントやUnityと連携してiPhoneのfaceTrackingで取得した表情データをPCに送れるけど、前回なぜかうまくいかなかったのでリベンジ

github.com

waidayo+waidayoPC

Windows+Macで動く公式PCクライアント

nmch1222.booth.pm

wikiの使用方法だとIPアドレスを入れて連携すると書いてあったけど、入れなくてもできるらしい

 ただ私は失敗過程で何回もIPアドレス入れてしまったので改めてiPhoneアプリに入れたらつながった!Portは39540

f:id:bibinbaleo:20201125093556p:plain

IPアドレスはPCソフトの上の部分に表示されている。

f:id:bibinbaleo:20201125092712p:plain

ほぼ遅延なくてすごい!

これをOBSに取り込んで、仮想カメラとして会議に参加したけど楽しかった。

やったこと

・PCとiPhoneは同じWifiにつなぐ必要がある。(ネットワーク詳しくないから知らなかったけど、2Gと5Gは違っててもつながった)

・モデルはVroidHubから読み込むのではなく、アプリにはiTunes経由でdefault.vrmというファイル名にしたvrmを読み込む。

WIndowsにiTunes入れてUSBでPCとiPhoneつないで、ファイル共有

f:id:bibinbaleo:20201125094534p:plain

アプリ選択して、ファイルを追加

f:id:bibinbaleo:20201125094431p:plain

PCも同様にdefault.vrmにしたファイルをwaidayo_pc.exeと同じ層に置く

f:id:bibinbaleo:20201125094322p:plain

 

その他設定は以下の質問集参考

よくある質問集 · nmchan/waidayo Wiki · GitHub

 

こちらの記事にも導入方法書いてあった

vtuberkaibougaku.site

Unity連携(EVMC4U)

EVMC4Uというunitypackageを入れたら連携できるらしい

booth.pm

EVMC4Uの使い方はこちら

How to use · gpsnmeajp/EasyVirtualMotionCaptureForUnity Wiki · GitHub

動画もある

www.youtube.com

v3.7をダウンロードしてUnity2019.4に入れた。

UniVRMも同梱しているので空っぽのプロジェクトに入れたほうが良さそう。

既にunivrmとかいろいろ入っているプロジェクトに入れたらエラーが出た気がする

 

ExternalReceiverシーンを開く。

vrmファイルをシーンに置く

f:id:bibinbaleo:20201125094325p:plain

ExternalReceiverオブジェクトに付いているExternalReceiverのModelにシーンに置いたvrmモデルをセット

f:id:bibinbaleo:20201125095756p:plain

これでUnityをPlayする

iPhoneアプリではポートを39539にする

基本的な使い方 · nmchan/waidayo Wiki · GitHub

動かない(解決した)

これで行けるかと思ったけど動かない~

IPアドレスが違うのかな~?黒い画面でipconfigしてでたIPアドレス入れたりもしたんだけど

Unity2018で試したけど無理

StatusはWaiting for VMC

f:id:bibinbaleo:20201125103950p:plain

 

ちなみに途中でwaidayPCを立ち上げたら自動でiPhoneアプリのポートが39540になってつながってた

f:id:bibinbaleo:20201125104051p:plain

Windowsファイアーウォール

discordで教えていただきました。

おおむね下の記事通りにやったら動きました。

qiita.com

Windowsの検索窓からでFirewallで検索

詳細設定

f:id:bibinbaleo:20210210115736p:plain

受信の規則

f:id:bibinbaleo:20210210115614p:plain

記事では「UnityEditor」を選んで消去と書いているけど、私は個別のUnity2019.4.xを選んで消さないとダメだった

f:id:bibinbaleo:20210210115611p:plain

エディタ起動。セキュリティのポップアップが出るので、両方チェック

私は上のPrivateネットワークでの通信を許可するみたいなのにチェック入ってなかった。

これで動いた!

f:id:bibinbaleo:20210210120032p:plain

f:id:bibinbaleo:20210210120113p:plain

(技術)VMCProtocol

技術的にはVMCProtocolという「バーチャルモーションキャプチャーの情報を送受信するためのプロトコル」を使っている。

protocol.vmc.info

仕様が公開されていてUnityPackageもあるので、自分で組み込んで使える。そのUnityPackageが上で使ったEVMC4U

github.com

こちらの記事が詳しかった

qiita.com