見出し画像

Quest3ユーザーがトラッカーを自作してフェイストラッキングしてみた話

TL;DR

今回はフェイストラッカーを自作してVRChat内で口元だけフェイストラッキングした話です。
DeepLとかGoogleTranslaterとかに英語流し込んで読める人・そこそこ自分で頑張れる人向けに書いてるのでもろもろ端折ってます。わかんなかったら聞いてください。暇なときに回答します。
とはいえ、vscodeやgitの操作方法とかの調べたらわかる基礎的なところは勘弁してください。そこら辺が自己解決厳しい人は自作せず企業が出すのを待った方がいいです。

やったこと

僕はセレスティアにこれOSCmoothを適用して使ってます。

用意したもの

ProjectBabbleとは?

Babble is an opensource mouth tracking project designed to work with any existing VR headset. We strive to make our models robust to different lighting, cameras, image qualities, and facial structures!

https://github.com/Project-Babble/ProjectBabble

2022年7月8日に最初のcommitがあるプロジェクトで、オープンソースの口トラッキングを実現する的なやつです。
リポジトリを見る限りnetv2-b0モデルを利用して何かしてるみたいです。

Wi-Fiカメラの作成とHMDへマウント

用意したものリストのESP32はWi-Fi用のアンテナとカメラの基盤とESP32が入ってるので、ESP32にアンテナをつないで、カメラ基盤をつけ、元からついてるカメラモジュールを外した後に広角カメラモジュールを取り付けます。
その後、以下の方法で書き込みます。

似たようなプロジェクトでアイトラッキングのためのEyeTrackVRがあります。そこにローカルネットワーク内で動作するESP32を使ったWi-Fiカメラの作成方法が書いてあるのでそれをもとにESP32に書き込んで完成です。
ちなみに、僕はhttp://○○.localで接続できるようにしました。毎回IPアドレス調べるの面倒なので。

とりあえず、マウントは両面テープとマステでどうにか括り付けました。
不格好なのでいつかケースとか作ります。

その後は…

後はいつも通りVRかぶって、Wi-Fiカメラをポータブルバッテリーとつなげて、ProjectBabbleとVRCFaceTrackingを起動して対応アバターを使うだけです。
ProjectBabbleの設定画面にいろいろ項目がありますが、正直ドキュメントがなくてよくわかりません。スタートキャリブレーションをクリックしてしばらくするとTrakingにステータスが変わるので、それやっとくと調子いいかも?ぐらいです。

美味しいコーヒーが飲みたい! なんか面白いガジェット買いたい!