k.KOUTAROU
SUKAMOTO
← ALL WORKS

CASE STUDY 06 / VRChatギミック

既存の表情に、耳の演技を重ねる。

BOOTH配布作品ChaloUnity Editorアニメーション合成BlendTree
BOOTHおにぎり商店の商品
VRChatアバター「シャロ」用 / 耳アニメーション

「シャロ」はVRChatで使う3Dアバター。本商品はその耳を表情に合わせて動かす追加ギミックです。アバター本体は含みません。

シャロくんの表情に合わせて耳が動くギミックのBOOTH商品画像
BOOTH / おにぎり商店の商品画像

00 / OVERVIEW

この作品について

VRChat用3Dアバター「シャロ(Chalo)」の標準表情に、耳の動きを追加するUnity Editorツールです。僕が作った耳アニメーションを、アバター側の表情クリップへ合成します。BOOTHで公開している商品で、シャロ本体は含みません。

顔の表情に合わせて耳も動かしたいとき、クリップを一つずつ編集する作業を減らせるようにしました。クリップの複製、耳の曲線の追加、AnimatorやBlendTreeの参照更新をまとめています。シャロの標準構成に合わせた専用ツールです。

PROCESS / EAR
01既存のFX→
02表情を走査→
03Clipを複製→
04耳曲線を合成→
05参照を更新

処理の流れをまとめた図です。ボタンで順番に確認できます。

01 / DESIGN NOTES

表情の入ったクリップをたどる

アバターのFX Controllerから、標準表情、表情操作、まばたきのレイヤーを取り出します。Stateだけでなく、サブStateMachineや入れ子のBlendTreeも再帰的にたどり、その中のAnimationClipを見つけます。

シーンのVRCAvatarDescriptorとAnimatorのアバター名から候補を選びます。シャロの標準レイヤー名とボーン配置を使っているので、その構成を前提に処理しています。まばたきのBlendTreeは、別の処理範囲を設けて扱います。

02 / DESIGN NOTES

顔の表情を残して、耳の曲線を重ねる

元の表情クリップを複製し、耳に対応する曲線を整理してから、同じ名前の耳アニメーションを重ねます。合成するのは耳のボーンの曲線です。顔の表情はアバターに入っているクリップを使い、その上へ耳の動きを加えます。

合成したクリップを保存した後、StateやBlendTreeのMotion参照を差し替えます。対応する耳アニメーションがない名前には、まばたきを除いて既定の角度を与える処理も用意しています。表情名の対応と耳曲線の選別を分けて、編集する範囲を絞っています。

03 / DESIGN NOTES

表情ごとに、左右の耳の角度を変える

同梱しているのは表情用12本と、まばたき用1本のクリップです。左右を倒す、片側だけを動かす、Z軸の角度を変えるなど、表情名に応じた耳の曲線を用意しました。同じ動きをすべての表情へ付けるのではなく、表情に合わせて選びます。

すべてのクリップが左右の耳の全軸を指定しているわけではなく、有効な耳キーを持たないデータもあります。表情用の静止した角度と、まばたきに合わせた時間変化を分けて扱っています。

04 / DESIGN NOTES

まばたきの時間に、耳の動きを合わせる

まばたき用は13秒のループです。通常の角度から短く動いて戻る箇所を複数作り、元のまばたきクリップへ重ねています。新しいメニュー操作を増やさず、既存の表情の流れの中で耳が動くようにしました。

標準のクリップ名、長さ、ボーン配置に合わせたデータなので、表情やまばたきのタイミングを変更している場合は組み合わせの確認が必要です。導入先のシャロにあるアニメーションを編集します。

05 / DESIGN NOTES

導入作業をまとめ、変更範囲を分かりやすくする

手作業なら、各クリップを探して複製し、耳の曲線を追加して、Animatorの参照を更新する必要があります。この一連の編集をEditor内で進められるようにしました。

耳の曲線を取り除く操作もありますが、元のControllerの参照まで完全に復元するバックアップ機能ではありません。既存のFXとBlendTreeを編集するため、導入前に作業用のコピーを用意してください。利用にはシャロ本体と標準表情の構成が必要です。

REFERENCE

関連リンク・公開情報

BOOTHの商品説明 ↗
NEXT CASE STUDY

フリフリ動く!シャロくんしっぽ! ↗