VRChatアバターの表情を改変したい

この記事はVRChatでアバターの表情を改変したい人向けの記事です。
前提として、

  • VRChat Creator Companionやunity等、アバターのアップロードに必要なソフトのインストール

  • アバターのアップロードに必要な最低限の知識

があることとして話を進めていきますのでご了承ください。
結構細かく解説していくので、方法だけ知りたいんじゃ!という人は最後の方に手順だけ書いてあるのでそちらをどうぞ。

あと身内向けの説明用に作った記事なのでいろいろガバい所もあると思いますが許してください。言ってくれたら修正します。

1.準備

それでは作業を始める前に必要なものを揃えておきましょう。

  • アップロードするアバター
    この記事を読んでいる人はもう用意してある人が多いと思いますが一応。
    既にアバターを用意してある人は必要ないですが、この記事ではRadDollV2を使っていきます。(無料)
    DLページ→ https://booth.pm/ja/items/3741802

  • VRCAvatarEditor
    https://booth.pm/ja/items/1258744
    導入方法はまあ…配布ページにあるでしょ(丸投げ)

  • liltoon
    https://booth.pm/ja/items/3087170
    アバターをアップロードしたことがある人ならもう知っている人も多いのでは。
    描画に必要なシェーダーです。
    RadDollV2に同梱されているようですが、それだと自環境ではマテリアルエラーになってしまったので別途自分で導入します。

2.実践

実際に手を動かしてみましょう。

まずはRadDollV2とVRCAvatarEditor、liltoonを導入。
UnityのProject内のAssetsの中に上の三つが入っていればOK。

こんな感じ。

今回の作業はこのVRCAvatarEditorというツールに頼りきります。

Assets/ RadDollV2/ Prefab_PBの中にある、RadDollV2_PBをHierarchyにドラッグアンドドロップ。
SceneのタブにRadDollちゃんが現れるはず。

そうしたら、HierarchyのRadDollV2_PBを一回クリックして選択状態にし、画面上部のVRCAvatarEditor>Editorをクリックします。
何かウィンドウが出てきたかと思います。
真ん中あたりにFaceEmotionというボタンがあると思うので、それをクリックして編集に入りましょう。
ここから少しややこしいけど頑張ってください。

各部分の説明や用語について


FaceEmotionのボタンを押したら色々出てきたと思います。
ここで必要になる知識などを説明していきます。

・シェイプキー

まずは真ん中あたりの、名前の横にスライダーが並んでいる部分。
下にスクロールすると沢山項目が並んでいるのが分かると思います。(使っているアバターによっては少ないこともある)
これがシェイプキーです。

3DモデルをBlender等のソフトで作る時に、最初に元の形を作ります。
その形を少しいじったものを、差分のような形で動かせるようにするものです。

例えば顔の場合、最初に真顔の状態をモデリングします。
しかしこのままでは笑ったりまばたきしたりできません。
そこで「口角が上がっている形」や「目を瞑っている形」などを差分として作っておくことで、シェイプキーを調節するだけでその部分の形を変えられるようになります。

今回は、そのシェイプキーを弄って新しい表情を作っていきます。

・Animator ControllerとAnimationファイル

上の項目でシェイプキーについて説明しましたが、それをどうやって制御するんだ?という話があります。
その答えが、Animationです。
アニメーションと聞くと、絵が動いているアレを想像することが多いかもしれませんが、ここではちょっと違います。

Unityで物を動かす時、大体の場合Animationファイルに情報を入れてそれを再生します。
これに入る情報は様々。物の位置、傾き、関節の向き、そしてシェイプキーの値も。

つまり表情のシェイプキーを変える情報を入れたAnimationファイルを作ることで、それを再生して表情を変えることができるようになります。

しかし今度はAnimationを再生する仕組みが必要になります。
それがAnimator Controllerです。

詳しく解説すると長くなるので簡単に説明すると、条件などを指定して「どういう条件で、どのAnimationを再生するか」を決めることができます。

今回使うVRCAvatarEditorでは、このAnimationファイルを作ってAnimator Controllerに入れる所までを1画面で行えます。とても便利!

表情を作ろう

ここからは実際に表情を作る時間です。
まずは一番下のあたりにある「Set to Left & Right Hand Layer」のチェックを外してください。
次に、右上の「Layer」でRight HandかLeft Handを選んでください。表情の制御では基本的にこの二つを使います。
するとすぐ下に並ぶ、RadDoll_Facial_◯◯みたいな名前のやつがAnimationファイルですね。
この辺りの名前とかはアバターによって違うので、それっぽいやつを探してください。

右のEditボタンを押すと、そこに入っているAnimationを再生したプレビューが表示されます。RadDollV2では、左手で目と眉を、右手で口を動かすようですね。

今回は左手のPeaceに入っている表情を、デフォルトのものからウインクにしてみようと思います。

まずはPeaceの横のEditをクリック。
シェイプキーの欄の▽Bodyのすぐ下にあるToggleAllを何回か押して全てのチェックを外す。
下の方にRad_bodyとかRad_Hairとかありますがそちらは触らないでOKです。顔のシェイプキーではないので。
次に全てのシェイプキーを0にします。この状態がデフォルトの顔。

シェイプキーの中からウインクっぽいものを探して動かしたり、眉毛を調整したりして表情を作ります。
ここは正解とかないので好きな表情を作ってください。
(2023/8/24現在、RadDollV2のウインク関連のシェイプキーの設定が間違ってるっぽい)

表情を作り終えたら、値が0じゃないシェイプキーの左のチェック欄にチェックがついている状態にする。
(これ、前まで表情系の全部にチェック付けたほうがいいと思ってたけど不要らしい…?もしこれで動作がおかしかったらさっき触ったToggleAllで全部にチェックつけてください)

そしたらこの状態のAnimationファイルを作ります。
AnimClip FileNameでファイルの名前を決める。
今回は他のファイル名に即して、「RadDoll_Facial_L_Wink」とします。
Stateの欄を表情をセットしたいハンドサインにします。今回はPeace。
もう一度Set to Left & Right Hand Layerのチェックが外れていることを確認します。
以上が終わったら、Create AnimFileをクリック。

右上にセットされているAnimationが変わっていたら成功。後はアップロードしましょう。

3.手順だけ

アバター、VRCAvatarEditor、その他必要なシェーダー等を導入

アバターをHierarchyに置き、それを選択した状態でVRCAvatarEditorを起動

FaceEmotionをクリックし、右上のLayerから表情を制御しているレイヤーを探す

Animationに対応するEditを押しながら変えたい表情を探す

見つけたらシェイプキーをいじりながら表情作成。チェックマークを忘れずに

作成するAnimationファイル名をAnimClip FileNameに入力
Stateをその表情を入れたいハンドサインにする
Set to Left&Right Hand Layerのチェックを外す

Create AnimFileをクリック

右上のAnimation名が変わっていればOK、アップロードする

この記事が気に入ったらサポートをしてみませんか?