FaceFx not recognizing all bone positions from FBX

Hello there.

I'm having an issue across multiple characters where the program doesn't accurately recognize or reproduce key positions from the FBX. This is mainly on targets that I have added, though not across the board...some are working perfectly. In most cases, it is missing a closed mouth.

The original models were made with an open mouth position, so we've set the "0" key in Maya to a closed mouth position. Could this be why the phonemes/keys in the target mapping are being read to open? That is something that I considered, but it doesn't account for why some of the keys are exporting perfectly.

It's frustrating to say the least.

As far as your point "it doesn't account for why some of the keys are exporting perfectly", that is a very tough thing to comment on without seeing your content. I think what you are seeing there is the difference between bone poses that have the jaw bone included vs. bone poses that don't (take a look at the RemoveBones plugin to see what bones are included in each bone pose). Also, don't confuse the "bind pose" that binds the mesh to the skeleton with with FaceFx "rest pose" that determines what bones FaceFX is in charge of and what the default position of those bones are. Both of those are captured at frame 0 with the FBX pipeline.

The short answer is to set your content up with frame 0 as the neutral in your FBX. If you really want to understand the system however, then you should probably use the native Ogre/FaceFX Exporters. The Ogre Exporters for Max/Maya will then set the "bind pose" correctly the way you have it set up (with the mouth open), as opposed to forcing it to what's on frame 0. From the FaceFX exporter, you will export the "Rest Pose"...giving you a choice what bones to include and what pose to put the character in. If you choose a rest pose that is not in neutral, then all of your poses will be relative to that pose, and the character will return to that mouth-open pose when she finishes talking. Probably not what you want. So you need to set the Rest Pose to the neutral position, and then model all of your other poses off of that pose.

Hope that helps.

Permalink

Thanks for the reply. The mouth at frame zero is actually at a closed mouth. The others are close to be closed...L shapes...and consonants like d,g,k,s,t,...however, when it reaches those shapes in FaceFX it defaults to an almost wide mouth shape. These are targets that we've added to both the batch file and mapping.

Permalink

So you're saying that even with the mouth closed on frame 0 it's still not working? If so, can you please send a copy of your FBX file and the batch export .txt file you're using to support (at) oc3ent (dot) com so we can try to reproduce it here? Also, what version of FaceFX are you using? If it's an older one, you may not have the version that uses frame 0 as the bind pose inside of Studio.

One common mistake is to not have the mouth in the default position during the blink, eyebrow raise and head/eye rotation poses. Then the character seems to move the mouth randomly when these targets are activated.

Permalink

I'll have to see what I'm able to send. We use it professionally and are currently under an NDA. We are currently using 2013.3.

Our batch is laid out as such...

// Format Specifications:
// 1) Pose names with spaces nust have quotes.
// 2) A single space is in between the name and frame number
//*************************************************************

// ------------------------------------------------------------
// Always set up characters with the Rest Pose at frame 0.
// Specifying the pose here is not required, but can be
// convenient for importing poses to Max/Maya/XSI.
// ------------------------------------------------------------
// "Rest Pose" 0

// ------------------------------------------------------------
// Speech Targets - These are the most important poses.
// ------------------------------------------------------------
open 1
AI 2
E 3
O 4
U 5
ShCh 6
PBM 7
FV 8
W 9
CDGKNRSTh 10
L 11
wide 12

// ------------------------------------------------------------
// Tongue poses. Only the tongue moves. Optional.
// ------------------------------------------------------------
tBack 20
tRoof 21
tTeeth 22

As you can see we've added a few of our own. Since the FBX is set with a closed mouth, all shapes should have some kind of movement present, but for the CDGKNRSTh and L shapes that are having issues. They just default to open, though that has been removed from mapping.

I will check with my superiors and see what they are comfortable with sending over. Being that it's for the good of the project, hopefully they can give me some flexibility.

Permalink

We really need to see the FBX to help you. The only thing we can suggest is to open your FBX file in Maya (or Max), and go to all of the frames listed in your batch export text file... for each frame, make sure all the bones in the face are keyed exactly how you want them to be. Make sure there are keys exactly on the frame to be 100% sure. You should also probably update to 2013.4 as well.

You say "all shapes should have some kind of movement present, but for the CDGKNRSTh and L shapes that are having issues. They just default to open, though that has been removed from mapping."

How are you verifying the shapes? The only accurate way is to make sure no animation is selected (select a new animation group, but not animation), then go into "Create Combiner" mode using the dropdown at the top-right of the application. Then use and select the bone pose nodes, and drive them in the preview window one at a time to verify that they are correct. I do this at about 2:41 in this video: https://www.youtube.com/watch?v=Q1JnjBSi7Yo

If the poses look good there, but not in your animation, if could be something else like our coarticulation, or that there is extra movement in your blink/eyebrow poses. Many of the CDGKNRSTh phonemes will get skipped or blended into the next pose using our "new" coarticulation model. You can turn off "new coarticulation" in the Tools->Application Options to get a little more control over which shapes are present. If you are customizing your mapping, I would definitely recommend this. The lips won't be as smooth, especially during fast speech, but you will have more control.

Permalink

Hey guys. It looks like I will be able to send you the fbx files that we are using for the characters. I will send the mapping templates as well.