Source Filmmaker

Source Filmmaker

Brick Dec 17, 2018 @ 4:54pm
I need help with VTA's!
Alright, so long story short, I am making this model and I have a .VTA set up with shape keys for this model, however it doesn't work properly in SFM. I am aware of the .DMX counterpart, however I am not all that familiar with it and therefore I'd like to achieve this with a VTA.


Here's what my probably easy-to-fix problems are:
-If i leave this model with a certain shape key on Blender, the singular flex transfers over to SFM as the default, and I am unable to flex the face at all.
- Some flex sliders pop up as unknowns, even though they are known flexcontroller names. These also happen to be flexpairs.

To make things easier for you problem solvers out there, I'm just going to quit babbling and put the rest of the information on this google doc below.

Click here to see the images AND coding [docs.google.com]
Last edited by Brick; Dec 17, 2018 @ 4:54pm
< >
Showing 1-5 of 5 comments
Marco Skoll Dec 17, 2018 @ 5:57pm 
I am not open to a DMX until there is basically no possible solution
Cross the stream where it is shallowest.

The basics of DMX flex controllers that you need for what you're doing are exceptionally easy.

Because the BleST plug-in can auto generate most of the code for you, until you want to use more advanced features like combining different flexes into one controller (such as having eyes widen and close on the same slider), it's just a case of clicking a button to generate the code and then changing the value of the "stereo" parameter to 1 rather than 0 for any flex controllers that you would like to be left/right split.

While you could try to solve the problem with your VTAs, that's an obsolete format that's only still useful for very specific tasks, so you might as well use this as an excuse to learn DMX, because it would just be worth it anyway. The newer format will save you a lot of trouble and effort in the long run and also has a lot of cool features that aren't even possible in SMD/VTA.

I really do not miss having to program VTA controllers.
Last edited by Marco Skoll; Dec 17, 2018 @ 6:02pm
Brick Dec 17, 2018 @ 6:04pm 
Marco Skoll, I’ll try figuring it out somehow with the .dmx. I have only dabbled a bit with the code in the text editor but I’ll give it another go. Is there a tutorial floating around somewhere that I can use to teach myself how to do this stuff?

I appreciate it.
Marco Skoll Dec 17, 2018 @ 6:51pm 
It's obviously covered to some extent in Pte Jack's Blender to SFM Guide, but Revzin's PDF guide distributed with his source files for his port of Elizabeth from the Bioshock series[revzin.net] is also one of the strongest guides out there.

For basic purposes though, the basics of a DMX flex controller can be broken down very simply.

Firstly, you can't have underscores (like_this) in the flex name, because this causes Blender/SFM to treat them as a "corrective" automatic shapes to be mixed in when other shapes are active. That's a useful feature, but it does mean no underscores in the name of your basic shapes.

After that, it's pretty simple. Here's an auto generated flex:


{
"id" "elementid" "ef410424-bba5-3238-ad57-f5e22dfaba9a"
"name" "string" "flexshape"
"rawControlNames" "string_array" ["flexshape"]
"stereo" "bool" "0"
"eyelid" "bool" "0"
"flexMax" "float" "1.0"
"flexMin" "float" "0.0"
"wrinkleScales" "float_array" ["0.0"]
},


For simple purposes, after Blender has generated your flex controller code, the only things you will need to touch in any controller are:

- Anything in the quotes at the end of the "name" line. This can be used to rename your controller. Here, I could change the line to:

"name" "string" "flexcontroller"

And while the underlying shape would still be called flexshape, the slider I would see in SFM would now be called "flexcontroller". (There are reasons you may want them to have different names).
You can put underscores in here if you want your slider name to have an underscore.

- The "0" at the end of the "stereo" line. Changing this to 1 will change it to a split flex.

"stereo" "bool" "1"

~~~~~

You can get more complicated by:

- Using the "corrective" shapes I mentioned before. These automatically fade in when all the flexes they name are active (so a shape called "shape1_shape2" would be activated if both "shape1 and "shape2" were active) and can be used to fix flexes that don't work well together.

- specifying more than one flex in a controller (this creates the two-way and multi type sliders you see on SFM's HWM TF2 models).

- setting the wrinklescale values to something other than 0 (if the head material is set up right, this fades in textures with wrinkles to make the face's deformation look more detailed).

- adding "domination" rules (this means that one flex can be made to override another if the two wouldn't make sense as a combination, such as puffed cheeks and an open mouth at the same time)

- Or actually deleting controllers entirely, which is done as part of being able to have one slider that can affect multiple bodies/bodygroups.

... which aren't immediately necessary for what you're trying to do, but they are all staggeringly useful features (although often underutilised).
If you're interested in reading up on them, most of those features (all except the last one) are covered in Revzin's guide.
Last edited by Marco Skoll; Dec 18, 2018 @ 7:30am
Brick Dec 18, 2018 @ 3:06am 
Awesome. Thanks for the insight and help. I appreciate it.
Zappy Dec 18, 2018 @ 5:09am 
Originally posted by Marco Skoll:
- if the two wouldn't make sense as a combination, such as puffed cheeks and an open mouth at the same time -
Counter-point to that specific example: Holding a finger or such against the inside of a cheek in an open mouth still makes it bulge out.
Therefore, although extremely rare, this would make a "puffed cheeks" flex be useful together with an "open mouth" flex for animation/posing software and such, including Source Filmmaker. (It might not have a perfect bulge shape, but it'd be acceptable in some cases.)

(But yes, the general concept of a flex suppressing another is a nice thing.)
Last edited by Zappy; Dec 18, 2018 @ 5:09am
< >
Showing 1-5 of 5 comments
Per page: 1530 50

Date Posted: Dec 17, 2018 @ 4:54pm
Posts: 5