見出し画像

MToonへの変換なし!アバターをほぼそのままVSeeFaceに持っていって配信する方法!VRC出身VTuber必見!

VSeeFaceはwebカメラで顔をトラッキングするやつです。顔のトラッキング精度が非常に良いので、雑談配信にはとても便利すが、基本的にはVRM資産のある人にしか使えません。それでも、特殊な変換をかけてあげるとliltoonのままアバター持っていけます。

今回は設定は詰めずに、最小限の設定でできるチュートリアルです。 揺れモノあたりは壊れるので、あとから自力での調整が必要です。とりあえず間に合わせて使う分には割といいと思います。

VRCほぼそのままの見た目で、VRに入らずに、webカメラだけでゲーム実況や雑談配信ができるようになります。なので、VRC出身のVTuberさんにはおすすめです。

長めですが、作業時間のほとんどはマウス操作でできるので簡単です。また、ファイルインポートと変換、マテリアルのセットし直しをするだけなので、ほぼ待ち時間です。

必要なもの

プロジェクトの作成

VCCでUnity 2019用のプロジェクトを作成します。残念ながら必要なVSeeFaceSDKが2022移行後に更新されていません。バグらないですが、VSeeFace側で読み込めないので、あきらめてUnity 2019で作り直してください。

必要なアセットの用意

VRM Converter for VRChat

VCCに「 VRM Converter for VRChat」を追加してください。 https://booth.pm/ja/items/1025226 アセットファイルでもいいですが、上記にもある通り、VCCにコミュニティリポジトリとして追加してあげたほうが簡単に管理できます。

その場合はVCCの「Manage Project」から「VRM Converter for VRChat」を追加してください。 この時、他のVRMなどはすべて勝手に有効化されるため、「VRM Converter for VRChat」のみで構いません。

VSeeFaceSDK

VSeeFace用に出力するためのunity用アセットです。 emilianavt/VSeeFaceSDK: The VSeeFace SDK for Unity is used to export models in the VSFAvatar format. (github.com)

上記ページからリリースページをクリック、

こちらのunitypackageをダウンロードしてください。

しばらく更新されていませんが、最新版にアップデートされていればそちらを使用してください。

アバターと対応したシェーダー

今回は桔梗ちゃんを使っています。Physbone側のアバターを使用しましょう。
【桔梗ちゃん対応】きゃっとあい【18色同梱】 - kyomShop - BOOTH

また、シェーダーとしてliltoonも使っています。
【無料】lilToon - lilLab - BOOTH

2022移行済みプロジェクトからアバターのエクスポート

今時、プロジェクトはすでに2022に移行済みだと思います。 その時は以下を参考にエクスポートしてみてください。

やり方は、今シーンのヒエラルキー上にあるアバターをプロジェクトにD&D。

下記ウィンドウの「Original Prefab」を押す。

保存されたアバターを右クリックして「Export Package」をクリック

すると関連するオブジェクトやシェーダーをまとめてエクスポートできます。結構便利です。多分そのままで大丈夫なはず?でもシェーダーとかはあらかじめインポートしといてね。

※ Edit→Export assetではありません!Editからエクスポートだと、プロジェクト全体がエクスポートされてやばいことになります。待ち時間だけで数分かかります。


VSeeFace

これはトラッキングソフト本体です。 ここからVSeeFaceダウンロードできます。 最新版で問題ありません。

起動のためにはもちろんwebカメラが必要です。また、セキュリティソフトによってはwebカメラの使用がはじかれることがあるので、適宜許可をしてあげてください。

おおよその流れ

  • 一度VRM形式に変換・プロジェクトにvrmファイルを再読み込み

  • MToonに変換されてしまったマテリアルをもとのマテリアルにセットし直す

  • vsfavatar形式でエクスポート

  • VSeeFaceでvsfavatar形式のアバターの読み込み

VRM形式でのエクスポート

一度VRM形式に変換する必要があります。
変換なしと言いましたが元のマテリアルをセットし直すので許して…。

まずは変換したいアバターを選択した状態で「Export VRM file from VRChat avatar」をクリックしてください。

するとエクスポート画面が出てきます。

「!」のついてるTitle、Version、Authorは変換上なんでもいいので適当に文字を入れましょう。

また、表情は任意のものを設定してあげてください。 表情類はどこから拾ってきてるんだ?多分だけどFX内にあるアニメーションを変換してくれるっぽい?

こんな感じで設定できます。サムネイルは適当な画像を用意してあげると、VSeeFace側でアイコンが表示されて、度のアバターかわかりやすくなります。

VRMに変換したファイルを再読み込みします。Unityに再変換されるため、少し時間がかかります。 また、こんな感じに各種フォルダも展開されるため、新しいフォルダを作ったうえでD&Dで読み込んであげてください。

Sceneに持ってくるとこんな感じで(特に)髪が変な感じになっています。

MToonに変換されてしまったマテリアルをもとのマテリアルにセットし直す

解決方法は単純で、マテリアルをもとのliltoonのものにセットしなおすだけで大丈夫です。

vrm-meshとvrm-mesh_withoutBrendShapeにSkinnedMeshRenderederが統合されています。

下のように元のマテリアルをD&Dするだけです。

こんな感じに元の見た目に戻っていればOKです!

vsfavatar形式でエクスポート

あとはvrmのアバターを選択して、「VSF SDK」→「Export avatar bundle」を押せばOKです。

保存ウィンドウが出るので、好きな場所に保存しましょう。

VSeeFaceでvsfavatar形式のアバターの読み込み

あとはVSeeFaceでvsfavatar形式のアバターの読み込むだけです。
起動して「アバターを登録する」を押して、

読み込んだアバターをクリック、スタートを押せばOKです!
(記事作成時にサムネを設定し忘れていたのでアイコンが表示されてないですが、あらかじめ設定すれば好きな画像にできます)

こんな風にそのままの見た目で読み込めました!やったね!

髪の毛がえらいことになっていますが、最低限の、liltoonのまま持っていけるのでクリアしたと言っても過言ではないでしょう。

ちゃんと横を向いたり、表情を認識したり、リップシンクをしたりできます。

揺れモノ(VRMSpringBone)の修正はどこから?

揺れモノはすべて「secondary」に移されています。

「VRM Converter for VRChat」が最低限の変換をしてくれます。
パラメーターはおかしいですが、揺れる設定自体は生きているはずです。

VRMSpringBoneでは触れる項目が以下の5つくらいなので、割と単純な調整しかできないことに注意してください。

  • Stiffness Force

  • Gravity Power

  • Gravity Dir

  • Drag Force

  • Hit Radius

修正のためにはパラメーターの微調整なので結構根気が要ります。
頑張ってね。

VRMSpringBoneの設定の参考になるページ

VRMの揺れ物の設定 VirtualCast]
【Unity】VRMモデルの髪をセットアップする - ForgeVision Engineer Blog
こういった試行錯誤してくれているサイトをいろいろ見て調整するしかありません。

VSeeFaceを使うメリット

最後になりましたが、VSeeFaceを使うメリットを書いておきます。

顔のトラッキング精度が特筆して良い

安価なwebカメラでも安定した配信が可能です。 広角のwebカメラを使うとほぼトラッキングが外れないのでおすすめ。 おすすめの機種はバッファローのBSW505MBKです。視野角120度の3000円前後と格安。 カメラから50㎝くらいの位置でトラッキングが外れずに左右30cmくらい、顔はほぼ真横まで動けます。

↑こんな感じでもトラッキングされてます。だいぶすごい。

透過してOBSで背景画像と組み合わせて使える

これも強いメリットです。クロマキーが不要なので、クロマキーが出来ない派手なアバターでも問題なく透過できます。また、好きな配信用の背景画像やOBS用の動画背景を転用でできるのもメリットです。

やり方はOBSからゲームキャプチャでVSeeFaceを指定、「透過に許可」にチェックを入れると、

こんな配信画面にできます。背景はただのpng画像2枚を組み合わせただけです。

ちなみに不要な項目は右下の「※」をクリックすると消えます。「※」ボタン自体もスペースキーで表示・非表示を切り替えることができます。

これで勝ちです。

軽くできる

単機能なので、設定を詰めればGPU負荷はだいぶ軽くできます。 フレームレート制限は必須です。GPUを食いつぶします。GPU90%の500fpsとかになる。

右下に表示するだけなら、解像度をHD以下にして、アンチエイリアスを切るとだいぶ軽くなります。

↑5800X、RTX3090、RAM32GB環境。1280x720、アンチエイリアスなし、60fps制限。 メモリは食うのでぎりぎりだとつらいかも?30fpsまで制限するとここからさらに半分のGPU負荷になります。

まあ、そもそもそんなに重たくないのでアンチエイリアスありでもどうにかなります。

↑1920x1080、アンチエイリアスx16+SMAA。

ほかのソフトでも使えるけど一応メリット

・MToon以外のシェーダーが使用できます。揺れモノ以外の見た目を損なわずにアバターを持ってこれます。

・VMCProtocol関連の資産が使えます。VSeeFaceで受信して、体や手足を動かしたりもできます。

今回のメインですが、この辺は後発のWarudoのほうが優秀です。 正直、ここだけならVSeeFaceじゃなくてWarudoでいいです。

え?なら何でVSeeFace?となりますが、とにかく軽いのでゲーム実況ができます。これが特に強いです。 そのほかにも、透過しているのでクロマキーで抜いたストリーマーみたいな画面構成もできることも地味な強みだと思います。

※ 未確認ですが、ゲーム側のFPSに合わせてフレームレート上限を設定したほうが身のためです。ゲーム側のFPSがVSeeFace側に引っ張られることがある気がします。


おわりに

ここまでお疲れ様でした!活動の力になれれば幸いです。

VSeeFaceは軽め+webカメラで完結するのでおすすめのソフトです。とにかく気楽に配信できるので、1日でも配信日を増やしたい人はぜひ試してみてください。低負荷なので作業配信などにも便利です。

ちなにみ日本語訳にはしばらく前に一度だけ自分が関わっています。3DとかUnity、トラッキングの専門家じゃないのでそんなに活躍できなかった思い出。開発者の方が日本語を頑張って勉強して翻訳されているので、改善案があれば伝えてあげてください。


それでは。クロガネでした。

この記事が気に入ったらサポートをしてみませんか?