godotengine / godotengine/godot

XRFaceTracker Missing BROW_INNER_UP Blendshape, Inconsistent Naming Convention

Open
#90,567 2 comments 0 reactions 0 assignees View on GitHub
discussion topic:xr
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

- Reproducible in: v4.3.dev5.official [89f70e98d]

### System information

Godot v4.3.dev5 - Windows 10.0.22631 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3070 (NVIDIA; 31.0.15.3699) - AMD Ryzen 5 5600X 6-Core Processor (12 Threads)

### Issue description

XRFaceTracker uses the Unified Expressions blendshapes, documented here: https://docs.vrcft.io/docs/tutorial-avatars/tutorial-avatars-extras/unified-blendshapes

Several of the blendshapes are named using the OpenXR convention, which follows the Meta Quest Pro naming convention, shown in the comparison chart here: https://docs.vrcft.io/docs/tutorial-avatars/tutorial-avatars-extras/compatibility/overview

There are 2 issues in the implementation:
- BrowInnerUp is missing as a blend shape for the XRFaceTracker. This is likely because of an error in the VRC Face Tracking documentation, referenced here: https://github.com/benaclejames/VRCFaceTracking/issues/202

- Naming convention is inconsistent in the blendshapes. Some blendshapes use the Meta Quest Pro naming convention when available (BROW_LOWERER_R). However others dont use the Meta Quest Pro naming convention, even if it is available (FT_BROW_INNER_UP_RIGHT, when INNER_BROW_RAISER_R is used by Meta). If the intent is to use the OpenXR blendshape names, then this should be a consistent choice throughtout.

### Steps to reproduce

N/A, engine design issue.

### Minimal reproduction project (MRP)

N/A, engine design issue.

Contributor guide

Open the contributing guide

Research direction

Start by locating the XRFaceTracker implementation and its blendshape definitions, then compare the available names with the linked Unified Expressions and Meta Quest Pro references. Done means BrowInnerUp is represented and the naming convention is made consistent; the issue does not name a specific test to run.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, godot
Domain
ar-vr-xr, game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.