2
2

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.

Craft EggAdvent Calendar 2021

Day 20

UnityFaceCaptureで遊ぶ

Last updated at Posted at 2021-12-28

本記事はCraft Egg Advent Calendar 2021の12/20の記事です。投稿が遅れてしまい申し訳ございません!
12/19の記事は@ryousangataさんのUnityのCoroutineのつまづきやすいところまとめ
でした。

はじめに

株式会社Craft EggでUnityクライアントエンジニアをしている中垣です。
@arumaniさんのiPhoneで3D空間に入って撮影できる『Unity Virtual Camera』でも紹介されているLiveCaptureのパッケージサンプルにUnityFaceCaptureというものがあるということを知ったので、できることやその精度を確かめてみようと思いました。

※Unity 2021.2.6.f1,MacおよびiPhone12を使用しています。

UnityFaceCaptureとは

UnityおよびUnityFaceCaptureアプリをインストールしたFaceId対応iPhoneを用いてリアルタイムで表情の変化を3Dモデルに反映させることができます。

また、キャプチャ中の動作を録画することによってアニメーションアセットとして出力することができます。
スクリーンショット 2021-12-28 16.42.35.png

(キーフレームの量が多いので修正して使うのは大変かもしれません)

導入方法と動作

前述の通り、LiveCaptureのパッケージサンプルですので
https://qiita.com/arumani/items/4b8c3058425031aa4d2f
こちらと同様の導入手順をご参照いただき、加えてLiveCaptureのSamplesプルダウンからARKit Face Sampleをインポートします。
スクリーンショット 2021-12-26 21.36.58.png

インポートしたアセット内のFaceCaptureSampleシーンを開いておきます。

FaceIDに対応したiOS端末にて
https://apps.apple.com/us/app/unity-face-capture/id1544159771
こちらをダウンロードします。

iOSでアプリを起動しUnityと通信接続するとシーン内の3DモデルがiOSでキャプチャした顔と同期して表情を変化させます。

精度を確かめる

色々な表情をしてみますがかなり正確にトラッキングできています。特にほっぺたを膨らませたりするような動きにも対応できているので対応している表情は多数存在しそうです。

できなかった表情は唇が前後する状態、鼻を動かす状態、舌を左右に動かす状態は表現できませんでした。舌に関しては前後のみ対応しています。
iOS の画像 (1).jpg

アプリ側の開閉メニューからワイヤーフレーム表示をONにしてみるとどのようにキャプチャしているかが分かりやすいですが、口はカメラでその差を捉えきれていません。鼻は少しワイヤフレームに変化があるものの、その差を表現するブレンドシェイプがないものと推測されます。

VRMモデルを使って遊んでみる

折角のトラッキング精度を他のモデルなどで利用できないか試してみました。
今回使用したモデルはVRoidのサンプルデータです。
VRMのインポートはこちらを参考にさせていただきました。
https://miyagame.net/vroid-unity-unity/

VRMのインポート時に生成されたPrefabにARKitFaceActorをAddします。
スクリーンショット 2021-12-27 10.04.37.png

SampleHeadMapperを参考にMapperを作成します。
スクリーンショット 2021-12-27 10.47.00.png

TakeRecorderの子のNew FaceDeviceのActorにインポートしたVRMPrefabを指定すると顔のトラッキングにモデルが反応します。
スクリーンショット 2021-12-27 10.53.13.png
スクリーンショット 2021-12-28 16.48.25.png

ただ、ブレンドシェイプが対応していないためか関係のない箇所が動作したり動きすぎてしまったりとそのまま使用することはできないようでした。改良やSampleアセットを参考にモデルを制作することでVTuber的な使用方法も考えられそうではありました。

まとめ

今回はサンプルを触ってみただけの内容ではありましたが、派生した使い方についても考えることができました。
ここまで記事をご覧いただき、ありがとうございました。

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?