25 vmc
syui edited this page 2024-11-20 16:09:10 +00:00

前提

webcam(vmc) -> vrm4u(vmc)

手順

# vrm vmc
ip : 0.0.0.0
port : 39539
ignore local rotation : true

その後、vseefaceがなければ動かないことに気づきました。最初は動いていたような気がしたのですが、なぜか今やるとvseefaceなしでは動かない。

古い手順

webcam(vmc) -> vseeface(vmc) -> vrm4u(vmc)
  1. macbookのwebcam motion capture(有料機能)でvmc(外部アプリ)を送信します。この際、ip:$windows, port:39539にしてください。
# cmd(pwsh)
$ ipinfo /all
192.168.11.30

この場合はip:192.168.11.30です。

  1. windowsのvseeface一般設定 -> osc/vmcプロトコル -> 送信(127.0.0.1:39540), 受信(192.168.11.30:39539)にします。これをueに合わせます。

一般設定 -> osc/vmcプロトコル -> 送信(127.0.0.1:39540), 受信(192.168.11.30:39539)

  1. windowsからueのprojectを開いてabpでvrm(vmc)を設定します。
# vrm vmc
ip : 127.0.0.1
port : 39540

ABPを切り替えることで操作とモーションキャプチャができるようにしています。また、ABPのidleにvmcを追加してもいいかもしれません。この場合、キーを押す必要はありません。

  • 入力でABPを切り替える方法
  • ABPのidleにvmcを入れる方法

issue

  • 表情が動かない #9

build後に表情が動かない場合はlivelinkを使用します。これはiphoneにlivelink faceというappがあります。ueでいくつかのpluginを有効にします。

  • live link
  • apple arkit
  • apple arkit face support

/VRM4U/Util/Actor/latest/BP_LiveLinkFaceをmapにおいて、live link subject -> iphone, target actor sk -> SK_$nameを設定します。

character(player)にlivelinkを当てるにはblueprintを編集する必要があります。characterのdirにでもBP_LiveLinkFaceをcopyしてBP_Player(CBP_Character)に追加します。

ここでBP_LiveLinkFace -> livelink subject -> iphoneをセットしておきます。

次にBP_LiveLinkFaceを以下のような形でsk_$nameに置き換えます。場所はコメントを参考にしてください。私の場合は見た目をカスタマイズしているので少し複雑です。

https://blueprintue.com/blueprint/pu_xl52s/

vmcで行くべきか

基本的には依存関係が少なく使うアプリが少ないほうがいいですね。vmcの更新頻度やclient, vrm1のsupport状況を見るとueはlivelink路線のほうがいいかもしれません。

仮にwebcam motion capture -> vrm4uで表情も体も動かせるならvmcで問題ないですが、表情にlivelinkを使うなら全部統一するのがいいですね。

mocopiicloneはlivelinkなのでそちらが使えると思います。

docs : https://docs.warudo.app/jp/docs/mocap/vmc