HWM Reference

From Valve Developer Community
Jump to: navigation, search
Note.png Note: This is a WIP. Currently you will have to download the reference sheet, as the VDC's uploader is broken at the moment.

This is a reference sheet for Valve's High-End SFM Facial Animation system, referred as Hardware Morph, or the DMX Format. Some advantages for this system include more power to the animator, corrective shapes, and wrinkle maps. These references are taken from the left4dead2_movies characters.

Due to a glitch on the VDC, I cannot currently upload the pictures to the wiki. You can view them here.

Gambler Base Blend Shapes [1]

Gambler Corrective Blend Shapes [2]

Note.png Note: The characters must be modeled with their eyes wide open. CloseLid will handle this one.
Note.png Note: You'll usually be better off adding the files to your scene and looking at them in 3D with their topology visible. Make sure this isn't your only reference.
Note.png Note: Most of these flexes can have their names automatically made in Maya, using the Blendshape Editor's bfacs.
Note.png Note: Custom dmxedit scripts may be needed to work with the certain facial features as eyelashes.

Base Shapes

These are the base blend shapes. These are generally what you control in SFM/Faceposer, however most are combined or renamed when run through DMXEdit. These are generally the most important because having bad base shapes will end up ruining your Corrective Shapes. (Not necessary, depending on the way they were created. You can have a bad OpenLowerLip, but if an 'absolute' corrector with OpenLowerLip is 'good' then you'll get a 'good' face every time this corrector pops in.)

Base shapes are combined into the sliders used for animation via DMXedit script commands. For example, LipsV is a slider that activates OpenLips or CompressLips base shape depending on where you move it.

Corrective Shapes

Corrective Shapes are used by Source when certain flexes are ticked. They will form into the shape you create in Maya/Blender after the dmx file runs through DMXEdit. These are used so that you don't have weird looking combinations with certain flexes.

Corrective shapes exist in two different 'flavors': the relative (or 'delta' shapes) and the absolute. Absolute shapes wholly define how the face looks like when sub-shapes are all active. Relative shapes are the difference from the base shape that needs to be added to the mix of sub-shapes to get the absoulte shape. SFM (and studiomdl) expects the corrective shapes to be 'relative', but it's highly impractical to sculpt them this way. The idea is that you sculpt the 'absoulte' shapes and DMXedit (among doing other things) converts them to 'relative'.

This is a picture that explains the relationship between the 'relative' and 'abosolute' correctors.

Tongue Shapes

TODO: Nick's .ma doesn't have any working tongue shapes. Can someone else do them with say, the tf_movies scout?


SELECT Shapes are used by DMXEdit to select certain vertices. They work off of the vertex data you feed to it (i.e. centerline divides the face in half based on the vertices, even if you use the edge tool to move it.) Anything that moves here will be selected, even if it moves slightly. TODO: These guys need special documentation. Take a look at gambler or the half-head Scout for a reference to these.