[VRChat] Avatars3.0のVRCAvatarDescriptor
Avatars3.0では従来のもの(Avatars2.0)と比べてVRCAvatarDescriptorの項目が大幅に変更されました。
本記事ではAvatars2.0とAvatars3.0のVRCAvatarDescriptorを比較しながらその内容を紹介していきます。
内容は以下に基づいています。
- VRCSDK3-2020.07.31.17.18_Public.unitypackage
- https://docs.vrchat.com/v2020.3.2/docs/avatars-30
Avatars3.0のVRCAvatarDescriptor
Avatars3.0でのVRCAvatarDescriptorが持つ大まかな設定項目です
- View : 視点に関する設定項目
- LipSync : 話したときの口の動きに関する設定項目
- Eye Look : 目の動きに関する設定項目
- Playable Layers アバターのボーンの動きやギミックに関する設定項目
- Lower Body : トラッキングされていない体の部位の動きに関する設定項目
- Expressions : アクションメニューに関する設定項目
Avatars2.0に比べ, Eye Look, Playable Layers, Lower Body, Expressionsが追加されました。
Eye LookはAvatars2.0で自動的に設定されていた目の動き(通称: EyeTracking)を設定できるようにしたものです。
Playable LayersはAvatars2.0におけるAnimatorOverrideController(通称: CustomOverrideEmpty)に代わるものです。
Lower Bodyはトラッキングされていない体の部位の動きに関するAvatars2.0にはなかった新しい設定項目です。
ExpressionsはAvatars3.0から利用可能になったドーナッツ型のメニュー(アクションメニュー)を拡張するための項目です。
InspectorにEditまたはPreviewボタンがある項目がありますが,
これは一度押すとボタンの文字が「Return」になり,
プレビュー&編集状態(勝手にこう呼んでいるだけ)になります。
この状態のときにSceneViewに表示されるGizmoを操作することで設定内容を変更できます。
3Dモデル : 京狐
View
視点に関する設定項目です。
- View Position
アバターの視点位置です。Avatars2.0にあったViewPositionと同じですが,
Editボタンを押すことでScene上でGizmoを使って自由に動かして設定できるようになりました。
LipSync
話したときの口の動きに関する設定項目です。
- Mode
口の動きを制御する方法を複数の中から選択できます。
Avatars2.0に比べ, Viseme Parameter Onlyが追加されました。
〇 Jaw Flap Bone
顎のボーンを使って口を開閉する方法です。
Jaw Bone
顎のボーンです。Rotation States
口を開閉したときの顎ボーンの回転です。
Previewボタンを押すと設定した回転が反映されます。
Scene上に回転Gizmoが表示されるのでそれを操作することで設定を変更できます。- Closed
口を閉じたときの顎ボーンの回転です。 - Open
口を開いたときの顎ボーンの回転です。
- Closed
〇 Jaw Flap Blend Shape
顎を動かすBlendShape(シェイプキー)を使って口を開閉する方法です。
Face Mesh
顎を動かすBlendShapeを持つオブジェクトです。Jaw Flap Blend Shape
顎を動かすBlendShapeです。
〇 Viseme Blend Shape
口を様々な形に変更するBlendShape(シェイプキー)を使って口を動かす方法です。
Boothで販売される3Dモデルの大半はこれを使用すると良いです。
Face Mesh
口を様々な形に変更するBlendShapeを持つオブジェクトです。Viseme: ○○
口を特定の形に変更するBlendShapeです。
それぞれの名称と口の形はOVRLipSyncに対応しています。
〇 Viseme Parameter Only
音声に対応した0~14の数値をAnimatorで使用して口の動きを制御する方法です?(未検証)
Eye Look
目の動きに関する設定項目です。
Avatars2.0で自動的に設定されていた目の動き(通称: EyeTracking)を設定できるようにしたものです。
デフォルトではEnableボタンだけが表示されており,
Enableボタンを押すことで設定項目が出てきます。
目の動きを設定しない場合はこのままで良いです。
General
目の動きの全体に関連する設定項目です。
Eye Movements
Calm (穏やか) <---> Excited (興奮)
瞬きの頻度Shy (恥ずかしがり) <---> Confident (自信)
他のプレーヤーを見る頻度、および目をそらすまで他のプレーヤーの顔に視線が留まる時間
Eyes
目の部分に関連する設定項目です。
Transforms
- Left Eye Bone
左目を動かすボーンです。
Avatars2.0のLeftEyeという名称のボーンに対応するものです。 - Right Eye Bone
右目を動かすボーンです。
Avatars2.0のRightEyeという名称のボーンに対応するものです。
- Left Eye Bone
Rotation States
目のボーンの回転を設定します。Looking Straight
前を見ているときの目のボーンの回転Looking Up
上を見ているときの目のボーンの回転Looking Down
下を見ているときの目のボーンの回転Looking Left
左を見ているときの目のボーンの回転Looking Right
右を見ているときの目のボーンの回転
Eyelids
まぶたに関する設定項目です。- Eyelid Type
まぶたを動かす方法を選択できます。
- Eyelid Type
〇 Bones
まぶたの動きにボーンを使った方法です。
Transforms
まぶたのボーンの回転を設定します。Upper Left Eyelid
左上まぶたを動かすボーンです。Upper Right Eyelid
右上まぶたを動かすボーンです。Lower Left Eyelid
左下まぶたを動かすボーンです。Lower Right Eyelid
右下まぶたを動かすボーンです。
Rotation States
LeftとRightがひとつの項目にまとまっており,
Upper EyelidsとLower Eyelidsを設定できます。Default
通常時のまぶたのボーンの回転です。Closed
目を閉じている時のまぶたのボーンの回転です。Looking Up
上を見ている時のまぶたのボーンの回転です。Looking Down
下を見ている時のまぶたのボーンの回転です。
〇 Blend Shapes
まぶたの動きにBlendShape(シェイプキー)を使った方法です。
Eyelids Mesh
目の動きに関するBlendShapeを持つオブジェクトです。
Avatars2.0におけるBodyという名称のオブジェクトに対応するものです。Blendshape States
Blink
両目でまばたきするBlendShapeです。
Avatars2.0におけるvrc.blink_leftとvrc.blink_rightに対応するものです。Looking Up
上を見るときにまぶたを動かすBlendShapeです。
Avatars2.0におけるvrc.lowerlid_leftとvrc.lowerlid_rightに対応するものです。Looking Down 下を見るときにまぶたを動かすBlendShapeです。
Avatars2.0におけるvrc.lowerlid_leftとvrc.lowerlid_rightに対応するものです。
Playable Layers
Avatars2.0におけるAnimatorOverrideController(通称: CustomOverrideEmpty)に代わるものです。
各ボタンを押すと, 自分で用意したAnimatorControllerを設定できるようになります。
Base
Base
Idle, 移動, 落下やジャンプなどの基本となるアニメーション(Humanoidのボーンを操作)
Avatars2.0のCustomOverrideEmptyにおけるIDLEなどを設定します。Additive
呼吸などの付加的なアニメーション(Humanoidのボーンを操作)Gesture
手の動きなどのHumanoidの一部ボーンや耳や尻尾などのHumanoidのボーン以外の操作
Avatars2.0のCustomOverrideEmptyにおけるHANDOPENなどの手の形の変更などを設定します。Action
Emoteなどの他のPlayableLayerでの変更を無視したTransformの操作
Avatars2.0のCustomOverrideEmptyにおけるEMOTEなどを設定します。FX
Transform以外の操作。
表情やゲームオブジェクトのアクティブ化, マテリアルやシェーダープロパティの変更など
Avatars2.0のCustomOverrideEmptyにおけるHANDOPENなどで設定した多くの変更を設定します。
これを最も変更することになると思います。
Special
Sitting
座る位置に関する計算をするときの補正に使う?TPose
視点に関する計算をする時の補正に使う?IKPose
IKの計算をするときの補正に使う?
Lower Body
トラッキングされていない体の部位の動きに関する設定項目 Avatars2.0にはなかった新しい設定項目です。
Use Auto-Footsteps for 3 and 4 point tracking
オフにするとルームスケールの動きに対して, 下半身のアニメーションを無効化します。
3点もしくは4点トラッキングの時に適用されます。Force Locomotion animations for 6 point tracking
オンのとき, Locomoting(ジョイスティックの移動など)はWalking/Runningアニメーションを再生します。
オフのとき, これらを再生しません。
また, オフのときはデフォルトのBaseLayerとAdditiveLayerを使用してはいけない。
6点トラッキング(フルトラッキング)の時に適用されます。
Expressions
Avatars3.0から利用可能になったドーナッツ型のメニュー(アクションメニュー)を拡張するための項目です。
Menu
アクションメニューのボタンの種類と効果を設定するVRCExpressionsMenuです。Parameters
アクションメニューのボタン操作によって変更されるAnimatorParameterを定義するVRCExpressionsParametersです。
さいごに
Avatars2.0からAvatars3.0のアバターへ変換するEditor拡張「VRCAvatarConverterTo3」を作成しました。
こちらもあわせてお使いください。
また、Avatars3.0に関する情報を共有するDiscordチャンネルもあるので、興味がある方は入ってみてください
参考文献
- https://docs.vrchat.com/v2020.3.2/docs/avatars-30
- VRChat公式Discord #open-beta-announcements