Source Filmmaker

Source Filmmaker

Frosty Dr. Jun 26, 2015 @ 1:46am
What is required to get a model to work in SFM?
I'm just wondering, what needs to be changed about a model (I mean, its QC), to get it to work in Source Filmmaker?

I know that it needs to be recompiled for SFM, but that can't be it. Are there special directory paths that has to be added into the qc? Does anything need to be done about a model's bones? Do they have to be named after valve bones to work? Cause, i know they don't for gmod, and, yes, I have made a few dozen ragdolls for it.

Thanks.
Last edited by Frosty Dr.; Jun 26, 2015 @ 1:47am
< >
Showing 1-15 of 31 comments
Bop Jun 26, 2015 @ 2:35am 
Requirements:

-----------------------
- Model name, specified through $modelname. This will determine where to compile your model, and what name it should have.
E.g. $modelname "foldername/anotherfoldername/model.mdl"
-----------------------
- Model .smd/.dmx through $model or $bodygroup
E.g. $model "model tag" "model.smd"
OR
$bodygroup "body group name" {
studio "model.smd"
studio "anothermodel.smd" //a different selectable model. Optional.
blank //makes the body group detachable. Optional.
}
-----------------------
- Idle animation. Use the same .smd/.dmx file unless custom animations are also to be added.
E.g. $sequence "animation name" "model.smd"
OR
$sequence "real animation name" "animation.smd" {
fps 30 //animation rate
}
-----------------------

A .phys model is not required, since SFM doesn't have functions for dynamics.
Frosty Dr. Jun 26, 2015 @ 2:42am 
Thanks! Pretty straight forward for me.
Last edited by Frosty Dr.; Jun 26, 2015 @ 2:42am
Pte Jack Jun 26, 2015 @ 6:56am 
A few more

$model (used when has flexes) - $body for mesh additions that don't
$cdmaterials {some path relative to a materials folder}/someVMTname that is known by your model

$mostlyopaque if the model has materials that are translucent

$staticprop (only if the model is a prop and DOES NOT need more than a static_prop bone)
Zappy Jun 26, 2015 @ 8:09am 
Originally posted by Pte Jack:
$model (used when has flexes)
Taken from sourcesdk_content/blahblah/engineer/scripts/engineer.qci:
$body engineer $dmxFile$

$Body fully supports flexes (and so does even $BodyGroup, except it can create duplicate flex controllers of the same name)... the problem just is only DMX flexes are supported (since they're defined inside the DMX), where-as SMD and VTA (or DMX and VTA) needs $Model, yes. Eyes also need $Model, though, so it's very rare a model with flexes uses $Body, but the Engineer from Team Fortress 2 is an example.

TL;DR: *Rant about you saying $Model is used when there are flexes, $Body when not*
Pte Jack Jun 26, 2015 @ 9:40am 
The QC command $body is used to add a reference mesh to a model. Without at least one $body the model will be invisible (exception: models with facial animation use $model instead).

(https://developer.valvesoftware.com/wiki/$body)

The QC command $model specifies a reference SMD file to be used as part of a complex model. Simple models (including all $staticprops) should use $body.

(https://developer.valvesoftware.com/wiki/$model_(QC))
episoder Jun 26, 2015 @ 9:54am 
getting it to work is rather a bare compile. i'm sure you know your ways around compiling. i have nothing to say about qc commands. compile the bones and the visual hull.

making it useful still might contain all the things you asked for/posted.

in case of release: don't do model overrides. avoid file collisions on the workshop or override glitches. for example the cloverfield parasite on the workshop overrides the fast zombie. whotf does that? lol bad. also compile your model to a subfolder under models. preferably with a type or genre or your name and a sub group or "universe" to refer to. also locate the materials in a subfolder with that same scheme. organize your custom and shared materials. and don't ever overwrite or relatively replace a file from the default content. xmpl ->
$modelname anime\lakill\... or $modelname episoder\... $cdmaterials models\episoder\picture or $cdmaterials models\episoder\shared

for ease of animating it might not be a bad idea to use one of valve's default skeleton layouts and their naming scheme for humanoid character skeletons. that avoids problems with the bone hierarchy display and with the standard biped_simple rig script. you can give a shot and try autorig script from the workshop if you don't want to sort and name bones. but... you better just have standard compatibility for a default animatable body. if not... it sux.

and it might actually still not be a bad idea to have a bit of the collision model and physics setup. in case you wanna use the model as a ragdoll or play with physics ingame sfm. you could record things blowing up. models. puppets. whatever you like to see flying. ;) so...
Last edited by episoder; Jun 26, 2015 @ 10:03am
Zappy Jun 26, 2015 @ 10:41am 
Originally posted by episoder:
you could record things blowing up. models. puppets. whatever you like to see flying. ;)
...No you can't. This isn't Garry's Mod. If you can, could you please make a short guide on it? (SFMPhys works based on (unless defined) auto-generated hitboxes, not the collision/physics mesh.)
episoder Jun 26, 2015 @ 11:53am 
mkay. unsure. i actually never built it. :D in plain theory it works. every demo recording does the same. i'll try that now. *opens hammer* *builds blastpit*. i'll check back. even if i fail. ;) *shrugs*
Last edited by episoder; Jun 26, 2015 @ 11:53am
Zappy Jun 26, 2015 @ 12:05pm 
Just remember the physics thing must be done in Source FilmMaker, and must be a custom model.
episoder Jun 26, 2015 @ 12:43pm 
ehh... yeah. i have a beta alyx recompile. counts as "custom"? ofc. but...

mood killer... i forgot that most of those hammers i have... have malfunctioning model browsers that crash on a lot of custom models. gotta fiddle a config that can load tf2 first. D:

again... i wonder when valve gonna fix that F*CKING SH*T of a glitchy browser in sfm's hammer.
Zappy Jun 26, 2015 @ 12:49pm 
Reminder: You have to place the model in Source FilmMaker, not Hammer, otherwise it won't count.
episoder Jun 26, 2015 @ 3:14pm 
ugh. come on. you know that doesn't work. it's constrained to the tool's dags and controls to fill the animation channels. how else? you gotta record it. or use that physics simulation script somewhere around. that's how it works.

and... i still did the shot. just like "on set". like an fx shot. proper prepared. "camera" (luckily post inserted to always get the best angles). action. preroll. button. boom. it looks like it got some weird quirks and glitches but it generally does it. atleast for ragdoll throwing. next is to collapse a building or do a rampshot with a car. ^_^
Frosty Dr. Jun 26, 2015 @ 5:59pm 
all I've seen, is sort of fighting. Goodness. All I asked, was if I had to change anything with my qc files before compiling them for sfm. I"VE ALREADY DONE A FEW DOZEN RAGDOLLS FOR GMOD. So far what you've said is what is already in my qcs. I don't see any difference except maybe a directory change.

Also, when I get past the compiling stage, how does one upload it to workshop? Not like I'm gonna upload it without testing first. The models I'm gonna be porting to sfm, are my ragdolls from gmod, they don't have the valve biped skeleton, as spines for these models would ruin them. Exception that the hands are valve biped, for finger poser, and there having to be one spine bone and the pelvis.

Now, can someone clearly tell me, does anything need to be changed, to the ragdoll qc? here is an example qc from one of my ragdolls:

$modelname "models/mataunu.mdl" $model "mataunu" "matanui.smd" $cdmaterials "models" $surfaceprop "metal" $contents "solid" $bodygroup "hands_new" { studio "matanui_hands_bodygroup.smd" studio "matanui_hands_orig_bodygroup.smd" } $bodygroup "mask" { studio "mouth_bit_bodygroup.smd" blank } $bonemerge "valvebiped.bip01_l_hand" $bonemerge "valvebiped.bip01_r_hand" $attachment "matanui_shielder" "ValveBiped.bip01_l_hand" 0 0 0 rotate -90 -90 0 $attachment "matanui_blade" "ValveBiped.bip01_r_hand" 0 0 0 rotate -90 -90 0 $sequence "idle" "matanui_anims\idle.smd" { fps 30 activity "act_idle" 1 } (didn't include all the collision joints, to save space)
Pte Jack Jun 26, 2015 @ 8:04pm 
Lose the bone merge, not required.

Lose the attachments, they don't work in SFM

$sequence "idle" "matanui_anims\idle.smd" {
fps 30
}

is all you need.

Your material vmt files have to be in your usermod\materials\models folder according to you qc.

And your model will end up in tour usermod\models folder

You don't need the collision smd or the collision joints for SFM.

You will require hitboxes... but you can get those from HLMV after you've done a basic compile.
Last edited by Pte Jack; Jun 26, 2015 @ 8:05pm
Zappy Jun 26, 2015 @ 10:23pm 
Originally posted by Pte Jack:
You will require hitboxes...
They are auto-generated if not defined.
Originally posted by Pte Jack:
but you can get those from HLMV after you've done a basic compile.
Half-Life Model Viewer only shows the auto-generated ones that are already in the model.
(Unless there are customly defined ones, in which case it'll show the defined ones, of course.)
Last edited by Zappy; Jun 26, 2015 @ 10:24pm
< >
Showing 1-15 of 31 comments
Per page: 1530 50

Date Posted: Jun 26, 2015 @ 1:46am
Posts: 31