そういう、モデルなんです。

ビジネスモデル、3Dモデル、設計図、模型などの現状と動向を考察、関連書籍の紹介

CC4 感情表現の表情モーフは表情編集で簡単に自作できそうだ

Character Creator 4 の頭部撮影 Headshot プラグインは顔面の各部位の頂点アニメーションを可能とするブレンドシェイプキーを大量に出力するが、感情表現それ自体のキーは含まれていない。

しかし表情プロファイル編集 Facial Profile Editor の方には沢山テンプレがあるので、新たに自の感情表現モーフキーを追加することは簡単にできそうだ。

Blender 向けに FBX 形式で衣服付き人物モデルを出力する

CC4 で新たな人物モデル Character を作成し、そのまんま Blender にエクスポートした時(すっぴん状態)にブレンドシェイプキーがどうなっているのかを調査する。

まずは頭部撮影 Headshot プラグインを併用して適当な人物モデルを制作した。

テクスチャ埋め込み Embed Textures のチェックボックスはオフにして出力する。

File - Export -FBX - Clothed Character

出力先に指定したフォルダに、メッシュとテクスチャが別々に出力されたようだ。

FBX 形式でエクスポートされたモデルとテクスチャ

この人物モデルを CC/iC Blender Tools からインポート Import Character する。

CC/iC Pipeline - Import Character

大量のシェイプキーが出力されたが、感情表現それ自体は含まれない

以前に The Sims 4 の人物モデルを VRM アバターに力技でコンバートした際に、VRM アバターで必要となる表情シェイプキーを洗い出したことがある。

そのときには

  • 喜怒哀楽などの感情表現を示すシェイプキー
  • リップシンク(母音A,I,U,E,O)向けのシェイプキー
  • 目/口/牙など重要な部位のシェイプキー

があった。

https://cdn-ak.f.st-hatena.com/images/fotolife/t/tombi-aburage/20220809/20220809140535.png

CC4 はどれだけ気の利いたシェイプキーを出力しているか?

CC4 側で事前に表情モーフ作業を何も行わずに、単純にエクスポートしただけの場合には、以下の図のようなシェイプキーが出力される。

大量なため逐一確認はしていないが、目/口/牙など重要な部位のシェイプキーに相当するシェイプキーは、ほとんどカバーされていると考えてよさそうだ。

例えば Eye_Blink_L/R などは、そのまんま流用できる。

CC_Base_Body のオブジェクトデータプロパティ - シェイプキー

これだけ用意されていれば、組み合わせにより Blender 側で喜怒哀楽のシェイプキーを作成することも難しくはない。

しかし CC4 側でも喜怒哀楽の表情モーフのテンプレートが豊富に用意されているので、Blender で頑張るのではなく、CC4 のテンプレを何とかしてシェイプキーの形でエクスポートさせて手抜きをしたい。

喜怒哀楽などの感情表現やリップシンクのモーフキーを用意する

VRM アバターへの出力を想定して、シェイプキーをなるべく CC4 で用意する。
どうしてもダメなら Blender 側で用意することはできるが、出来る限り作業工程の上流で仕込んでおきたい。

VRM で利用できる表情モーフキーは、おおまかな分類としては前述のとおり3グループなのだが、VMagicMirror で利用するとした場合に必須のシェイプキーは13種類だけなので、少なくともそれらは揃える。

tombi-aburage.hatenablog.jp

喜怒哀楽などの感情表現を示すシェイプキー

CC4 の表情編集のテンプレートから選択して、ブレンドシェイプキーとして出力できるのであれば、作業工数はほとんどゼロに出来る可能性がある。

  • 怒り Fcl_ALL_Angry
  • 楽しい Fcl_ALL_Fun
  • 喜び Fcl_ALL_Joy
  • 哀しみ Fcl_ALL_Sorrow

Motion Pose : 表情編集 Edit Facial の感情スタイル Expression Style から表情を選択できる

表情編集 Edift Facial の画面には、喜怒哀楽の表情を事前定義したテンプレが山ほどある。これらはカメラ映像から表情のモーションキャプチャを行ったり、再生(再現)を行うことを可能にする Apple ARKit のブレンドシェイプキーを実装しているものらしい。

頭部撮影プラグインで作られた表情の動きがおかしい場合には、修正 Modify で微修正していけば治せるようだ。

CC3.4 のチュートリアルに説明があり、それで大体の使い方は分かった。

youtu.be

リップシンク(母音A,I,U,E,O)向けのシェイプキー

CC4 のリップシンク AccuLips は英語にしか対応していないが、母音だけであれば流用できるのではないか。

  • あ Fcl_MTH_A
  • い Fcl_MTH_I
  • う Fcl_MTH_U
  • え Fcl_MTH_E
  • お Fcl_MTH_O

目/口/牙など重要な部位のシェイプキー

片目閉じのキーはすでに用意されているので、VRM 出力のさいにマッピングだけすれば大丈夫だろう。

  • まばたき左のみ Fcl_EYE_Close_L
  • まばたき右のみ Fcl_EYE_Close_R
  • まばたき Fcl_EYE_Close

2024.1 時点では上記3つのキーのコード名は VRM addon for Blender でもはや視認できないが、手順としては同様である。

youtube.com

無表情のシェイプキー

CC側で簡単に作成するのが難しい場合には、Blender 側で Basis を複写して作成する。

  • 通常 Fcl_ALL_Neutral

CC4 で表情モーフを用意していく

まず感情表現、リップシンク、部位それぞれについて、1個だけ試作する。

感情表現

表情を作るところまでは Motion - Edit Facial で簡単に出来たのだが、それをシェイプキーとして保存する方法が分からない。

チュートリアルでおさらいしたら、定義済みの表情モーフキーの値を変更して所望の表情にしたあと、単に新しいスライダーを追加 New Slider すればよいらしかった。

youtu.be

カスタムの表情ブレンドシェイプキー Face Key として名前を付けて保存されるようだ。
しかもプロファイル自体も保存しておけるので次に VRM アバター制作するときには使いまわせる可能性が高い。

リップシンク

表情プロファイルの下の方に口形素 Viseme というボタンがあり、表情キー Face Key と全く同じ方法で調整できるとのことだった。

重要な部位のシェイプキー

VRM 出力のさいに同じ働きをするキーを指定すれば十分だろう。

表情プロファイル編集 Facial Profile Editor の画面で、表情スタイル Expression Style を再現する方法が無い

表情編集 Edit Facial の画面で、表情スタイル Expression Style を幸せ 01-Happy として、11番め A11_Happy の表情を選択するところまでは問題なかった。

しかし、表情プロファイル編集 Facial Profile Editor に入ると真顔に戻ってしまう。

そして表情プロファイル編集の画面から、表情スタイル Expression Style を幸せ 01-Happy として、11番め A11_Happy の表情テンプレを選択するという操作ができない。

ccFacialProfileで検索したら13件見つかったが、どれに A11_Happy が含まれているか分からなかった

Reallusion フォルダ配下を ccFacialProfile で検索すると 13件見つ1かった

とりあえず1件めのファイルの保存場所のフォルダを開き、そこにあった 拡張子 .ccFacialProfile のファイルをメモ帳で開いてみたが、バイナリファイルであるらしく中身の確認はできなかった。

E:\Program Files\Reallusion\Character Creator 4\Program\Assets\Share

試しに全てのファイルを読み込み Load してみたが、カスタムスライダー A11_Happy はどこにも見つからなかった。

ダサいけど目視でキー値を確認し、手入力して再現するしかないのか?

表情編集 Edit Facial で修正 Modify ボタンを押すと、どのモーフスライダーをどう動かした結果なのかは確認できたので、スクショを撮って手作業で移植した。ダサいが。

ま、そのうち直接できるようになるんでしょう。

Edit Facial : Modify - Currently Used で適用されたキー値は分かる

しかし、1つの表情だけで 14個ものスライダーを調整しておりスクショとるだけで萎えた。

A11_Happy の表情だけでも 14スライダーもあって面倒くさい

設定値を記録した .ini ファイルがあった

エクスプローラで製品フォルダ Reallusion 配下を A11_Happy で検索したら、A11_Happy.ini というファイルが見つかった。

そこにスライダーの名前と設定時が文字列で書かれていたので、スクショを撮る必要性はなくなった。せめてもの救いだ。

表情プロファイル編集 Facial Profile Editor の画面に .ini ファイルを開きながらキーと値をコピペ

喜怒哀楽などの感情表現を示すシェイプキー

表情編集 Edit Facial で表情の動作を確認しながら、VRM と CC4 のキーの対応関係を最初に整理する。

  • 怒り Fcl_ALL_Angry は C8_Angry
  • 楽しい Fcl_ALL_Fun は A01_Happy
  • 喜び Fcl_ALL_Joy は  A11_Happy
  • 哀しみ Fcl_ALL_Sorrow C4_Sad

まず、怒り Fcl_ALL_Angry だけ C8_Angry の設定値で作成する

とりあえず1つ作ってみよう。まずフォルダ

E:\Program Files\Reallusion\Character Creator 4\Program\Assets\Share\FacialSystem\CC4 Extended\Expression

配下にある C8_Angry.ini ファイルを別画面で開いておく。

次に表情プロファイル編集 Facial Profile Editor を起動し、黙々とコピペする。

最後に新規スライダー New Sllider を追加するのだが、サムネイルは自動的には作成されないようだ。いま写っているポーズで作ってくれるのかと思っていたんだけど。

サムネイルも

E:\Program Files\Reallusion\Character Creator 4\Program\Assets\Share\FacialSystem\CC4 Extended\Expression\03-Angry\Icons

配下にあるので、同じ番号のものを選択して当てはめた。

Facial Profile Editor : Edit Expressions - Expression - Custom に Fcl_ALL_Angry 追加

Blender のシェイプキーの末尾に、ちゃんと追加された

CC4 からモデルをエクスポートして、Blender にインポートした。
シェイプキーが追加されている。

CC_Base_Body のオブジェクトデータプロパティ - シェイプキー

ブレンドシェイプキーの値を1にしてみる。
少し歯を食いしばりすぎだが、表情は再現された。成功だ。

Fcl_ALL_Angry のキー値を 1.0 にしてテスト

最後のコピペだけは勘弁してほしいが、一度だけ我慢して CC4 にプロファイルを保存しておけば、2回目は微調整で済むので Blender で全部やるよりは随分と楽だった。

CC4 の表情シェイプキーを Blender に移行する作業手順としては、これでよかろう。