7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

VMCProtcolを使って連鎖的にいろんなソフトを繋いで Blenderに表情からつま先まで全身のモーションを流し込む方法

Last updated at Posted at 2022-08-18

この記事は業務でTDPTのモーションを使用する機会がありまして、Blenderでモーション編集して使えないかと模索していたところ、VMC4Bさんがv1.1.1にアップデートされて、うちのアバターのブレンドシェイプが送信できるようになったので試してみました。
無事全部のモーションをまとめてBlenderに送信し、録画までできるようになりました。
ほとんどが無料のソフトばかりでここまで出来て感動です。
VMCProtcolを使って連鎖的にいろんなソフトを繋いで Blenderに表情からつま先まで全身のモーションを流し込む方法 - Qiita - Google Chrome 2022_08_18 16_56_31.png

準備

使用したソフト・アプリについて

TDPT v0.5.1 - Win
waidayo v1.2.0 - iOS
VSeeFace v1.13.38 - Win
Blender v2.90.1 - Win
Blenderのアドオン
└VRM Add-on for Blender v2.3.30
└VMC4B v1.1.1
各リンクは最後にまとめています。

アバター

「りゅん」と「りしゅな」のパーフェクトシンク対応アバターを公開していますので、ぜひテストにご利用ください。
「りゅん」

「りしゅな」

使用動画をSNSに公開することも自由にできますので、うちの子たちを楽しく使ってください。

ハードスペック

PC:
Windows10
Corei5-7500
メモリ 8GB
グラフィックカード GTX 1050
TDPTが20FPS程度で動作するスペックがこちらです。
ただ、TDPTは動きはしますがいろんなソフトを同時に使いますのでもうちょっと上の方がいいと思います。

スマホ:
waidayoはTrueDepthカメラを使いますので、iPhoneX以降のものです。

ネットワーク:
PCとスマホはローカルネットワークでアクセスできる状態にします。
1台のwi-fiに接続またはネットワーク共有などを使用。

アバターは「りゅん」のパーフェクトシンク対応版を使います。

今回試した環境

PC:
Windows 11 Pro
Corei7-10750H
メモリ 16.0 GB
グラフィックカード RTX2060

スマホ:
iPhone12
iOS15.6

ネットワーク:
同一wi-fiによる接続

方法

全体像

図1
waidayo    TDPT
  ↓      ↓
   VSeeFace
     ↓
    Blender

waidayo: パーフェクトシンクのブレンドシェイプを送信します。
TDPT: 全身のボーンを送信します。
VSeeFace: 上2つの受信、送信
Blender: アドオンのVMC4Bで受信、モーション録画

機器の配置はこのような感じ、Webカメラには全身が入るようにしてください。
図2
全体像

手順

パーフェクトシンク対応の「りゅん」アバターをダウンロードしておきます。
※ ご自身のアバターの場合は全てのアプリで同じアバターを使うようにしてください。

PCをWi-fiに接続

VSeefaceで「りゅん」のアバターを指定して起動します。
設定>一般設定
①:OSC/VMCプロトコルで送信
②:OSC/VMCプロトコルで受信する
①、②を一度すべてオフにする

②をオンにする
③:LAN IPを表示
その下のポートは39540(任意)にする。

VRoidHubのサイトで「りゅん」にハートを付けておきます。付けてもらいたいだけじゃないですよ?アプリからアバターを使うためですから。付けてもらいたいだけじゃないです。
優しい方はついでに「りしゅな」にもハートをお願いします。()

iPhone側でwaidayo起動
メニューボタン>FaceTrackingタブ
Face Tracking ModeのFace Only(With VMC)を選択
メニューボタン>Generalタブ>VRoidHub
上部タブ「Liked」からアバターを選択

メニューボタン>Send Motion IP Addressを③のIPを入力、その下のポートに39540を入力します。

モーション受信できない時に試すこと
・ファイアウォール設定を一時的に切る。
・waidayoのポート入力に一度0を入力して入れ直す。
・waidayo、VSeeFaceの再起動。
私はいつも上記をいろいろしたりしてなんだかんだ時間かけて接続します。

これで顔をVSeeFaceに送信できました。

TDPTを起動します。アバターは初期設定のままでOKです。
Source Deviceでカメラ選択すると動き出します。
またはLoadMovieで動画を選択し読み込みます。

Configuration>Others>Send VMC Protcolをオンにする
IPに③を入力、ポートは39541にして、下のApplyを押して反映させます。

VSeeFace 設定>一般設定
二次のOSC/VMCプロトコルの受信機能をオンにする。
ポートに39541を入力。
下のチェックマークは「ブレンドシェイプを受信」以外はオンにします。

Blenderを起動
ファイル>インポート>VRM
でアバターを選択して読み込む。

ショートカットN >VMC4Bタブを開く
アドレスに127.0.0.1、ポート番号は39539(任意)にします。
アーマチュアにシーンコレクションからアバターをDDします。

VSeeFace 設定>一般設定
OSC/VMCプロトコルで送信するをオンにします。
IPは127.0.0.1、ポート番号は39539を入力します。

BlenderのVMC4Bタブで▶Connectすると受信が始まります。
その下のStartRecordingでモーション録画ができます!すごい!

完了!

参考に各送受信の設定画面

waidayo
waidayoの送信設定

TDPT
TDPTの送信設定

VSeeFace
VSeeFaceの送受信設定1
VSeeFaceの送受信設定2

Blender
Blenderの受信設定

最終こんな感じになりました

各リンク先

あとがき

最終動画を見た感じ、まばたきなどの顔のブレンドシェイプが飛んでしまっている部分があります。
ハードのスペック不足かネットワークか…
PCのスペックは最後Blenderでモーション録画まですると結構ギリギリな感じでした。ソリッド表示でなんとか耐えれる。
あと、いろいろ動作してBlender起動することになりますが、起動しなかったので、TDPTが重たいと思い一旦動画読み込みを止めました。
iPhone12もこの記事で説明する用に画面録画したらフリーズするぐらいスペックギリギリでした。

Blenderでモーション録画まで出来たので個人的にはここからアクション分けの方法を勉強したいです。

TDPTの「上手なモーションキャプチャーのコツ」や設定についてはこちらを御覧ください。
https://digital-standard.com/tdpt-win-operation-instructions/

最後に、各アプリ・サービス・ソフト開発者の皆様、いつもありがとうございます。

余談

はじめまして、TDPTのアバターとかUIとかドキュメントとかWebサイトとか…もろもろ担当している者です。Unityが好きです。
TDPTの実用的な使い方を発信し皆様のお役に立つことができればと思い投稿致しました。

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?