Avatars 3.0で尻尾を振る機能の作り方
この記事では下の動画のようなメニューを作って、コントローラーで尻尾を振る方法を解説します。
前提条件
SDK2のアバターをAvatars 3.0へ移行するまでの、最低限のアバターセットアップが完了しているところからの解説になります。まだの人はこちらからチェックしてください。
今回の記事では、アバターの表情設定まで完了している以下のアバターで進めていきます。
尻尾振り用のアニメーターを作成する
まず、VRCSDK/Examples3/Animation/Controllers
のvrc_AvatarV3HandsLayer
をCtrl+Dで複製します。
複製されたvrc_AvatarV3HandsLayer 1
の名前を適当に改名して、アバターのフォルダに移動しておきましょう。今回は[アバター名]_Gesture
という名前にしました。
これを、アバターPlayable Layers
のGesture
スロットに入れます。
尻尾振り用のアニメーションを作成する
アニメーターの作成
次に、尻尾振り用のアニメーションを作成します。まずは先ほど作成した[アバター名]_Gesture
のAnimatorをモデルのAnimatorコンポーネント
のContoroller
にセットします。これは最終的にアバターをアップロードするときには外します。ここにセットしておくことでアバターをアップしなくてもUnity上でアニメーションのチェックができます。
登録が出来たら、[アバター名]_Gesture
をダブルクリックしてAnimatorウィンドウ
を開きます。
パラメーターの追加
Parameter
タブを開き、+
ボタンからFloat
を選択してパラメータを2つ追加しそれぞれTailX
、TailY
とします。
BlendTreeの設定
次に、Layers
から+
ボタンを押して新たにレイヤーを作成し、名前をTail Motion
とします(名前は適当でOKです)。
Tail Motion
の歯車マークをクリックして、Weight
を1にします。忘れやすいので注意!
Tail Motion
内で右クリック→From New Blend Tree
を選択しBlend Tree
を作成します。
Blend Tree
を選択し、Inspector
のMotion
にあるBlend Tree
をダブルクリックします。
するとInspector
の内容が変わります。次に、Blend Type
を2D Freeform Directional
に変更し、Parameters
にTailX
、TailY
を選択します。
Motion
で+ボタン
→Add Motion Field
で5つ作成します。
それぞれのPosX
、PosY
を以下のように設定します。
アニメーションの作成
次に、一度Projectウィンドウ
に戻り、右クリック→Crate
→Animation
で新たにAnimation Clip
を作成し、名前をTail_Idle
にします。
Tail_Idle
をBlend Tree
の一番上に追加します。
次に、ツールバーからWindow
→Animation
→Animation
を選択して、Animationウィンドウ
を出し、Sceneビュー
でアバターを選択状態にします。
次に、Animationウィンドウ
でTail_Idle
を開きます。
Add Property
より、尻尾を曲げるボーンのTransform/Rotation
の右側の+
ボタンを押しプロパティを追加します。
右端のキーフレームを選択してDelで削除して最初のフレームのみにします。
Projectウィンドウ
に戻り、Tail_Idle
を選択してCtrl+Dで4つ複製します。それぞれ、名前をTail_Up
、Tail_Down
、Tail_Right
、Tail_Left
とします。
新しく出来たAnimation Clip
をBlend Tree
に以下のように登録します。
アバターを選択状態にして、Animationウィンドウ
を開き、赤丸のRecodeボタンを押して、それぞれの状態になるようにボーンの回転を変更します。完了したらもう一度Recodeボタンを押し、Preview
をオフにすればOKです。
Tip
値を変更してもすぐに戻される!
DynamicBoneの影響下のボーンをRecodeモードで操作すると戻されます。一時的にコンポーネントのチェックを外せばOKです。変更後に戻しましょう。
Tail_Down
Tail_Left
Tail_Right
Tail_Up
動作確認
ここまで設定が完了したら、動作確認をします。シーンを再生し、Blend Tree
の赤丸を動かせば、どのように動くか確認できます。後は納得がいくまで数値を調整します。
調整が完了したら、アバターのAnimator
から[アバター名]_Gesture
を外します。
Expressoin Parameters
とExpressions Menu
を作成する
まず、Projectウィンドウで右クリック→Create
→Avatars
→ExpressionsMenu
と、Expression Parameters
を作成します。
出来たら、アバターのInspector
に戻り、Expressions
のCustomize
ボタンを押します。
すると画面が切り替わり、先ほど作成したVRCExpressionParameters
とVRCExpressionsMenu
を追加します。
VRCExpressionParameters
を選択し、TailX
、TailY
を追加します。型をFloat
にするのも忘れないようにします。
次に、VRCExpressionsMenu
を選択し、Add Control
をクリックします。
最後に、黄色で塗った部分を以下のように設定します。
これですべてのセットアップが完了しました。
VRChatでテスト
アバターを読み込んだら、デスクトップモードならR長押しでAction Menu
が開きます。
Expressions
→Tail Control
でコンロールが開き、入力で尻尾が動きます。
Tip
今回作ったバージョンは、アクションメニューを閉じても尻尾の角度が保持されるバージョンです。メニューを閉じたらリセットしたい場合は、ここを参考にしてみてください。
問題なく動けば完成です!
参考サイト
Avatars 3.0ã®å°å ¥