DigitalEro Offline

Is there a maximum number of skins a model can have?

Tue, 04 Mar 2014 00:19:23

Horsey

I've got a rather simple model that I've created 18+ skins for. However whe I compiled the model and put it in source, all of the skins show up as one of the texture skins. I've double checked the qc as well as the vmt files and they all seem to be fine. This has worked without issue on past models so I'm not sure what the problem could be. I figured if I stayed under 32 materials I should be fine but the model doesn't seem to want co-operate in sfm.
Tue, 04 Mar 2014 01:52:54

Pipedude

Lets see the QC code
Tue, 04 Mar 2014 03:21:58

Horsey

$modelname "immigrant\datapad/datapad.mdl" $scale 14 $mostlyopaque $ambientboost $texturegroup skinfamilies { { "screen1" } { "screen2" } { "screen3" } { "screen4" } { "screen5" } { "screen6" } { "screen7" } { "screen8" } { "screen9" } { "screen10" } { "screen11" } { "screen12" } { "screen13" } { "screen14" } { "screen15" } { "screen16" } { "screen17" } { "screen18" } } $model "body" "pad.smd" $model "body" "screen.smd" $poseparameter body_pitch -45.00 45.00 $poseparameter body_yaw -45.00 45.00 $cdmaterials "models\immigrant\datapad" $illumposition 0.000 1.680 40.090 $sequence idle "idle" fps 30.00 I've also tried variants where I replaced "skinfamilies" with "Screen" and moved the "texturegroup" below the $model "body" without any success.
Tue, 04 Mar 2014 07:11:31

Vitezislav

Here an example from one of my qc file with different skins. I am missing the bottom part in yours: $texturegroup skinfamilies { {"Bikini.vmt" } {"Bikini2.vmt" } {"Bikini3.vmt" } {"Bikini4.vmt" } {"Bikini5.vmt" } {"Bikini6.vmt" } {"Bikini7.vmt" } {"Bikini8.vmt" } {"Bikini9.vmt" } {"Bikini10.vmt" } } // Model uses material "Bikini.vmt" // Model uses material "Bikini2.vmt" // Model uses material "Bikini3.vmt" // Model uses material "Bikini4.vmt" // Model uses material "Bikini5.vmt" // Model uses material "Bikini6.vmt" // Model uses material "Bikini7.vmt" // Model uses material "Bikini8.vmt" // Model uses material "Bikini9.vmt" // Model uses material "Bikini10.vmt"
Tue, 04 Mar 2014 07:54:41

Ganonmaster

"Vitezislav" said ...
// Model uses material "Bikini.vmt"
Lines that start with two slashes are comment lines. The compiler ignores them. Comment lines are helpful when you need to quickly remove a few lines without deleting them, or for describing the code that has been written. tl;dr: these lines do nothing.
"Horsey" said ...
[snip]
Going off of your model's name I'm going to assume that by default your model has two materials. Let's say datapad_edge.vmt and screen1.vmt. Every skingroup should have a material in each slot for those skins to work. I can't check if this is a requirement for these things to work on models with multiple materials, but knowing Source, it probably is. So instead of this:
$texturegroup skinfamilies
{ 
{ "screen1" }
{ "screen2" }
}
you do this:
$texturegroup skinfamilies
{ 
{ "datapad_edge" "screen1" }
{ "datapad_edge" "screen2" }
}
Also, $texturegroup allows up to a maximum of 32 alternate material sets.
Wed, 05 Mar 2014 04:24:20

Horsey

"Ganonmaster" said ...
"Vitezislav" said ...
// Model uses material "Bikini.vmt"
Lines that start with two slashes are comment lines. The compiler ignores them. Comment lines are helpful when you need to quickly remove a few lines without deleting them, or for describing the code that has been written. tl;dr: these lines do nothing.
"Horsey" said ...
[snip]
Going off of your model's name I'm going to assume that by default your model has two materials. Let's say datapad_edge.vmt and screen1.vmt. Every skingroup should have a material in each slot for those skins to work. I can't check if this is a requirement for these things to work on models with multiple materials, but knowing Source, it probably is. So instead of this:
$texturegroup skinfamilies
{ 
{ "screen1" }
{ "screen2" }
}
you do this:
$texturegroup skinfamilies
{ 
{ "datapad_edge" "screen1" }
{ "datapad_edge" "screen2" }
}
Also, $texturegroup allows up to a maximum of 32 alternate material sets.
No dice. This is really bizarre, I'm using pretty much the same qc code as I have on other models (and they all work perfectly fine). Looks fine in blender too. Since it's so small I might just try the port again from scratch and use fewer skins and see if that makes a difference.