2019年3月14日木曜日

Live2Dで作成したキャラクターのデータをFaceRigに組み込む方法

 今回は、Live2D+FaceRigでリップシンクなど表情変化するアニメを作ってみることにしました。
 リアルタイムで音声と動きのついたアニメを作ることができますので、完成すれば、VTuber(Vチューバー)デビューも夢ではありません。

■Live2Dとは


 Live2Dというのは、だいたい、絵をパーツに分けて、動きをつけることができるソフトだと思って下さい。
 Live2Dは、公式の説明が詳しくてわかりやすいので、説明はそちらを見ていただくのが一番かと思います。
Live2D公式 https://www.live2d.com/ja/

 パーツごとに分けた絵を作成し、PSD形式で保存して読み込み、動きをつけていきます。
 絵を描くのには、私は、クリスタ(CLIP STUDIO PAINT)を使用していますが、レイヤー分けができてPSD形式で保存できるお絵かきソフトであれば、何を使ってもかまいません。

■FaceRigとは


 FaceRigというのは、主に3Dのキャラクターを、簡単にリップシンクなどをして動かすことができるソフトです。さらに、FaceRig Live2D Module というものを追加すると、2Dのキャラクターも動かすことができるようになります。

  FaceRigは、海外のソフトのため、若干ハードルはありますが、Steamに登録して、ダウンロードし、インストールするだけです。説明動画やスクリーンショットもありますので、およそどんなことができるのかわかると思います。


FaceRigの入手はこちら。 SteamのFaceRigのページです。

 通常価格:FaceRig 1480円 + FaceRig Live2D Module 398円 必要です。
 セールも時々あるそうです。

■前段階


  お絵かきソフトと、 Live2DとFaceRigがインストールでき、正常に使えているのが大前提です。

 さらに、Live2Dのデータもできている状態での話になります。
 少女や少年、デフォルメキャラクターであれば、公式ページなどを参考に、パーツ分けして作成し、テンプレートに合わせ、必要に応じて修正を加える方法が、一番簡単かと思います。

 今回は、ここまではできている前提で、Live2DからFaceRigへのデータの受け渡しについての話になります。

■用意するデータ


 Live2Dで作成したキャラクターのデータをFaceRigに組み込む方法です。


 今回、やってみて何度か失敗をしたので、 2019年3月時点での更新情報として備忘録的に書いておくことにしました。

 Live2Dは、Cubism 3を使用しています。
 最新のCubism 3.3です。

現時点では、FaceRig側が最新のCubism 3.3にきちんと対応していないので、 Cubism 3.3であっても、 Cubism 2.1用のmocファイルにする必要があります。

■テクスチャアトラスの作成


  Cubism 2.1用のmocファイルを書き出すためには、まず、テクスチャアトラスを作成します。


 上部メニューの [モデリング]→[テクスチャ]→[テクスチャアトラス編集]をクリックします。
 または、

 赤矢印のボタン[テクスチャアトラス編集]をクリックします。




[新規テクスチャアトラス設定]ウィンドウが開きますので、Cubism 3のFree版の最大値である幅2048px、高さ2048px以下に設定して、OKを押します。

 ■mocファイルの書き出し




 次に、上部メニューから、[ファイル]→[組み込み用ファイル書き出し]→[mocファイル書き出し(2.1用)]を選択します。





[書き出し設定]ウィンドウで、「モデル設定ファイル(model.json)を書き出す」にもチェックを入れて、一緒に書き出します。
[OK]をクリックすると、

[キャラクター名].2048 というフォルダに入ったテクスチャアトラス、moc形式のファイル、モデル設定ファイル(model.json)の3つが一気に書き出されます。


 ■物理演算ファイル


  データ作成で注意すべき点は、最新のCubism 3.3では、物理演算設定が、Cubism Editor からになっている点です。


  上部メニューから、[モデリング]→[物理演算・シーンブレンド設定を開く]をクリックします。

 そして、物理演算設定を終えたら、メニューから、[物理演算]→[物理演算設定の書き出し]をクリックすると、物理演算設定ファイル(physics.json3)が書き出されるのですが、これはFaceRigでは対応がありません。physics.json のファイルが必要です。




 このため、古いバージョンであるLive2d Cubism2の Live2d viewer が必要です。

 Live2d viewerをインストールする前に、さらに、Adobe AIR もインストールしておく必要があります。

 どちらも、Live2DCubism2 の公式マニュアルサイトであるこちらから入手できます。




 紫の枠の方のViewer が、physics.json を書き出せるタイプです。


 [プロジェクト]→[追加]→[物理演算]で、physics.jsonというファイルができます。



 物理演算機能の使い方は、公式のマニュアルを参照して下さい。
 できあがったら、[プロジェクト]→[書き出し]→[物理演算]で書き出します。

 

 この書き出しをすると、

 mocファイルの表示が少し変わります。


  詳しい違いはわかりませんが、どちらのmocファイルでもFaceRigでは、同じように表示されました。


■アイコン


 アイコン用の画像ファイルを作ります。
 縦256pix横256pixの正方形の、アイコン用の画像を作り、png形式で保存します。
 名前は、

ico_キャラクター名.png

 にしておきます。

■cfgファイル


 FaceRigでの設定に使う、configファイルです。
 最低限、「ここにあるデータはFaceRigのLive2Dのアバターで、名前は●●と言います」
 というのをFaceRig側に知らせるものです。
 さらに細かい設定も、いろいろできるのですが、絶対に必要なのは、

cc_names_キャラクター名.cfgという名前のファイルの中に、

set_friendly_name キャラクター名 'Live2D キャラクター名'

この一行だけです。
 あとは、

 set_avatar_skin_description キャラクター名 default 'キャラクターの説明文など'

というのを二行目に入れれば、キャラクターの説明を入れることなどもできます。
 保存時によく文字化けするので、可能であればUTF-8Nという形式で保存するといいのですが、Windowsのメモ帳では対応していません。
 フリーソフトの「TeraPad」などが対応していますので、気になるようなら使ってみて下さい。
 TeraPad(窓の杜)
 テキストデータ保存時に、



 上部メニュー[ファイル]→[文字/改行コード指定保存]を選択し、

開いたウィンドウで文字コード「UTF-8N」改行コード「LF」という形式で保存します。

 このほかに、cc_キャラクター名.cfg というファイルを使って、細かい設定もいろいろできるのですが、今はとりあえずデータを受け渡して動かすだけなので、いじらないでおきます。
  テキスト保存し、拡張子 .txt を .cfg に変更すればできあがりです。


■重要:キャラクター名をそろえる


 データファイルがそろったら、すべてのファイルのキャラクター名をそろえます。このとき、半角英数の小文字にしておくと失敗しにくくなります。
 そして、そろえたすべてを キャラクター名 のフォルダにまとめます。

 suiko という名前のキャラクターであれば、





 このようにそろえて、



 このような名前のフォルダにまとめます。

 ■FaceRigのフォルダに挿入する


  FaceRigの、アバターのデータが入っているフォルダに、ひとまとめにしたフォルダを挿入します。

[Steam] の入っているフォルダから、[SteamApps] →[common]→[FaceRig]→[Mod]→[VP]→[PC_Common]→[Objects]というフォルダを探していくと、中に、他のアバターの名前のフォルダが入っているのが見つかりますので、そこに、追加して入れておきます。
 

■成功!


 成功しましたか?
 成功すると、FaceRigのアバターに、あなたの作ったキャラクターが追加されるはずです。







 PCカメラで、目や口の動きを読み取り、表情が変化して、絵に命が吹きこまれたかのように、アニメーションします。

 試行錯誤の末に完成したので、感激しました。


 1000円ほどのWebカメラでも十分に認識してくれますが、音が悪いので、オーディオインターフェイスなども用意したいところです。