Source Filmmaker

Source Filmmaker

vaultshadow Nov 26, 2018 @ 10:23am
flexes not working
i made a grinch face for spy and the flexes work fine in hlmv but not in sfm
< >
Showing 1-13 of 13 comments
vaultshadow Nov 26, 2018 @ 10:23am 
my qc
$modelname "grinch\grinch.mdl"
$model "grinch" "grinch.dmx"
$cdmaterials "models\grinch"
//$mostlyopaque
$surfaceprop "default"
$contents "metal_box"
$bodygroup "body"
{
studio "grinch.dmx"
}
$sequence "grinch" "grinch.dmx" loop fps 30.00

$texturegroup skinfamilies
{
{ "grinch" }
{ "grinchblu" }
}

//$jigglebone "jiggle1" {
// is_flexible {
// yaw_stiffness 100
// yaw_damping 2
// pitch_stiffness 100
// pitch_damping 2
// tip_mass 10
// length 5
// angle_constraint 8
// }
//}
Kumquat [Velbud] Nov 26, 2018 @ 10:32am 
Were there any errors in the compiler or the SFM command prompt? This lets us know how to debug if there are exact errors noted about the flexes. In addition, did you make sure to name the flexes the same way as the playermodel flexes in TF2?
green Nov 26, 2018 @ 11:09am 
Are you in the motion editor or graph editor?
Marco Skoll Nov 26, 2018 @ 11:19am 
You've called the "grinch.dmx" mesh twice in your QC, once in a $model, once in a $bodygroup.

The duplicated mesh is definitely going to cause problems with flexes, as with DMX the flex controllers are built into the DMX file, so it's tried to make those controllers twice, of which only one set will work properly (controlling both meshes) - and I forget whether SFM can even try to display both sets.

(HLMV can show both sets, although only one will work. I think SFM may only show one).

Remove one of the conflicting meshes and recompile.

This is however a staggeringly powerful feature if used right (without creating duplicate controllers) - DMX models can have flexes work across multiple bodies, including switchable bodygroups.
Last edited by Marco Skoll; Nov 26, 2018 @ 11:21am
Zappy Nov 26, 2018 @ 11:33am 
What happens if you reboot Source Filmmaker, make a new session, spawn the model, switch to the Motion Editor, make sure that all time is selected, and then try to use the flexes?

Originally posted by lucarioaaron:
- $BodyGroup "body" { Studio "grinch.dmx" } -
This would be (subjectively) "better" written as just...
$Body "body" "grinch.dmx"
...as the two are functionally identical when there's only one option used for $BodyGroup.

$BodyGroup's purpose is to let you switch between multiple mesh files on a model, so using it with only a single option invalidates the purpose of using $BodyGroup in place of $Body.

But taking that into account, you would then have this:
Originally posted by lucarioaaron:
- $Model "grinch" "grinch.dmx" - $Body "body" "grinch.dmx" -
And this would result in the model having the "grinch.dmx" mesh file being loaded and rendered twice, so you should get rid of one of these statements (but not both, as then the mesh would not be loaded or rendered at all).

I would personally suggest getting rid of the $Model statement, since $Model is basically like a "modifiable" $Body while you're not actually doing any of those "modifications" (yet?). (If you're concerned about flexes, don't worry. $Model is only needed for VTA flexes, not DMX flexes.)

Also, if you use DMX flexes, then if you load that DMX file twice, the DMX mesh will be applied twice, and the flex controllers will also be applied twice, with the first set of flex controllers applying to both meshes and the second set of flex controllers not affecting anything at all. Your problem with the flexes might actually be that you're using the working ones in Half-Life Model Viewer and the "dud" ones in Source Filmmaker, which is another reason to only load the mesh once.
Last edited by Zappy; Nov 26, 2018 @ 11:33am
vaultshadow Nov 26, 2018 @ 11:10pm 
motion editor
vaultshadow Nov 26, 2018 @ 11:22pm 
i changed the qc and it now has the flexes but has the duplicates
Marco Skoll Nov 26, 2018 @ 11:25pm 
Originally posted by lucarioaaron:
i changed the qc and it now has the flexes but has the duplicates
Unless you show us exactly what you changed the QC to, we can't be much use.
vaultshadow Nov 26, 2018 @ 11:32pm 
$modelname "grinch\grinch.mdl"
$cdmaterials "models\grinch"
//$mostlyopaque
$surfaceprop "default"
$contents "metal_box"
$bodygroup "body"
{
studio "grinch.dmx"
}
$sequence "grinch" "grinch.dmx" loop fps 30.00

$texturegroup skinfamilies
{
{ "grinch" }
{ "grinchblu" }
}

//$jigglebone "jiggle1" {
// is_flexible {
// yaw_stiffness 100
// yaw_damping 2
// pitch_stiffness 100
// pitch_damping 2
// tip_mass 10
// length 5
// angle_constraint 8
// }
//}
vaultshadow Nov 26, 2018 @ 11:32pm 
i wouldn't like to bother much but can you rewrite the qc in a proper way?
Marco Skoll Nov 26, 2018 @ 11:37pm 
I'm not seeing any major issue there.

Are you still trying to test the model using an existing session file?

An animation set is only created the first time you spawn it (even if SFM has been restarted since), so any versions of the model in old sessions will only show the old controls. You need to spawn a new copy of the model to check its current controls.
vaultshadow Nov 27, 2018 @ 9:35am 
fixed it
Zengo Jan 27, 2024 @ 9:22pm 
Originally posted by vaultshadow:
fixed it
how?
< >
Showing 1-13 of 13 comments
Per page: 1530 50

Date Posted: Nov 26, 2018 @ 10:23am
Posts: 13