LoginSignup
5

More than 1 year has passed since last update.

posted at

updated at

UnityとDlibFaceLandmarkDetectorでキャラクターのアバターを動かす(CVVTuberExample)

はじめに

※今回は有料のアセットを用いております。
※Webカメラが必要です。

VTuberさんが人気ですが、キャラクターのアバターを自由に動かせると楽しいですよね!
今回はWebカメラでキャラクターを動かせるCVVTuberExampleを試しました。

Dlibで機械学習のアプローチで画像内の顔のパーツを認識し、モデルを動かす仕組みのようです。

参考

こちらの記事を参考にさせて頂きました。ありがとうございます。
UnityでDlibFaceLandmarkDetectorを利用した顔器官検出アプリ事始め

キャラクターの作成

VRoid Studioを使ってキャラクターを作りました。
※今回はテストなので、VRoidサンプルデータからあまり変更していません。
作成したキャラクターをvrmファイルにエクスポートします。

Unityプロジェクトの作成

まず新規の3Dプロジェクトを作成します。
以下のアセットをインストールします。※価格は2020年6月時点での税別価格です。

UniVRM
OpenCV for Unity ($95)
Dlib FaceLandmark Detector ($40)
CV VTuber Example (FREE)

※Unity 2019.1環境下ではCV VTuber Exampleをインストールした後にTextMesh Pro関連のエラーが大量に出ましたが、
プロジェクト設定のScripting Runtime Versionが書き換えられるためで、
Scripting Runtime Versionを.NET 4.5互換に戻してやると正しく動作するようです。
プロジェクト設定の画像

WebCamのサンプル

  1. Assets/CVVTuberExample/CVVTuber/Examples/WebCamTextureCVVTuberExample にある WebCamTextureCVVTuberExample.unity シーンを開きます。

3.
Assets/DlibFaceLandmarkDetector/StreamingAssets
フォルダの中身を
Assets/StreamingAssets
フォルダに移動します。

  1. メニュー内の、
    • Tools > OpenCV for Unity > Set Plugin Import Settings
    • Tools > Dlib FaceLandmark Detector > Set Plugin Import Settings
    • Tools > CVVTuberExample > Set Plugin Import Settings
      をそれぞれ実行します。

これを実行すると、カメラの映像に合わせてサンプルキャラクターの顔を動かすことが出来ます。
screen01.png

VRMのサンプル

  1. Assets/CVVTuberExample/CVVTuber/Addons
    にある VRMCVVTuber.unitypackage パッケージをインポートします。

  2. Assets/CVVTuberExample/CVVTuber/Addons/VRMCVVTuber/Examples
    フォルダに追加された VRMCVVTuberExample.unity シーンを開きます。

  3. シーン中にあるMissing Prefab となっているオブジェクトを削除します。

4.プロジェクトに適当なフォルダを作り、先ほど作成したvrmファイルをインポートします。

5.インポートしたvrmファイルからプレハブが作られるので、シーン内に追加します。
screen03.png

6.VRMControllManagerオブジェクト中のVRMLoaderコンポーネントの値を設定します。

Vrm File Name : VRMファイルのパスを指定します。なぜか最初の"Assets/"は不要です。
Meta : VRMファイルをインポートしたときに作成されたメタファイルを指定します。

これを実行すると、カメラの映像に合わせて自作キャラクターの顔を動かすことが出来ます。
screen02.png

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
What you can do with signing up
5