FACE EMOTE
改変済みアバターの表情破綻を直す手順
使い方記事
表情用animを入れた時に、目が閉じすぎる、口がズレる、改変前と違う顔になる。そういう時は、AnimationタブでBlendShapeの値を今のアバターに合わせて記録し直します。
改変後の顔に合わせて表情animを直す
表情破綻は、animの表情値と改変後のBlendShape値が合っていない時に起きやすいです。元clipを見ながら、必要なシェイプキーだけを少しずつ直します。
先に確認しておくこと
この手順は、アバターの顔や表情シェイプキーを改変済みで、配布されている表情用animをそのまま使うと顔が崩れる時の直し方です。まだanimの基本操作が不安な場合は、先に Unityでanimファイルを入れる時の基本 を見ておくと流れがつかみやすいです。
UnityのBlendShapeはSkinnedMeshRenderer側に表示され、0は影響なし、100は最大の影響として扱われます。表情animはこの数値をAnimation Clip内に記録して動かしているので、改変後の顔に合わない値だけを直していきます。
- 元の表情clipはできれば複製してから作業する
- 顔のメッシュ名はアバターによってBody、Face、Headなど違う
- Record中は値がclipへ記録されるので、作業後は必ずRecordを切る
1. 表情用FXをアバターへ入れる
商品フォルダ内の SexyPose → Anim → ○○_FX のような表情用Controllerまたはanimを、Hierarchy上のアバターへドラッグ&ドロップします。フォルダ名やファイル名は商品によって変わるので、画像はあくまで例です。
ここでアバター本体ではなく、髪や服の子オブジェクトへ入れてしまうと確認がややこしくなります。まずはHierarchy上でアバター全体をまとめている親を選ぶのが安全です。
2. DefaultFaceを開く
まずは編集する基準の表情clipまで辿ります。Hierarchyでアバター本体を選択し、Assets内のAnimファイルをダブルクリックしてAnimationタブを表示します。
Animationタブが開いたら、Previewの下にあるclip選択から DefaultFace を選びます。ここではまだRecordは押さず、「これからDefaultFaceを編集する状態になっているか」だけを確認します。
DefaultFaceは、表情を戻す時の基準になる顔です。ここが改変後の顔と合っていないと、他の表情も全部ズレて見えやすいので、最初に開いておきます。
3. BodyまたはFaceを選んでRecordする
DefaultFaceを選べたら、顔のBlendShapeが入っているオブジェクトを選びます。画像では Body を選択していますが、アバターによってはFace、Head、Body_001など別名の場合があります。
対象のメッシュを選んだら、Animationタブの赤いRecordボタンを押します。ここから先に変更したBlendShape値が、DefaultFaceへキーとして記録されます。
この段階でBodyまたはFaceを選ぶ理由は、InspectorにBlendShapeの数値を出すためです。アバター本体を選んだままだと、顔のシェイプキー一覧が見えないことがあります。
4. BlendShape値を手入力してDefaultFaceに記録する
改変済みアバターで崩れている表情は、元のanimに入っているBlendShape値が今の顔に合っていないことが多いです。右側のInspectorで該当するシェイプキーを探し、改変後の顔に合う数値を手打ちで入力します。
Record中に数値を入力すると、その値にキーが打たれてDefaultFaceへ記録されます。今回の作業でやりたいのは、元のDefaultFaceを改変後のアバターに合う基準顔として保存し直すことです。
一気に全部直そうとすると、どの値で崩れたのか分かりにくくなります。まず目、次に口、最後に眉や頬、くらいに分けて少しずつ合わせると追いやすいです。
5. Recordを終了してPreviewで確認する
必要なキーを打ち終えたら、まずRecordを終了します。そのあとAnimationタブのリストから表情clipを順番に選び、Previewで破綻が残っていないか確認します。
Recordを入れたまま関係ない値を触ると、その値もclipへ記録されます。触った場所が分からなくなった時は、無理に続けず複製前のclipからやり直した方が早いことがあります。
6. 破綻箇所をSceneビューで見ながら調整する
Previewで破綻を見つけたら、Animationの縦線を右へスライドしながら、どのタイミングでどのシェイプキーが効いているか確認します。Sceneビューの顔を見つつ、該当するBlendShape値を少しずつ調整します。
画像では目が破綻しているので、eye_close のような目に関係するシェイプキー名と数値を見ながら直しています。目なら目、口なら口、眉なら眉、というように、見た目で崩れている場所とシェイプキー名を対応させると迷いにくいです。
違和感がある表情を見つけたら、Recordを入れ直さず、Animation上の該当するBlendShape値をSceneビューで見ながら直接調整します。まずは目立つ破綻を消して、あとから細かい表情差を詰めるくらいが進めやすいです。
つまずきやすいところ
BlendShapeが見つからない
顔のメッシュを選べていない可能性があります。Body、Face、Headなど、SkinnedMeshRendererが付いていてBlendShape一覧が出るオブジェクトを探してください。
Recordしても値が残らない
Animationタブで対象clipを選べていない、またはアバター本体ではなく別オブジェクトを選んでいることがあります。Hierarchyで対象アバター、Animationタブで編集したいclip、この2つを確認します。
表情を直したら別の表情が崩れた
同じシェイプキーを複数clipで使っていることがあります。DefaultFaceだけでなく、よく使う表情clipを数個まとめてPreview確認してください。