Source Filmmaker

Source Filmmaker

any way to remap a model flex
any eazy to to remap a model flex (facial flex)
< >
Showing 1-13 of 13 comments
R234 May 4, 2017 @ 1:55pm 
No way at all I'm afraid.
Marco Skoll May 4, 2017 @ 2:27pm 
I have seen some models where advanced DMX flex controllers are used to increase the range of flex motion, but the model has to be made that way... and I have *no* idea what that way is.
Pte Jack May 4, 2017 @ 3:08pm 
it's in my guide! lol
Marco Skoll May 4, 2017 @ 3:27pm 
I wasn't aware that specific application of advanced controllers was covered in your guide. (If it is, which section specifically?)

I understand much of advanced flex controllers, but I still haven't seen any explanation of how some models use one slider to "multiply" all the other flexes on the model - such as in the third image here:

http://steamcommunity.com/sharedfiles/filedetails/?id=246844569
Last edited by Marco Skoll; May 4, 2017 @ 3:27pm
Pte Jack May 4, 2017 @ 3:44pm 
Ohh, let me look at that, but advanced DMX definitions are covered under the advanced shapekey section of the guide.
Zappy May 5, 2017 @ 12:01am 
You can remap flex sliders, but it involves some Element Viewer stuff. But either way, don't bother with it. Even if you set a flex to a value of 400000, it will only be shown as up to 1, and even if you set a flex to a value of -400000, it will only be shown as down to 0. Flexes are always clamped between 0% and 100%, regardless of what you do.

Originally posted by Marco Skoll:
I have seen some models where advanced DMX flex controllers are used to increase the range of flex motion, but the model has to be made that way... and I have *no* idea what that way is.
Corrective shape keys (is my assumption). Like, let's say you have a flex called Smile and one called Exaggerate, where Smile is smiling and Exaggerate is... nothing. If you then make a shape key called "Smile_Exaggerate", which is just the Smile shape key multiplied by 4 or 9 times, then adjusting the Smile slider of the model will get it up to 100% smile, while then adjusting the Exaggerate slider will add the 400% or 900% (but only if Smile is active), getting it up to 500% or 1000% Smile. It should work in theory.
Marco Skoll May 5, 2017 @ 5:28am 
Originally posted by Zappy:
Corrective shape keys (is my assumption).
Oooooooh... that sounds like it would work. I'm still relatively new to corrective shape keys, as I've only really just started to use them on my models, but they are proving a very powerful tool so far.

Personally, I'm not looking for GMod expressions, but still... being able to build in an option to turn things up to eleven, twelve or fifteen when I haven't quite made a given flex big enough for the expression I need would be very useful.
(Adjusting everything at once isn't ideal, but it's much easier than having to completely recompile the model with a bigger flex, which means either keeping the old copy of the model or changing the expressions in all existing scenes).
Pte Jack May 5, 2017 @ 5:42am 
I still haven't figured out how corrective shapes work (not fully anyway) and very rarely use them in my models. I just keep the ones I want and discard the rest before compile.
Marco Skoll May 5, 2017 @ 8:11am 
I think I've got a fairly good handle on how they work, although I can't pretend that I've yet thought of all the ways they can be used.

They're very useful for the ways in which I set up facial controls - I prefer to have specific details rather than entire expressions, as this gives more control over the exact emotions conveyed (which will prove important for the series I'm hopefully making these characters for).
However, that generally means using more flexes for any given expression, and it's easier for combinations to conflict (which corrective shapes are very good at helping fix).
Pte Jack May 5, 2017 @ 8:33am 
Hey Marco, any way you might be able to make a basic guide or youtube video on how to create and apply corrective shapes. I kind of understand the concept, but my lack of knowlege on them outweighs what I do know.

The other question I have for you is are you applying these through VTAs and flex/controller definitions in the qc or are you applying them by writing configurations via advance DMX flex definitions?

If I could actually see how this is being done, I might be able to grasp the concept better and added the process to my guide.

The other thing I'm tripping over is dominators and suppressors for DMX Flexes. Again, I understand the concept, but lack the knowlege on how to apply them properly.
Zappy May 5, 2017 @ 8:41am 
Originally posted by Pte Jack:
The other question I have for you is are you applying these through VTAs and flex/controller definitions in the qc or are you applying them by writing configurations via advance DMX flex definitions?
Neither. It's possible to do it through VTAs ( %correctiveopensmile = openmouth * smile for the flex usage definition), but any flex containing a "_" is automatically considered a corrective shape flex for DMX flexes. From what I understand, if you have shape keys on the mesh called Jaw, OpenMouth, and Smile and using them all, all shape keys used on the model would be Jaw, OpenMouth, Smile, Jaw_OpenMouth, Jaw_Smile, OpenMouth_Smile and Jaw_OpenMouth_Smile.

If I understand stuff correctly, then if you keep Jaw and OpenMouth at 100%, but put Smile at 50%, then the shape keys Jaw, OpenMouth, and Jaw_OpenMouth will all get applied at 100% intensity, while Smile, Jaw_Smile, OpenMouth_Smile and Jaw_OpenMouth_Smile will all get applied at 50% intensity.
Last edited by Zappy; May 5, 2017 @ 8:43am
Marco Skoll May 5, 2017 @ 10:13am 
Originally posted by Pte Jack:
Hey Marco, any way you might be able to make a basic guide or youtube video on how to create and apply corrective shapes. I kind of understand the concept, but my lack of knowlege on them outweighs what I do know.
Possibly! I am away from my normal computer at the moment though, so any in-depth guide with pictures or videos will have to wait.

They're not particularly complicated though. As Zappy says, in the DMX format, they don't need any special configuration, they just need to be named right.

A very basic process would be - well, let's say I have two flexes that don't want to play together, which for simplicity we'll call Alpha and Bravo.

- In Blender, I create a new flex called Alpha_Bravo.

- I activate flexes Alpha, Bravo and Alpha_Bravo in edit mode (you need to click the edit mode button under the shape key list to have more than one flex active in edit mode, but you probably already know that).

- I now select flex Alpha_Bravo in edit mode (or, equally, sculpt mode) then adjust the mesh as much as necessary to fix the combination of those flexes.

- It's then a good idea to go to the model in the Blender Source tools panel and select "Generate Corrective Shape Key Drivers". This will configure Blender to use all existing corrective shapes (i.e. those with valid underscore separated names) automatically.

(I don't think it applies them *exactly* the same as Source, but it's good enough. I think Source multiplies the sliders together to control the shape, I think Blender uses the value of the lesser slider.).

The reason it's a good idea to do this is, like Zappy says, Source applies *all* valid combinations of corrective shapes (if you have shapes A, B and C active, then Source applies all of A_B, A_C, B_C and A_B_C that exist). You don't want to create a corrective shape for A_B_C without all of A_B, A_C and B_C active first, and having Blender apply those automatically is the easiest way to avoid the mistake.

- Continuing on from that, if I later find that adding in flex Charlie to the Alpha + Bravo combination (although not either individually) then causes problems even with the Alpha_Bravo corrective shape active, then I can then produce a new Alpha_Bravo_Charlie corrective shape.

That's the core of the process. I can, if necessary, break down some of my character models when I get home to demonstrate what the corrective shapes are, what they do and why, but that'll be a few days off.

The other thing I'm tripping over is dominators and suppressors for DMX Flexes. Again, I understand the concept, but lack the knowlege on how to apply them properly.
I haven't yet bothered with dominators or suppressors, because I've yet to find a reason I really want to have them for SFM.

I can see how they might be useful when a game might be combining odd combinations of phoneme/expression depending on scripted cues in game, but as an animator I'm entirely capable of deciding what shapes are valid to combine.

I might feel differently as I work on the models more, but for now, I prefer to handle that stuff manually.
Pte Jack May 5, 2017 @ 12:40pm 
Seen and thanks for that Marco, but I'm still a little confusing though. (Just call me thick headed, lol).

To alleiviate the need to use corrective shapes, what I'll usually do is create the shape alpha_bravo_charlie find the shape I want to enhance and actually create a new solid shape keys to include the enhancements. Not the best method, but it works.

I find that when I try to use corrective shapes (even after generating the drivers), they don't change the actual shape being driven on compile.

So there is something that I'm definately doing wrong (and one of the main reasons I skip over corrective shapes in my guide.) But going through your description here, I think I know what that is now... It maybe how try I apply the correction.

I've read Rezvin's description of corrective shapes in his Lizzy documentation 100 times, but get lost with the A+B+C, A+C, and A+B definitions he describes. Same with your explanation here...

I would really like to see in practice so I can finally get my head wrapped around this. (when or if you get around to it.) I'm in no rush, just let me know! Thanks.

Oh for the Dominators and Suppressors, it's like doing the math to flexes in a QC for making a complex flex from a VTA flex.

Remember the old
%upper_right_raiser = right_lid_raiser * (1 - right_lid_droop * 0.8) * (1 - right_lid_closer) * (1 - blink)
commands?

Now you just dominate or suppress a flex with vector call. Finding where to actually place the call though is confusing.
Last edited by Pte Jack; May 5, 2017 @ 12:42pm
< >
Showing 1-13 of 13 comments
Per page: 1530 50

Date Posted: May 4, 2017 @ 1:44pm
Posts: 13