Well the how two first starts with the Daz3d Genesis 3 alpha character model. What it can do would turn the this post into a book but bottom line the framework would work with any character design we want to come up with and using Daz Studio is ideal for our current content development pipeline.
The main feature of interest is all of our player designs will share the same identical rigging and naming convention out of the box so our content creators can focus on the character design and not the technical requirements which is ideal for small development team, like ours, but the two key features is it comes with as many morphing targets you need as well as facial clusters so you could use one, the other, or a combination of both. This works for us as it keeps the entire process contained with in a single channel as it only has to be done once so by using clusters processing, authoring, facial animations is no more difficult to do as say a run or walk cycle.
For the test I first exported the base model and rig to 3ds Max to fix the spiking bug and then set it over to MotionBuilder. To get the shapes I needed I harvested them directly from Daz Studio as a take and snapped the frame to a character face. Once I had the base shapes I wired the facial clusters to the voice device set the input to a wav file and off it went. I did not do expressions as the process is identical and I have not yet figured out how many layers I would need or if I just wanted the character to talk or to create a performance, act, and I can add as many layers as I need or just the one.
I’ll get to layering in a moment but using morphs or clusters is not the problem as to which to use but what tools you have in hand, or inexpensive, to author the animation data that can be imported into Unreal 4. With clusters you can author and add facial animations just as you would any other form of animation data. For morphs you would have to add, append, the blend shape additions to a matched character as blend shapes only work per character. You could not that the boy from the kite demo for example and apply the animation data to a different character that does not have the same blend shapes. With clusters you can so be kind to your animator and use clusters as although it took just as much time to set up the above test if it used morphs it only a process than needs to be done once and applied to as many characters you wish.
So in this case my tool of choice is Motion Builder for authoring animation so I could do it all on one layer or added as many as needed to account for a unique character.
Layering as a process is no more difficult as say laying in Photoshop as in the image progression is from the bottom up. In the case of Unreal 4 if you can do something simple like an aim offset then you can do laying as it’s just another additive as the animation migration moves from bottom up as in the same manner as laying for the image. Super simple in concept as all your saying to Unreal 4 is take the transform info from the animation set and apply it from bone X up and ignore the others below.
So as to how many layers you would need is subjective as cluster data does not have the same requirements as setting up additive morphing targets. You will “have” to have the layers you suggested because of the additive nature of morphing. With clusters it’s just transform data than can be applied as an absolute or as an additive so how it’s applied depends on what would be easier as to the ideals of only having to do the process, set up, once.