Flexes for model using HL2 Citizen functions? (Flex shapes and VTA export issues)

In the process of creating my first human character model for a certain snpc pack I’m making with my coder friend.
I’ve made a couple creature models for Source and been generally successful, but going into humans is a horse of a different color.
flexes.
I’ve done surprisingly well so far. Modeled and textured him, rigged him to a standard Valve biped and did a rough compile into the engine. All citizen animations work with him, and his collision assets all work too, which is a huge load off of my mind, and I’ll properly export and path my materials and textures soon.

It will be my first time dealing with a character with eyes, but I’m more concerned about flexes.

I’ve done facial animation modeling before, and I’m certain I could make something work on the rough, but what I WANT to do is a touch more precise. I want to match the Half Life 2 human flex animation well enough that he could accurately perform the choreography files of most characters, excluding special character animations like Alyx’s of course.

And thankfully there are a number of resources to aid with this, but some are rather confusing.

This, for example, lists the flexes required and in what order. Yet “Lip Corner Puller” is listed twice? I’m not sure if this is a typo or not. The images look different.

But also, having not done realistic facial animation on human eyes before, I researched the shape and structure of eyes in Source, but only realized after rigging that the geometry of eyeballs isn’t directly connected to the eyelids and the rest of the head. Likely this is to better enable the movement of the eyelids over static eyeballs, preventing the eyes themselves from deforming and causing really weird-looking animation.

Detaching them as separate objects on TOP of the skin modifiers resulted in the compiled model’s vertex assignment getting borked, but doing so BENEATH the skin modifier left a perfect result.

For now, as long as the eyes and surrounding vertices have the same weighting it should be fine, but in making flexes I worry it’ll bite me. Compiling a VTA file requires the different flex shapes to change each frame to represent a specific shape, and it always involves the morpher modifier. Can I add a morpher to two different objects (the eyes and rest of the body) that have morph targets of the same name and values on the right frame without causing an issue? Does the morpher names and values even factor into creating the VTA file? Or is the morpher simply a means to produce a different shape on each frame, and the vertex data is all the VTA exporter is actually looking at?

Push comes to shove, I suppose I can make the eyes a bodygroup, though I’ve never heard of that being done.

Can anyone clarify any of this?

Yeah, I’ve written a few blog posts that dig into facial rigging and eye creation that extend the VDC documentation. It’s a bit wordy, but things are explained, and there are plenty of source files (3dsmax 10+) embedded as well.

The last paragraph of the second article has all of trhe base shapes you need to make as well as fully commented .qc files with verbose descriptions that match the shapes in the max file.

Thanks a lot!

Eh, yeah… a lot of documentation is really vague. I get WHAT flexes are often included, but it can get confusing. Worse is that article I posted, not specifying the stereo flexes that combine into the ones they mention. Like how blink is both the left and right combined, and not just a single flex.