VRCSDK 3.10.6 以降 VRCAvatarDescriptor で設定できるようになった Face Tracking のデータを JSON で記述し、ビルド時に設定できるコンポーネントです。
{
"$schema": "https://zatools.kb10uy.dev/schemas/face-tracking-data-installer.schema.json",
"Version": 1,
"UseAllTrackingKeys": true,
"VisemeDampen": { "Mode": "DampenTracking", "Amount": 0.5 },
"BlendShapeSets": [
{
"Name": "Eyes",
"DefaultWeight": 1.0,
"TrackingKeys": {
"EyeClosedLeft": "blink_L",
"EyeClosedRight": "blink_R",
"EyeWideLeft": { "Shape": "surprised_L", "Multiplier": 0.5 },
"EyeWideRight": { "Shape": "surprised_R", "Multiplier": 0.5 }
}
},
{
"Name": "Mouth",
"DefaultWeight": 1.0,
"TrackingKeys": {
"JawOpen": "mouth_open",
"TongueOut": "tongue_out"
},
"Visemes": {
"aa": "vrc.v_aa",
"oh": "vrc.v_oh"
}
}
],
"ParameterBehaviors": [
{
"Operation": "ApplyBlendSetWeight",
"Target": "Mouth",
"Expression": {
"Type": "Max",
"TrackingKeys": [{ "Key": "Voice", "Invert": true }]
}
},
{
"Operation": "ForwardToAnimator",
"Target": "FT/EyesClosed",
"Expression": {
"Type": "Min",
"TrackingKeys": ["EyeClosedLeft", "EyeClosedRight"]
}
},
{
"Operation": "ApplyToBlendshape",
"Target": "blush",
"Weight": "Eyes",
"Expression": {
"Type": "Custom",
"Expression": "clamp((CheekSquintLeft + CheekSquintRight) * 0.5, 0, 1)"
}
},
{
"Operation": "LimitBlendshapeMax",
"Target": "surprised_L",
"Expression": {
"Type": "Multiply",
"TrackingKeys": [{ "Key": "EyeClosedLeft", "Invert": true }]
}
},
{
"Operation": "LimitBlendshapeMin",
"Target": "mouth_open",
"Expression": {
"Type": "Add",
"TrackingKeys": ["Viseme_aa", "Viseme_oh"]
}
}
]
}