CGBoxの一部の記事にはアフィリエイト広告が含まれております。
【VRChat】ハンドサインの編集方法:手・表情が動かないときは?
VRChatでは写真撮影やコミュニケーションなど、幅広い場面でアバターの表情やハンドサインを使用する機会があります。
本ページは、その部分をさらに拡張していくための方法や、不具合等の解決方法をご紹介していきます。
また、本ページはUnityでの作業が中心となるため、「VRChatにアバターをアップロードした経験」がある前提で解説をしていきます。
そのため、Unityの使用方法やアップロード方法がわからない方は、まずはそちらをご確認ください。
アバターのアップロードについては下記リンクを参照。改変についても学べるので本ページと併せて役立ちます。
ハンドサインとは?
ハンドサインとは、VRChat内でVR機材のボタンの組み合わせを使ってアバターの指を動かすときの、指のアニメーションです。
この指の組み合わせと連動して表情を動かすことが多く、指の動きと表情はセットになっていることがほとんどです。
そのため、本ページではハンドサインと表情について、同時に解説していきます。
ハンドサイン・表情の変更方法
ハンドサインを用意する
まず、アバターに仕込みたいハンドサインのアニメーションを用意してください。
Unity等でアニメーションを自作できる方は、使いたい手の形に合わせて作成しても構いません。
(本ページではハンドサインの作成方法は割愛)
自作するのは少し手間という方や、色々と仕込んでみたいという方は、BOOTH等の販売サイトで入手しましょう。
販売サイトの検索欄で「VRChat ハンドサイン」「Unity ハンドサイン」等で検索をすると販売・配布されているものがいくつか入手できます。
今回は「【VRChat】指ハート用ハンドサイン」をお借りして解説します。
ハンドサインをUnityにインポート
Unityを開き、アバターと同様の方法で、使用したいハンドサインのアニメーションをインポートします。
場所はどこでも構いませんが、わかりやすいところにしておきましょう。
もし「Default Gesture」の場合は、クリックした後に右の二重丸を押して、「vrc_AvatarV3HandsLayer」を選択します。
後々ミスがあったり同プロジェクト内でアバターを編集する可能性もあるため、「vrc_AvatarV3HandsLayer」はコピーして使用するほうが良いでしょう。
また、後述する「AvatarMaskをオフ」も併せてご確認ください。
利き手の都合で右手にハンドサインを仕込むことが多いですが、好みの問題なのでどちらでも構いません。
今回はfist(握り拳)の部分に差し替えます。それ以外のものを差し替えたい方は、ほかの部分を選んでください。
かなりざっくりとした名前がつけられていますが、どれがどれかは見れば分かると思います。
握り拳のハンドサインだったのが、使いたいハンドサインに差し替えられたはずです。
VRChatへアップロードして確認してみましょう。
表情の変更方法
既に表情用のアニメーションが作成or入手出来ている、購入したアバターに差し替え用のファイルが用意されている場合は、編集するAnimation ControllerをGestureではなくFXにした上で、先ほどと同じ方法で差し替えることができます。
表情アニメーションを用意していない、Vroid等からアップロードした等の場合は、ほとんどの場合アニメーションファイルの作成から行うことになります。
自作の方法が分かる方はそれでもよいですが、簡単な方法としては「VRCAvatarEditor beta」の使用がおススメです。
VRCAvatarEditor betaは付属のマニュアルが使いやすいため、本ページと併せて確認しておきましょう。
アバターやアニメーション同様の方法でUnityへインポートしてください。
先にHierarchy欄のアバターを選択してから編集画面を開いてください。
「Create FX Layer Controller」がなかった場合は、このステップは飛ばしてください。
必須ではありませんが、上のAnimClip FileNameからわかりやすい名前をつけておくと後々編集しやすくなります。
基本的には各表情のまとまったシェイプキーがあるはずなので、それを使うのが早いです。
gif画像で動かしているあたりがこのアバター(Vroid製)ではそれにあたります。
それ以外の表情を作成したい場合や、まとまったものがない場合は、左上の画面から表情を見ながら作成しましょう。
画面右上の適用したいハンドサインの欄に、今回作成した表情が適用されていれば成功です。
その後、ほかにも適用したい表情があれば同様の作業を行います。
複数個所編集する場合、Create Animfileを押すたびにSTEP5で行ったハンドサインの指定を忘れないようにしましょう。うっかり上書きしてしまうことがあります。
アニメーションが新規作成される&新しいものが適用されるだけなので取り返しは付きますが、少し手間がかかるので気を付けるに越したことはありません。
もし上書きしてしまった場合は、右上のアニメーションファイルの二重丸からでも切り替えができます。
設定が終わったらVRChatへアップロードして確認してみましょう。
表情がちゃんと切り替わっていれば成功です。
ハンドサイン・表情が動作しないときの解決法
ジェスチャー無効にONが入っていない?
Expression Menu(以下EXメニュー)から使用できるVRChatの標準機能には、ジェスチャーを無効にする機能があります。
写真撮影等の時には便利な機能ですが、必要のないときには不具合のようにも見えてしまう機能です。
何かの拍子にONにしてしまっている可能性もあるので、いったん確認してみましょう。
EXメニューを開き、Options→Gesturesと選択していくとオンオフが選べます。
おかしいな?と思った場合、まずはこの項目の状態から確認しておきましょう。
Write Defaultsをオフ
Unityの「Write Defaults」という機能はVRChatとの相性が悪く、VRchatでは使用が推奨されていません。
これに起因する不具合も考えられるので、オフにしてしまいましょう。
FXやGestureの欄を開き、ハンドサインや表情の項目を全て開いて、inspector欄からWrite Defaults欄を確認します。
チェックが入っているものがあれば外しましょう。
ここまでの開き方がわからない場合は、「ハンドサインの変更方法」も併せて確認してください。
AvatarMaskをオフ
VCC実装以降、ハンドサイン用のAnimation Controllerの一番上にAvatarMaskが使用されているとハンドサインが機能しないという問題が発生しています。
最近発売されたアバターや対応済のアバターでは問題がないのですが、それ以前から更新されていないアバターではそのままになっているケースがあります。
VCCが実装される半年ほど前にPhysboneが実装されているので、Dynamic Boneが使用されているアバターではこの不具合も起きている可能性が高いです。
2022年秋以降に更新されていない限り、そういったアバターでは真っ先にこの部分を疑うほうがよいでしょう。
アバターのinspector欄にあるVRC Avater DescriptorのFXの右にある欄をクリックして画像の状態にします。
その後、「AllParts」の歯車の横にMとあるかどうか確認してください。
もしあるようなら、歯車のアイコンをクリックして「vrc_HandsOnly」横の二重丸をクリックしてnoneを選びます。
もしVRChatにアップロードしてうまく行かない場合、「Left Hand」「Right Hand」のAvater Maskもnoneにしてみてください。
これでVRChatへアップロードして、正常に動くか確認してください。
もしアップロード時にエラーが出る場合は、Project欄から右クリック→Create→Avater Maskで空のAvater Maskを作成して、それをnoneにしたところへ適用してみてください。
noneの状態にはしない
FXやGestureにあるハンドサイン・表情に空欄(none)があると正常に動作しない場合があります。
他に何か入れておくものがあればそれが一番無難ですし、空のアニメーションを作って入れておいても良いでしょう。
「ハンドサインの変更方法」「表情の変更方法」の項目で紹介した方法で一通り埋めてみた上で、VRChatにアップロードしてみてください。
デスクトップでは使えないの?
デスクトップではVR版のようにアバターを動かすことができませんが、ハンドサインや表情を変更することはできます。
Shift+F1~F8キーでハンドサインの切り替えが可能です。
左右のShiftがそれぞれ左手・右手に対応しているので、使いたいハンドサインや表情に合わせて切り替えられます。
左右のハンドサインの組み合わせで出せる表情も、これを使えばデスクトップ版でも使えます。
デスクトップ版では腕が動かせるわけではないので、ハンドサインに関しては正直なところ切り替えてもあまり目立ちません。
しかし、表情はVR版同様に使えるので、デスクトップ版で遊ぶ方や、デスクトップ版でアバターのテストをしたいアバター作者には非常に便利な機能と言えます。
まとめ
本ページではハンドサインや表情の変更方法についてご紹介していきました。
しかし、今回ご紹介した方法は基本的なもので、ハンドサインの組み合わせでさらに高度な表情変更や、ハンドサインに小物を仕込む、EXメニューを使った表情の切り替えなど、様々なことを行うこともできます。
VRChatのアバター改変はかなり幅広いことが可能なので、是非試してみてください!