Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
$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
// }
//}
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.
This would be (subjectively) "better" written as just...
$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: 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.
$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
// }
//}
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.