Avatar3.0 視線(目線)をExpressionメニューで任意の方向に向かせ、固定する
前置き
ドーモ、マテラッツィです。
VRChatで写真を撮る時、「アバターの視線をコントロールできたらいいのに…」と思ったことはありませんか?
私はよく自撮りをする時「向いてほしい視線の方向に顔を向ける」→「サッ!と顔の向きを戻してシャッターを切る!」という方法で写真を撮るのですが、これが中々思うようにいかなくて何テイクも撮り直すはめに…
今回はそんな不便を解消する方法です。
具体的には、以下の黒鳥様の記事「Avatars 3.0で尻尾を振る機能の作り方」を視線に置き換えた機能を実装します。(以下"参照記事"と表記)
※前提条件は参照記事の内容と同様であることとします。
やること
①視線操作用のアニメーターを作成する
②視線操作用のアニメーションを作成する
③Expressionメニューに視線操作用のメニューとパラメーターを設定する
大筋は参照記事とほぼ相違無いのですが、手順①『視線操作用のアニメーターを作成する』では加えて必要な手順があるため注意してください。
①視線操作用のアニメーターを作成する
参照記事の手順と同様にアニメーターを作成し、"VRC Avatar Descriptor">"Playable Layers">"Base">"Gesture"欄に組み込みます。
余談ですが、目のボーン含むHumanoidを動かすアニメーションは"FX"のアニメーターに組み込んでも動作しません。
このことを知らなかった私は、小物の出し入れの感覚で"FX"のアニメーターを編集しており何時間も無駄にしました。(第一の沼ポイント)
加えて参照記事にはない手順ですが以下2点の設定をします。
・レイヤーにMaskを設定する
以下のアセットパスから"vrc_HandsOnly"のファイルを2つ複製します。
「"Assets">"VRCSDK">"Examples3">"Animation">"Masks"」
複製したファイルの名称をよしなに編集し、"Humanoid"の設定をそれぞれ添付画像のように変更します。(ファイルを選択し、"Inspector"タブから頭や手の部分をクリックすることで設定変更可能)
先ほど作成したアニメーターの方に移り、"AllPartsレイヤー"に"頭と手が緑になっている方のファイル"を、"視線操作用のレイヤー"に"頭のみ緑になっている方のファイル"をMaskとして設定します。(歯車マークを押下し、"Mask"欄からファイルを指定)
"Mask"の変更は"Gesture"に割り振っているアニメーターだけでいいので注意!
続いて
・"Tracking Controll">"Eye & Eyelids"を"Animation"に切り替える(疑似アイトラを使用している場合のみ必要)
疑似アイトラを使用しているアバター("VRC Avatar Descriptor">"Eye Look"が有効となっている)の場合はこの工程が必要です。
"FX"のアニメーターでいいので任意のステートに"Add Behaviour">"VRC Animator Tracking Control"を追加し、"Eyes & Eyelids"の項目を"Animation"に変更します。(私の場合は表情を手動で切り替えるメニューに組み込んでます)
これが有効となっている間は視線のコントロールができる代わりに疑似アイトラが無効となります。
必要に応じて"Eyes & Eyelids"を"Tracking"に変更する遷移も設定してください。
②視線操作用のアニメーションを作成する
上下左右と中央を向いた計5つのアニメーションを作成します。
作成手順は参照記事をご覧ください。
ちなみに目のボーンをアニメーションで動かす場合は、"Armature"ではなく"Animator"内の"Left(Right) Eye In-Out"もしくは"Left(Right) Eye Down-Up"を選択してください。(In-Outは左右、Down-Upは上下)
私は最初"Armature"から目のボーンを動かそうとして上手くいかず、頭を抱えていました。(第二の沼ポイント)
一応それぞれのアニメーションの具体的な設定内容を掲載しておきます。
・上
・下
・右
・左
・中央(不要なアニメーションかもしれないですが念のため)
値は1でもいい感じに動きますが、もっと動く角度を大きく(小さく)したい!という場合は見比べながら数値をよしなに調整してください。
値を大きくすれば角度も大きくなります。逆もしかり
作成出来たら、参照記事の通りに視線操作用のレイヤーの"Blend Tree"にそれぞれアニメーションを割り振ってください。
③Expressionメニューに操作用のメニューとパラメーターを設定する
こちらの手順については参照記事と同様に進めて問題ないです。
よくあるミスとして、手順①で入力したParametersの値とExpression Parametersで入力した値の文字列が相違ない(誤字や大文字小文字)ことを確認してください。
以上でございます。
この記事が気に入ったらサポートをしてみませんか?