LoginSignup
2
5

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-06-06

はじめに

※今回は有料のアセットを用いております。
※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

2
5
1

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
5