VRChat Avatars 3.0 ハンドサインでアバターの表情を変更する方法方法

VRChatでアバターの表情をハンドサインで変化させる方法をご紹介したいと思います。

VRChat アバター ハンドサイン 表情 変化 変更

このように、ハンドサインで、アバターの表情を変化させるようにしたいと思います。
指の変化と連動して、顔の表情も変化することができます。

VRChat アバター ハンドサイン 表情 変化 変更

表情のアニメーションクリップは、Blenderを使って、ブレンドシェイプで作成したものです。

また、UnityでのAnimationクリップの作成方法はこちらの記事をご覧くださいませ。

本記事では、表情のAnimationが揃った状態からの作業になります。

目次

表情をリセットするAnimationクリップを作成

まず最初に、表情をノーマルの状態にするAnimationクリップを作成しておきます。

Projectウィンドウ内で、右クリックをし、Create > AnimationでAnimationを作成します。
名前をわかりやすい名前にします。今回は、defaultshapeにしました。

VRChat アバター ハンドサイン 表情 変化 変更

作成したAnimation(defaultshape)をhierarchyにあるアバターのfbxファイルにドラッグアンドドロップします。

そして、fbxファイルを選択したまま、Animationウィンドウで、ブレンドシェイプを追加していきます。注)リップシンクや自動まばたきのBlinkで使用したものは追加しません。

AddPropertyで追加し、それぞれを、0キーフレームを打ちます。
追加した時点で、0キーフレームを打たれていました。

VRChat アバター ハンドサイン 表情 変化 変更

アニメーターコントローラーを作成

次に、ハンドサインコントローラーを作成します。
これは既存のものをコピーして使います。

vrcsdk > exsamples3 > Animation > controllers > vrc_AvatarV3HandLayer2
Ctrl + Dで、これを複製します。

VRChat アバター ハンドサイン 表情 変化 変更

複製したものは、名前をわかりやすいものに変更します。
今回は、digimotto_HandsLayerに変更しました。
保存場所は一番上のAssetsの階層に移動しました。

VRChat アバター ハンドサイン 表情 変化 変更

先ほど作成したアニメーターコントローラーをダブルクリックてAnimatorを開きます。
Layersタブを開きます。
すると、Left HandRight Handのレイヤーがあります。
両手それぞれに、表情を設定する事ができます。
今回は、Left Handに設定します。

VRChat アバター ハンドサイン 表情 変化 変更

ハンドサインは、グレーで以下の7つが用意されています。

Fist
Open
Point
Peace
RockNRoll
Gun
Thumbs up

今回は、グレーのPeaceのハンドサインを選択して、あらかじめ作っておいたHappyアニメーションInspectorMotionにドラッグします。
これで、Peaceの指の形をしたときに、Happyの表情になる仕組みです。

VRChat アバター ハンドサイン 表情 変化 変更

 

リセット用のレイヤーを追加します

これだけでは、Happyの表情に変化した時に、通常の表情に戻らなくなります。

コントローラーに、最初に作ったリセット用のアニメーション(defaultshape)を当てはめます。

Layersタブの右上のをクリックしてレイヤーを追加します。
名前を変更します。今回は、FaceDefaultに変更しました。

VRChat アバター ハンドサイン 表情 変化 変更

FaceDefaultレイヤーをLeft Hand、Right Handより上のレイヤーに移動します。

VRChat アバター ハンドサイン 表情 変化 変更

FaceDefaultレイヤーを選択したまま、Projectにある最初に作ったリセット用アニメーション、defaultshapeをドラッグします。
EntrydefaultshapeになっていればOKです。

VRChat アバター ハンドサイン 表情 変化 変更

defaultshapeを選択し、InspectorのWrite Defaultsのチェックを外します。

VRChat アバター ハンドサイン 表情 変化 変更

FaceDefaultレイヤーの歯車アイコンをクリックしてWeightを1にします。

VRChat アバター ハンドサイン 表情 変化 変更

ハンドレイヤーコントローラーをFXに設定する

InspectorPlayerbleLayersFXハンドレイヤーコントローラー(digimotto_HandLayer)をドラッグします。

VRChat アバター ハンドサイン 表情 変化 変更

これで、アップロードすれば、VRChatでハンドサインをした時に、顔の表情を変化することができます。

アバターのアップロードの方法はこちらの記事をご覧ください。

同じ要領で、別のハンドサインに違う表情を追加してみてください。

これで、色々な表情を素早く切り替える事ができるようになり、VRChatでのコミュニケーションがより楽しくなります!