プロダクト

VirmiiがAIで顔の表情を生成する仕組み

Virmiiは生成モデルのAI表情生成とバインドに対応しています。まばたき、笑顔、口型をカメラトラッキングで動かす仕組みを解説します。

更新日
VirmiiがAIで顔の表情を生成する仕組みのカバー

2026年9月20日更新: Virmiiで生成したモデルは、AI表情の生成とバインドに対応しています。完成したモデルで「表情を生成」を選ぶと、カメラトラッキング用のまばたき、笑顔、口型を追加できます。顔のシェイプキーを自動制作するものではなく、アップロードしたVRMは既存のバインドを使用します。新しい方法は表情のバインドをどう実現したかをご覧ください。以下は、この方法に至るまでの形状ベースの課題を説明した記事です。

AI表情生成は未契約なら1セット20クレジットです。Creator・Proはプランに含まれる月次回数を優先し、超過分は1セット20クレジットです。失敗しても初回の費用は保持され、不足・失敗した画像だけをモデルのバージョンごとに最大2回まで無料で再試行できます。2回使うと、それ以上の再試行はできません。クレジット、プランの生成回数、モデルの再試行回数は追加消費しません。各プランの月次回数は料金ページで確認できます。

生成モデルを使った初期の実験では、分かりにくい問題に直面しました。プレビューでは問題なく表示され、シェイプキーの一覧にblinkやaaという名前もあるのに、フェイストラッキングを始めても目や口が動かなかったのです。

当時の課題は、AIで生成したキャラクターに、実際に動く表情をどう追加するかでした。現在のVirmiiでは、表情画像を生成してカメラトラッキングにバインドすることで実現しています。

ここで足りないのは、表情を作るための実際の形状変化かもしれません。シェイプキーには、名前だけがあり、モデルを変形させるデータが入っていない場合があります。そのキーをまばたきや口の動きに割り当てても、顔は動きません。Virmiiは現在も、あらゆるモデルに顔のメッシュ変形を自動制作する機能を提供していません。一方、Virmiiで生成したモデルには、AIで作った表情画像を顔に表示する方法を実装しました。この記事では、その方法を選んだ理由を説明します。

表情の名前があっても、動くとは限りません

シェイプキーは、モデルの頂点を別の位置に動かした状態を記録する仕組みです。基本の顔が目を開けた状態なら、まばたき用のシェイプキーには、まぶたを閉じたときの頂点位置を記録します。値を変えることで、モデルがその2つの形の間を変化します。

ただし、頂点を一つも動かさずにblinkという名前のキーを作ることもできます。その場合、キーの形状は基本の顔と同じです。値を1にしても、目は閉じません。

シェイプキーを使う方式では、表情を使えるようにするために別々の作業が必要です。

  • 表情を作る作業: モデルを編集して、目を閉じた形や口を開けた形、笑顔を作ります。
  • 表情を割り当てる作業: まばたきや口の動きなどの信号に対して、どの形状を使うかをVRMに設定します。

形状ができていれば、割り当てによって表情を動かせます。形状そのものがなければ、カメラがまばたきを正しく検出しても、モデルには再生できる閉じ目がありません。

値を変えても動かない空のキーと、目が閉じるように制作されたシェイプキーの比較。

上段は値を変えても顔が変わらない空のキー、下段はまぶたが動くように制作されたキーのイメージです。

見た目が完成していても、表情を動かせるとは限りません

静止した状態で自然に見えるモデルでも、顔を動かすための構造がそろっているとは限りません。

唇がテクスチャに描かれているだけで、メッシュには上下の唇を開ける構造がないことがあります。目も顔の表面に描かれていて、まぶたが作られていない場合があります。こうしたモデルの口やまぶたをメッシュの変形で動かすには、追加のモデリングが必要です。

まぶたや唇があっても、確認することは残ります。目を閉じる途中で、まぶたが眼球にめり込まないか。口を開けたとき、内側に適切な形状があるか。笑顔にすると、頬に不自然な折れ目ができないか。

シェイプキーの名前を変えても、こうした問題は解決しません。変形する表情を作る前に、メッシュの構造を調整する必要があるモデルもあります。配信で大切なのは、表情一覧の項目数より、実際に顔がどう動くかです。

表情テンプレートを使えば解決するのでしょうか

まばたきや口の形が完成しているテンプレートは、制作の出発点になります。

2つのモデルの違いが全体の大きさだけなら、通常はスケールを合わせられます。難しいのは、顔の各部分の比率です。大きな目と小さな口を持つキャラクターもいれば、細い目、厚い唇、長い顎を持つキャラクターもいます。

同じ距離だけ頂点を動かすと、目が閉じきらなかったり、口が大きく伸びすぎたりします。表情を移すには、まず顔のどの部分同士が対応するかを決め、そのモデルに合う変形を計算する必要があります。

「Deformation Transfer for Triangle Meshes」は、顔の表情を含め、異なるメッシュ間で変形を移す方法を扱った研究です。移し元と移し先の頂点数が同じである必要はありませんが、各部位の適切な対応付けが必要です。形状の差が大きいモデルへの適用には限界があることも、論文で述べられています。

テンプレートによって制作の手間を減らせる可能性はあります。ただ、どんな顔でも自然な表情になるとは限りません。もともと存在しないまぶたや口の内側も、表情を移すだけでは作られません。

目や顎の比率が異なる3つの顔に、テンプレートのガイドを重ねた比較。

全体の大きさをそろえても、目・口・顎の比率まで一致するとは限りません。対応付けのイメージです。

AIエージェントを使っても、仕上がりの確認は必要です

AIエージェントは、モデリングツールを操作し、編集内容を提案し、レンダリング結果を見て調整を試みることができます。顔の部位を特定したり、転送した表情の確認を補助したりする使い方が考えられます。

ただし、それらの手順をつなげるだけで、どのモデルでも安定した結果が得られるわけではありません。目を完全に閉じた状態はきれいでも、半分閉じたところで形が崩れることがあります。口を開ける表情だけなら問題なくても、笑顔と重ねるとメッシュが突き抜けることもあります。顔が変われば、設定を調整し直す必要もあります。

編集やレンダリング、確認を繰り返すには時間もかかります。モデルごとの手修正が必要だったことが、現在Virmiiで利用できる表情画像方式を実装するきっかけになりました。

「自動処理が完了しました」と表示されたのに、配信を始めてから口元のゆがみや閉じない目に気づく。そうした体験は避けたいと考えています。

開いた目・半閉じ・閉じ目と、口の形や笑顔との組み合わせを確認するキャラクター。

完成した表情だけでなく、途中の形や表情を重ねた状態も確認します。Virmiiの編集画面ではなく、確認作業を表すイラストです。

現在のVirmiiが行っていること

Virmiiで生成したモデルには、表情画像を使う方式を採用しています。完成したモデルを開いて「表情を生成」を選ぶと、ニュートラルな正面画像を撮影し、目と口の位置を特定して、Geminiで13枚の表情画像を生成します。半閉じの目や小さく開いた口型も含まれます。テキストから作ったモデルにも、画像から作ったモデルにも同じ手順を使います。

ビューアーは画像を顔に投影し、カメラトラッキングに合わせて表情を選びます。頭や体の動きも引き続き使えます。生成モデルでは従来の顔のシェイプキー制作に代わる方式ですが、メッシュに変形するまぶたや口の内側を追加するものではありません。

画像はバックグラウンドで生成され、最大24時間程度かかる場合があります。失敗したタスクを再試行しても、完成済みの画像は保持します。成功した画像はそのモデルバージョンで確定し、失敗または未生成の画像だけを再度生成します。

アップロードされたVRMは別の仕組みです。ファイルに含まれる表情バインドを使い、現在はAI表情生成の対象外です。VRMを読み込めたことと、使えるまばたきや口型が入っていることは同じではありません。

モデルの顔が動かないときに確認すること

Virmiiで生成したモデルでは、モデルページの表情生成状況を確認してください。13枚の完了マークが表示されるまで待つか、失敗した場合は再試行します。完成後にカメラトラッキングを有効にし、まばたきや口の感度を調整します。具体的な手順はAI表情生成ガイドをご覧ください。

アップロードしたVRMでは、対応するエディターで既存の表情を確認します。シェイプキーの値を変えると顔が動くのに、VRMとしては反応しない場合は表情バインドを調べます。キーが空だったり必要な顔の構造がなかったりする場合は、自分で制作・修正するか、モデル制作者に依頼する必要があります。アップロード時にVirmiiが自動で補うことはありません。

新しい方法にも限界があります

表情画像を使うには、正面からはっきり認識できる顔が必要です。非人型、隠れた目や口、特殊な頭部比率、立体的な唇やまぶた、大きな首振りでは、検出や位置合わせが難しくなる場合があります。中間画像は段階的な動きを表すもので、メッシュを連続的に変形させるものではありません。生成の完了は、すべてのキャラクターでの見た目の品質を保証しません。

画像はVirmiiのプレビュー、Live Studio、OBS表示で再生し、VRMとは別に保存します。モデルをダウンロードしても、画像の再生機能が埋め込まれたり、他のアプリ用のシェイプキーが作られたりすることはありません。

今回実装したのは、対応する生成アバター向けの表情再生であり、汎用的な顔の自動リギングを解決したわけではありません。技術編の表情のバインドをどう実現したかでは、参照画像の撮影、画像生成、投影、トラッキングをどう組み合わせたかを紹介しています。