見出し画像

Avatar3.0 視線(目線)をExpressionメニューで任意の方向に向かせ、固定する

前置き

ドーモ、マテラッツィです。

VRChatで写真を撮る時、「アバターの視線をコントロールできたらいいのに…」と思ったことはありませんか?

私はよく自撮りをする時「向いてほしい視線の方向に顔を向ける」→「サッ!と顔の向きを戻してシャッターを切る!」という方法で写真を撮るのですが、これが中々思うようにいかなくて何テイクも撮り直すはめに…

今回はそんな不便を解消する方法です。

具体的には、以下の黒鳥様の記事「Avatars 3.0で尻尾を振る機能の作り方」を視線に置き換えた機能を実装します。(以下"参照記事"と表記)

※前提条件は参照記事の内容と同様であることとします。


やること

①視線操作用のアニメーターを作成する
②視線操作用のアニメーションを作成する
③Expressionメニューに視線操作用のメニューとパラメーターを設定する

大筋は参照記事とほぼ相違無いのですが、手順①『視線操作用のアニメーターを作成する』では加えて必要な手順があるため注意してください。


①視線操作用のアニメーターを作成する

参照記事の手順と同様にアニメーターを作成し、"VRC Avatar Descriptor">"Playable Layers">"Base">"Gesture"欄に組み込みます。

画像7

余談ですが、目のボーン含むHumanoidを動かすアニメーションは"FX"のアニメーターに組み込んでも動作しません。

このことを知らなかった私は、小物の出し入れの感覚で"FX"のアニメーターを編集しており何時間も無駄にしました。(第一の沼ポイント)

加えて参照記事にはない手順ですが以下2点の設定をします。


・レイヤーにMaskを設定する

以下のアセットパスから"vrc_HandsOnly"のファイルを2つ複製します。
「"Assets">"VRCSDK">"Examples3">"Animation">"Masks"」

複製したファイルの名称をよしなに編集し、"Humanoid"の設定をそれぞれ添付画像のように変更します。(ファイルを選択し、"Inspector"タブから頭や手の部分をクリックすることで設定変更可能)

画像9

画像8

先ほど作成したアニメーターの方に移り、"AllPartsレイヤー"に"頭と手が緑になっている方のファイル"を、"視線操作用のレイヤー"に"頭のみ緑になっている方のファイル"をMaskとして設定します。(歯車マークを押下し、"Mask"欄からファイルを指定)

画像10

"Mask"の変更は"Gesture"に割り振っているアニメーターだけでいいので注意!


続いて

・"Tracking Controll">"Eye & Eyelids"を"Animation"に切り替える(疑似アイトラを使用している場合のみ必要)

疑似アイトラを使用しているアバター("VRC Avatar Descriptor">"Eye Look"が有効となっている)の場合はこの工程が必要です。

"FX"のアニメーターでいいので任意のステートに"Add Behaviour">"VRC Animator Tracking Control"を追加し、"Eyes & Eyelids"の項目を"Animation"に変更します。(私の場合は表情を手動で切り替えるメニューに組み込んでます)

画像11

これが有効となっている間は視線のコントロールができる代わりに疑似アイトラが無効となります。

必要に応じて"Eyes & Eyelids"を"Tracking"に変更する遷移も設定してください。


②視線操作用のアニメーションを作成する

上下左右と中央を向いた計5つのアニメーションを作成します。

作成手順は参照記事をご覧ください。

ちなみに目のボーンをアニメーションで動かす場合は、"Armature"ではなく"Animator"内の"Left(Right) Eye In-Out"もしくは"Left(Right) Eye Down-Up"を選択してください。(In-Outは左右、Down-Upは上下)

画像1

私は最初"Armature"から目のボーンを動かそうとして上手くいかず、頭を抱えていました。(第二の沼ポイント)

一応それぞれのアニメーションの具体的な設定内容を掲載しておきます。

・上

画像2

・下

画像3

・右

画像4

・左

画像5

・中央(不要なアニメーションかもしれないですが念のため)

画像6

値は1でもいい感じに動きますが、もっと動く角度を大きく(小さく)したい!という場合は見比べながら数値をよしなに調整してください。

値を大きくすれば角度も大きくなります。逆もしかり

作成出来たら、参照記事の通りに視線操作用のレイヤーの"Blend Tree"にそれぞれアニメーションを割り振ってください。


③Expressionメニューに操作用のメニューとパラメーターを設定する

こちらの手順については参照記事と同様に進めて問題ないです。

よくあるミスとして、手順①で入力したParametersの値とExpression Parametersで入力した値の文字列が相違ない(誤字や大文字小文字)ことを確認してください。

以上でございます。

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