LoginSignup
0
0

More than 3 years have passed since last update.

店舗接客などに使える仮想のキャラクターが扱えるアプリ開発をしました。そちらの説明はこちらになります。
https://qiita.com/NestVisual/items/fe4dd168178e27156682

環境:
Windows 10
Unity 2018.4.1
RealSense D435i

フェイストラッキングで顔を操る:

フェイシャルトラッキングをキャラに反映するときには、顔のデバッグデータの表示と同じ方法で行いました。Nuitrackの「FaceInfo」クラスは顔の表情データも含まれています。最初にテストしてみましたが、ニュートラル、怒り、驚き、幸せの表情に限定されています。さらに、自分の顔から「ニュートラル」と「怒り」以外の表情データの取得精度が低いと思いました。

Nuitrackの表情の代わりに顔の目印データから自分の顔の表情を計算してみました。例えば、目が閉じているかどうかを確認するために、目の上と下のような特定の点間の距離を測定しました。距離が一定の閾値以下であれば目は閉じているとみなされ、そうでなければ開いているとみなされます。

image.png

キャラモデルには「Face」というチャイルドオブジェクトがあり、「Skinned Mesh Renderer」コンポーネントが接続されています。このコンポーネントには、ブレンドシェイプの配列が含まれています。それぞれが個別の表情を操作します。顔の表情は、インスペクタのスライダーを使ってスムーズにブレンドできます。表情の優劣に応じて、0~100の値を設定できます。また、コードを使ってこれらの値を操作することもできます。このようにして、利用者の表情を動的にキャラに反映させています。VRoidモデルを使うと、モデルに付随するブレンドシェープしか使いません。

image.png

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