Skip to main content
New Participant
December 13, 2022

Meta Quest PRO Face Tracking issues with Character Creator 4

Hi all,

I'm trying to integrate the face tracking functionalities with unity on a character I created with Character Creator 4. This character has a lot of blendshapes, enough to cover all 63 featured by the face tracking SDK. 
The problem here is that the Blendshape Mapping component doesn't allow me to introduce or edit any mapping of the list in any way, and the auto map function fail to find the correct pairings between featured expected blendshapes and character blendshapes. If i change the name of a property, that property change back automatically to the previous auto-mapped one; if I try to add a property or remove a property with "+" or "-" buttons, nothing happens. The same for selecting the featured blendshape from the menubutton right in the properties.

Any workaround to work with custom characters and map manually blendshapes? 
The documentation states this "If the existing blendshapes don’t match the naming convention of the expected blendshapes in BlendshapeMapping, the blendshapes will need to be manually assigned. The blendshape visual reference can be found in the Movement - Human Blend Shapes topic."


This topic has been closed for replies.

5 replies

Up and Coming
January 10, 2023

I'm getting the exact same issue.  The Blendshape Mapping script isn't responding to any input.  Trying to add a mesh isn't working.

Up and Coming
January 10, 2023

The script looks for a skinmesh renderer child game object.  It now lists the mesh.  However, the mismatched blendshapes are all locked to "Max" and it won't let me assign a different blendshape.

Up and Coming
January 11, 2023

Follow these steps (since they're not documented by Meta)

1st, the BlendshapeMapping component REQUIRES your skinmesh renderer (with blendshapes) be a child object of whatever holds the component.

After that, automap should now attempt to match the blendshapes.

The oculus / meta script that was provided still won't let you remap things and everything that didn't auto map will be mapped to "Max".  To fix this, open the BlendshapeMappingEditor script and add the bold line at the bottom.  The rest of the text below is to help you locate where to put it:

        /// <summary>
        /// Defines the look of the script's GUI.
        /// </summary>
        public override void OnInspectorGUI()
        {
            using (new EditorGUI.DisabledGroupScope(true))
            {
                EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Script"));
            }
            if (GUILayout.Button("Auto Map"))
            {
                BlendshapeMapping blendshapeMapping = (BlendshapeMapping)target;
                _errors.Clear();
                AutoMap(blendshapeMapping);
                ApplyChanges();
                Debug.Log("Done auto-mapping.");
            }
            DrawErrorText();
            EditorGUILayout.PropertyField(serializedObject.FindProperty("Meshes"));

            serializedObject.ApplyModifiedProperties();
        }


 Meta, if you're hiring...wink

Participant
January 28, 2023

What is Blendshape Mapping component? Is it a script provided by meta? I am interested because I want to do the same.

danibigaAuthor
New Participant
January 30, 2023

Yes it is included in the new oculus face and body tracking sdk provided by meta