Help us understand the problem. What is going on with this article?

Live2Dでアニメ調のリップシンクを実現する『AniLipSync-live2d』の使い方

はじめに

Live2Dでアニメ調のリップシンクを実現するAniLipSync-live2dというライブラリをリリースしました。
今回はその導入方法と使い方を紹介していこうと思います。

Nov-30-2018 08-24-00 (1).gif
「あーいーうーえーおー。こんな感じで、リップシンクができます!」

また、後半のモデルに適用する設定は説明しきれなかったので、動画も用意しました。適宜参考にしてください。

【解説】AniLipSync-live2dをモデルに適用する手順の紹介 - YouTube
https://www.youtube.com/watch?v=2j2KALzretk

環境

  • Windows 10 / macOS High Sierra
  • Unity 2018.2.10f1

必要なアセット

各パッケージについてはそれぞれが定めるライセンスに準拠してください。

AniLipSync-live2dの導入

Live2D SDKとLive2Dモデルが入っている前提で、導入の説明をします。

OVRLipSyncのインポート

マイク音声の取得にはOVRLipSyncというライブラリを利用します。

以下のページから、ダウンロードします。
https://developer.oculus.com/downloads/package/oculus-lipsync-unity

スクリーンショット 2018-10-18 4.36.57.png

利用規約とプライバリーポリシーに同意のチェックを付け、「Download」ボタンをクリックしてください。ダウンロードしたzipファイルを解凍し、中にある OVRLipSync.unitypackageをダブルクリックしてください。

スクリーンショット 2018-10-18 4.42.27.png

「Import」ボタンを押してファイルをインポートします。

AniLipSync-live2dのインポート

以下からAniLipSync-live2d.unitypackageをダウンロードしてダブルクリックします。
https://github.com/nkjzm/AniLipSync-live2d#download

スクリーンショット 2018-11-30 3.02.03.png

「Import」ボタンを押してファイルをインポートします。

サンプルシーンの動作確認

ProjectビューからAssets/AniLipSync-live2d/Examples/Scenes/AniLipSync-live2dをダブルクリックします。

上記の動画のように動作するか確認してください。

モデルに適用する

『桃瀬ひより』という公式のサンプルモデルを例に説明します。
自作モデルを利用する場合などは、適宜読み替えて進めてください。

口形素プリセットの作成

まずは口形素プリセット(VisemeClip)を作成していきます。

Projectビューで右クリックをして、Create/AniLipSync/VesemeClipを選択してください。

スクリーンショット 2018-11-30 3.16.36.png

「Aa」という名前で保存します。同様に、「E」「Ih」「Oh」「Ou」も作成してください。

スクリーンショット 2018-11-30 3.20.16.png

「Aa」を選択し、Inspector上で設定を進めていきます。

prefabという項目の右端の○を選択肢、設定したいLive2Dモデルを指定します。

スクリーンショット 2018-11-30 3.20.46.png

PresetがAaであることを確認します(異なっていれば同名に設定してください)。

スクリーンショット 2018-11-30 3.21.57.png

Transition Curveをクリックし、任意のアニメーションカーブを作成します。

おすすめ設定は以下です(右端の値が0.1である点に注意)

スクリーンショット 2018-11-30 3.23.32.png

アニメーションカーブの編集の仕方はこちらを参考にしてください。

カーブの編集 - Unity マニュアル
https://docs.unity3d.com/ja/current/Manual/EditingCurves.html

Serialized Propertyには、変化させたいパラメータの値を設定してください。

参考までに、ひよりモデルを使用した時の設定例です。
「Aa」以外の他の口形素についても同様に設定してください。

スクリーンショット 2018-11-30 4.58.06.png

以上で口形素プリセットの作成が完了しました。

シーンへの組込み

次に、実際のシーンに設定をしていきます。

ProjectビューからAssets/AniLipSync-live2d/Prefabs/AniLipSync-live2d.prefabをHierarchyビューにドラッグします。

スクリーンショット 2018-11-30 3.11.31.png

ProjectビューからAssets/Oculus/LipSync/Prefabs/LipSyncInterface.prefabをHierarchyビューにドラッグします。

スクリーンショット 2018-11-30 5.04.08.png

HierarchyからAniLipSync-live2dを選択し、AnimMorphTargetを以下のように設定します。

スクリーンショット 2018-11-30 5.06.51.png

  • model: シーン上のモデルを指定
  • Viseme To Shape: サンプルのプリセットが設定されているので、先程作成したものに変更

この状態で再生ボタンを押すと、マイク入力した音素に併せてモデルが口パクをすると思います。

動かなかった場合、別のリップシンクが有効になっていないかなど確認してください。

最後に

フィードバックなどあれば是非お待ちしております。

nkjzm/AniLipSync-live2d: Live2Dでリミテッドアニメのようなリップシンクを実現するためのライブラリです。
https://github.com/nkjzm/AniLipSync-live2d

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away