Texture bodygroups for a model?

I created a giant reskin for a model i did not create and was wondering how to make it a texture bodygroup and not a separate model, And all i could find when i looked it up is how to create bodygroups for new models on existing models. Any help would be much helpfull, thanks. :wink:

You’ll need to decompile the model, add the skingroup stuff to the QC and then recompile it again.
Cannonfodder’s decompiler works the best, but you may want to clean out a few things from the QC it spits out, like the $cd command.

Also, bodygroups and skingroups are two seperate things, the former being for mesh alterations, the latter being just for the texture.
You can find the stuff you’ll need to add to the QC in here: https://developer.valvesoftware.com/wiki/Multiple_Skins

Thanks for the help! really informative :wink: but i have a question, i have reskined an entire complex model… so i don’t want to switch textures one by one, and want them to be in one package somehow, is this possible and how?

If you’re wanting to have multiple variants of a texture assigned to the same model, it’s possible through adding skingroups to the model. It can be done, and examples are provided in the the link that one free man provided you with in their previous post.

Do you mean that the model uses more than one texture per skin?
If so, that’s also easy to make work with skingroups,

If a model would usually have textures set up in groups like

Then it could use multiple textures in each by:

Then by selecting the first skin, it would load Skin1_Part1 and Skin1_part2 at the same time.
You can have as many as you want within the brackets.

Hm… This is very odd. now that i have done that it spawns with missing texture…textures(?) it spawns with all its model body groups active on spawn,(which it should not) and spawns halfway in the ground when using tools. maybe refering to the missing texture part i have not placed them in the correct folder, and to the active model bodygroups problem it may have to do with me needing to remove a line of code for it to be able to compile with (it was just the blank facial expression so i thought it wouldn’t matter) do you know how i should fix this?

Post your QC, that will help us work out the issue.

Welp, here goes nothin’

$modelname “RTBModels/Vocaloid/HatsuneMiku.mdl”
$model “Miku” “Miku_Face.smd” {
flexfile “mdldecompiler_expressions.vta” {
flex “LBrow_Raise” frame 1
flex “LBrow_Lower” frame 2
flex “LBrow_Angry” frame 3
flex “LBrow_Sad” frame 4
flex “RBrow_Raise” frame 5
flex “RBrow_Lower” frame 6
flex “RBrow_Angry” frame 7
flex “RBrow_Sad” frame 8
flex “LEye_Close” frame 9
flex “LEye_Wink” frame 10
flex “LEye_Half” frame 11
flex “LEye_Wide” frame 12
flex “REye_Close” frame 13
flex “REye_Wink” frame 14
flex “REye_Half” frame 15
flex “REye_Wide” frame 16
flex “AE” frame 17
flex “AH” frame 18
flex “AW” frame 19
flex “DS” frame 20
flex “EE” frame 21
flex “ER” frame 22
flex “FV” frame 23
flex “GK” frame 24
flex “MB” frame 25
flex “N” frame 26
flex “OH” frame 27
flex “OO” frame 28
flex “PP” frame 29
flex “SH” frame 30
flex “T” frame 31
flex “TH” frame 32
flex “UH” frame 33
flex “WQ” frame 34
flex “Y” frame 35
flex “Smile” frame 36
flex “Frown” frame 37
flex “Nya” frame 38
}
eyeball righteye j_kao_wj -1.523 -0.092 56.726 eyeball_r 0.000 4.000 F_DIVA_MIK000_KAO 3.050
eyeball lefteye j_kao_wj 1.523 -0.092 56.726 eyeball_l 0.000 -4.000 F_DIVA_MIK000_KAO 3.050
// If you uncomment the following lines the eyes will be closed
// I’m including it anyway in case anyone wants to experiment
// eyelid upper_right “mdldecompiler_expressions.vta” lowerer 42 -1.000000 neutral 42 0.000000 raiser 42 1.000000 split 0.1 eyeball righteye
// eyelid lower_right “mdldecompiler_expressions.vta” lowerer 42 -1.000000 neutral 42 0.000000 raiser 42 1.000000 split 0.1 eyeball righteye
// If you uncomment the following lines the eyes will be closed
// I’m including it anyway in case anyone wants to experiment
// eyelid upper_left “mdldecompiler_expressions.vta” lowerer 42 -1.000000 neutral 42 0.000000 raiser 42 1.000000 split -0.1 eyeball lefteye
// eyelid lower_left “mdldecompiler_expressions.vta” lowerer 42 -1.000000 neutral 42 0.000000 raiser 42 1.000000 split -0.1 eyeball lefteye
flexcontroller LBrow_Raise LBrow_Raise “range” 0.000 1.000
flexcontroller LBrow_Lower LBrow_Lower “range” 0.000 1.000
flexcontroller LBrow_Angry LBrow_Angry “range” 0.000 1.000
flexcontroller LBrow_Sad LBrow_Sad “range” 0.000 1.000
flexcontroller RBrow_Raise RBrow_Raise “range” 0.000 1.000
flexcontroller RBrow_Lower RBrow_Lower “range” 0.000 1.000
flexcontroller RBrow_Angry RBrow_Angry “range” 0.000 1.000
flexcontroller RBrow_Sad RBrow_Sad “range” 0.000 1.000
flexcontroller LEye_Close LEye_Close “range” 0.000 1.000
flexcontroller LEye_Wink LEye_Wink “range” 0.000 1.000
flexcontroller LEye_Half LEye_Half “range” 0.000 1.000
flexcontroller LEye_Wide LEye_Wide “range” 0.000 1.000
flexcontroller REye_Close REye_Close “range” 0.000 1.000
flexcontroller REye_Wink REye_Wink “range” 0.000 1.000
flexcontroller REye_Half REye_Half “range” 0.000 1.000
flexcontroller REye_Wide REye_Wide “range” 0.000 1.000
flexcontroller AE AE “range” 0.000 1.000
flexcontroller AH AH “range” 0.000 1.000
flexcontroller AW AW “range” 0.000 1.000
flexcontroller DS DS “range” 0.000 1.000
flexcontroller EE EE “range” 0.000 1.000
flexcontroller ER ER “range” 0.000 1.000
flexcontroller FV FV “range” 0.000 1.000
flexcontroller GK GK “range” 0.000 1.000
flexcontroller MB MB “range” 0.000 1.000
flexcontroller N N “range” 0.000 1.000
flexcontroller OH OH “range” 0.000 1.000
flexcontroller OO OO “range” 0.000 1.000
flexcontroller PP PP “range” 0.000 1.000
flexcontroller SH SH “range” 0.000 1.000
flexcontroller T T “range” 0.000 1.000
flexcontroller TH TH “range” 0.000 1.000
flexcontroller UH UH “range” 0.000 1.000
flexcontroller WQ WQ “range” 0.000 1.000
flexcontroller Y Y “range” 0.000 1.000
flexcontroller Smile Smile “range” 0.000 1.000
flexcontroller Frown Frown “range” 0.000 1.000
flexcontroller Nya Nya “range” 0.000 1.000
flexcontroller Blank Blank “range” 0.000 1.000
flexcontroller eyes eyes_updown “range” -45.000 45.000
flexcontroller eyes eyes_rightleft “range” -45.000 45.000
%LBrow_Raise = LBrow_Raise
%LBrow_Lower = LBrow_Lower
%LBrow_Angry = LBrow_Angry
%LBrow_Sad = LBrow_Sad
%RBrow_Raise = RBrow_Raise
%RBrow_Lower = RBrow_Lower
%RBrow_Angry = RBrow_Angry
%RBrow_Sad = RBrow_Sad
%LEye_Close = LEye_Close
%LEye_Wink = LEye_Wink
%LEye_Half = LEye_Half
%LEye_Wide = LEye_Wide
%REye_Close = REye_Close
%REye_Wink = REye_Wink
%REye_Half = REye_Half
%REye_Wide = REye_Wide
%AE = AE
%AH = AH
%AW = AW
%DS = DS
%EE = EE
%ER = ER
%FV = FV
%GK = GK
%MB = MB
%N = N
%OH = OH
%OO = OO
%PP = PP
%SH = SH
%T = T
%TH = TH
%UH = UH
%WQ = WQ
%Y = Y
%Smile = Smile
%Frown = Frown
%Nya = Nya

}
$texturegroup skinfamilies
{
{ “Blue(stock)” “f_diva_mik001_necktie_blue” }
{ “Orange” “f_diva_mik001_necktie_orange” }
}
$model “Blush” “MikuSkel.smd”
$model “Blush” “MikuFace_Blush.smd”
$model “Squint” “MikuSkel.smd”
$model “Squint” “MikuFace_Squint.smd”
$model “Body” “Miku_Body01.smd”
$model “BodyLower” “Miku_Body01Lower.smd”
$model “Hair” “Miku_Hair01.smd”
$cdmaterials “models\RTBModels\Vocaloid\Miku”
$hboxset “default”
$hbox 0 “n_hara” -7.264 -4.933 -6.863 7.264 7.517 4.783
$hbox 0 “cl_mune” -4.070 -3.309 -1.852 4.085 4.058 3.701
$hbox 0 “n_hara_b_wj_ex” -2.371 -2.936 -3.704 3.653 2.584 3.704
$hbox 0 “kl_mune_b_wj” -5.638 -1.530 -4.331 5.639 8.683 2.356
$hbox 0 “n_hara_c_wj_ex” 0.000 0.000 -0.790 2.093 4.859 0.790
$hbox 0 “n_kubi_wj_ex” -1.643 0.000 -1.604 1.643 3.717 2.217
$hbox 0 “j_kao_wj” -4.511 -6.144 -2.645 4.994 6.144 8.284
$hbox 0 “kl_waki_r_wj” -3.487 -1.906 -6.894 1.199 2.996 0.000
$hbox 0 “n_skata_r_wj_cd_ex” -1.137 -2.237 -1.150 4.661 1.489 1.939
$hbox 0 “n_skata_b_r_wj_cd_cu_ex” -1.788 -1.582 -1.150 4.531 1.369 1.777
$hbox 0 “n_skata_c_r_wj_cd_cu_ex” -1.816 -1.645 -1.150 2.868 1.369 1.791
$hbox 0 “j_ude_r_wj” -3.324 -1.644 -1.001 1.415 1.356 1.791
$hbox 0 “n_hiji_r_wj_ex” -0.307 -2.868 -1.628 9.197 2.136 3.711
$hbox 0 “n_sude_r_wj_ex” 0.000 -0.771 -0.579 2.923 0.804 0.945
$hbox 0 “n_sude_b_r_wj_ex” -1.768 -0.934 -0.587 2.185 0.957 0.945
$hbox 0 “n_sleeve_r_wj_ex” -2.550 -2.845 -1.620 0.902 2.157 3.716
$hbox 0 “j_sleeve_r_000_wj” -0.127 -2.868 -0.898 3.665 2.136 1.483
$hbox 0 “n_ste_r_wj_ex” -2.464 -1.152 -0.586 0.871 1.179 0.833
$hbox 0 “Bip01_R_Hand” -0.319 -1.861 -0.766 4.450 1.405 0.876
$hbox 0 “Bip01_R_Finger0” -0.536 -0.703 -0.481 0.786 0.415 0.822
$hbox 0 “kl_waki_l_wj” -3.934 -1.906 0.000 1.199 2.996 7.555
$hbox 0 “n_skata_l_wj_cd_ex” -1.137 -2.237 -1.939 4.661 1.489 1.006
$hbox 0 “n_skata_b_l_wj_cd_cu_ex” -2.440 -1.582 -1.777 4.531 1.369 1.150
$hbox 0 “n_skata_c_l_wj_cd_cu_ex” -1.816 -1.645 -1.791 2.868 1.369 1.150
$hbox 0 “j_ude_l_wj” -3.324 -1.644 -1.791 1.415 1.356 1.001
$hbox 0 “n_hiji_l_wj_ex” -0.307 -2.868 -3.711 9.197 2.136 1.628
$hbox 0 “n_sude_l_wj_ex” 0.000 -0.771 -0.945 2.923 0.804 0.579
$hbox 0 “n_sude_b_l_wj_ex” -1.768 -0.934 -0.945 2.185 0.957 0.587
$hbox 0 “n_sleeve_l_wj_ex” -2.550 -2.870 -3.710 0.902 2.134 1.629
$hbox 0 “j_sleeve_l_000_wj” -0.127 -2.869 -1.483 3.665 2.135 0.898
$hbox 0 “n_ste_l_wj_ex” -2.464 -1.152 -0.833 0.872 1.178 0.587
$hbox 0 “Bip01_L_Hand” -0.318 -1.862 -0.877 4.450 1.405 0.765
$hbox 0 “Bip01_L_Finger0” -0.536 -0.702 -0.822 0.786 0.415 0.482
$hbox 0 “cl_momo_l” -3.131 -2.832 -4.872 2.747 3.732 4.923
$hbox 0 “n_momo_b_l_wj_ex” -3.186 -4.701 -1.835 2.084 1.246 2.631
$hbox 0 “n_momo_c_l_wj_ex” -3.123 -6.307 -1.840 2.084 4.445 2.564
$hbox 0 “n_hiza_l_wj_ex” -3.062 -2.496 -1.766 2.646 2.025 1.826
$hbox 0 “j_sune_l_wj” -0.736 -2.320 -1.721 17.757 2.239 2.229
$hbox 0 “kl_asi_l_wj_co” -0.992 -3.950 -1.215 3.964 1.722 1.730
$hbox 0 “kl_toe_l_wj” -1.274 -2.137 -0.781 1.988 3.057 2.164
$hbox 0 “cl_momo_r” -2.747 -2.832 -4.872 3.131 3.732 4.923
$hbox 0 “n_momo_b_r_wj_ex” -3.186 -4.701 -2.631 2.084 1.246 1.835
$hbox 0 “n_momo_c_r_wj_ex” -3.123 -6.307 -2.564 2.084 4.445 1.840
$hbox 0 “n_hiza_r_wj_ex” -3.062 -2.496 -1.826 2.646 2.025 1.766
$hbox 0 “j_sune_r_wj” -0.736 -2.320 -2.229 17.757 2.239 1.721
$hbox 0 “kl_asi_r_wj_co” -0.992 -3.950 -1.730 3.964 1.722 1.215
$hbox 0 “kl_toe_r_wj” -1.274 -2.137 -2.164 1.988 3.057 0.781
$hbox 0 “j_skirt_l_02_001_wj” 0.000 -1.776 -0.286 6.353 5.916 8.786
$hbox 0 “j_skirt_l_03_001_wj” 0.000 -1.100 -2.176 3.938 0.194 0.246
$hbox 0 “j_skirt_l_07_001_wj” 0.000 -1.279 -6.512 5.274 5.712 1.398
$hbox 0 “j_skirt_l_08_001_wj” 0.000 -1.049 -2.026 2.384 0.157 0.085
$hbox 0 “j_tail_l_000_wj” -0.991 -2.055 -4.437 20.113 2.191 3.860
$hbox 0 “j_tail_l_007_wj” -5.934 -2.610 -6.910 20.500 3.208 6.384
$hbox 0 “j_tail_l_013_wj” -7.039 -2.606 -6.911 16.520 3.211 6.382
$hbox 0 “j_tail_r_000_wj” -0.991 -2.190 -4.432 20.113 2.057 3.865
$hbox 0 “j_tail_r_007_wj” -5.934 -3.198 -6.899 20.503 2.621 6.395
$hbox 0 “j_tail_r_013_wj” -7.039 -3.194 -6.901 16.521 2.625 6.393
// Model uses material “F_DIVA_MIK000_KAO.vmt”
// Model uses material “eyeball_l.vmt”
// Model uses material “eyeball_r.vmt”
// Model uses material “F_DIVA_MIK001_JACKET.vmt”
// Model uses material “F_DIVA_MIK000_BODY.vmt”
// Model uses material “F_DIVA_MIK001_LACE.vmt”
// Model uses material “F_DIVA_MIK001_NECKTIE.vmt”
// Model uses material “F_DIVA_MIK001_SLEEVE.vmt”
// Model uses material “F_DIVA_MIK001_SLEEVE_LIGHT.vmt”
// Model uses material “F_DIVA_MIK001_MIC_LIGHT.vmt”
// Model uses material “F_DIVA_MIK001_MIC.vmt”
// Model uses material “F_DIVA_MIK001_NAIL.vmt”
// Model uses material “F_DIVA_MIK001_01.vmt”
// Model uses material “F_DIVA_MIK001_LEGLIGHT.vmt”
// Model uses material “F_DIVA_MIK001_TIGHITS.vmt”
// Model uses material “F_DIVA_MIK001_SHORTS.vmt”
// Model uses material “F_DIVA_MIK001_SKIRT_LIGHT.vmt”
// Model uses material “F_DIVA_MIK001_SKIRT.vmt”
// Model uses material “F_DIVA_MIK500_HAIRTAIL.vmt”
// Model uses material “F_DIVA_MIK500_HAIRFRONT.vmt”
// Model uses material “F_DIVA_MIK500_HAIRBASE.vmt”
$attachment “eyes” “j_kao_wj” 1.67 -0.00 1.86 rotate -0.00 -0.02 0.01
$attachment “righteye” “j_kao_wj” 1.67 -1.52 1.86 rotate -0.00 -0.02 0.01
$attachment “lefteye” “j_kao_wj” 1.67 1.52 1.86 rotate -0.00 -0.02 0.01
$surfaceprop “flesh”
$eyeposition -0.000 0.000 70.000
$illumposition -0.892 0.000 31.608
$sequence ragdoll “ragdoll” ACT_DIERAGDOLL 1 fps 30.00
$collisionjoints “phymodel.smd” {

$mass 42.0
$inertia 10.00
$damping 0.00
$rotdamping 4.00
$rootbone "n_hara"

$jointconstrain "cl_momo_r" x limit -90.00 90.00 0.00
$jointconstrain "cl_momo_r" y limit -45.00 45.00 0.00
$jointconstrain "cl_momo_r" z limit -15.00 15.00 0.00

$jointconstrain "n_hiza_r_wj_ex" x limit 0.00 0.00 0.00
$jointconstrain "n_hiza_r_wj_ex" y limit 0.00 0.00 0.00
$jointconstrain "n_hiza_r_wj_ex" z limit 0.00 125.00 0.00

$jointconstrain "kl_asi_r_wj_co" x limit -15.00 15.00 0.00
$jointconstrain "kl_asi_r_wj_co" y limit -15.00 15.00 0.00
$jointconstrain "kl_asi_r_wj_co" z limit -45.00 45.00 0.00

$jointconstrain "cl_momo_l" x limit -90.00 90.00 0.00
$jointconstrain "cl_momo_l" y limit -45.00 45.00 0.00
$jointconstrain "cl_momo_l" z limit -15.00 15.00 0.00

$jointconstrain "n_hiza_l_wj_ex" x limit 0.00 0.00 0.00
$jointconstrain "n_hiza_l_wj_ex" y limit 0.00 0.00 0.00
$jointconstrain "n_hiza_l_wj_ex" z limit 0.00 125.00 0.00

$jointconstrain "kl_asi_l_wj_co" x limit -15.00 15.00 0.00
$jointconstrain "kl_asi_l_wj_co" y limit -15.00 15.00 0.00
$jointconstrain "kl_asi_l_wj_co" z limit -45.00 45.00 0.00

$jointconstrain "kl_toe_l_wj" x limit 0.00 0.00 0.00
$jointconstrain "kl_toe_l_wj" y limit 0.00 0.00 0.00
$jointconstrain "kl_toe_l_wj" z limit -15.00 15.00 0.00

$jointconstrain "cl_mune" x limit -15.00 15.00 0.00
$jointconstrain "cl_mune" y limit -20.00 20.00 0.00
$jointconstrain "cl_mune" z limit -20.00 20.00 0.00

$jointconstrain "n_hara_b_wj_ex" x limit -15.00 15.00 0.00
$jointconstrain "n_hara_b_wj_ex" y limit -20.00 20.00 0.00
$jointconstrain "n_hara_b_wj_ex" z limit -20.00 20.00 0.00

$jointmassbias "kl_mune_b_wj" 1.50
$jointconstrain "kl_mune_b_wj" x limit -15.00 15.00 0.00
$jointconstrain "kl_mune_b_wj" y limit -30.00 30.00 0.00
$jointconstrain "kl_mune_b_wj" z limit -30.00 30.00 0.00

$jointmassbias "j_necktie_001_wj" 0.00
$jointconstrain "j_necktie_001_wj" x limit -30.00 30.00 0.00
$jointconstrain "j_necktie_001_wj" y limit -90.00 90.00 0.00
$jointconstrain "j_necktie_001_wj" z limit -45.00 45.00 0.00

$jointconstrain "n_kubi_wj_ex" x limit 0.00 0.00 0.00
$jointconstrain "n_kubi_wj_ex" y limit 0.00 0.00 0.00
$jointconstrain "n_kubi_wj_ex" z limit 0.00 0.00 0.00

$jointmassbias "j_kao_wj" 1.50
$jointconstrain "j_kao_wj" x limit -15.00 15.00 0.00
$jointconstrain "j_kao_wj" y limit -15.00 15.00 0.00
$jointconstrain "j_kao_wj" z limit -45.00 45.00 0.00

$jointmassbias "j_necktie_002_wj" 0.00
$jointconstrain "j_necktie_002_wj" x limit -30.00 30.00 0.00
$jointconstrain "j_necktie_002_wj" y limit -90.00 90.00 0.00
$jointconstrain "j_necktie_002_wj" z limit -45.00 45.00 0.00

$jointmassbias "j_tail_l_000_wj" 0.00
$jointconstrain "j_tail_l_000_wj" x limit -45.00 45.00 0.00
$jointconstrain "j_tail_l_000_wj" y limit -125.00 125.00 0.00
$jointconstrain "j_tail_l_000_wj" z limit -15.00 125.00 0.00

$jointmassbias "j_tail_l_007_wj" 0.00
$jointconstrain "j_tail_l_007_wj" x limit -45.00 45.00 0.00
$jointconstrain "j_tail_l_007_wj" y limit -125.00 125.00 0.00
$jointconstrain "j_tail_l_007_wj" z limit -90.00 90.00 0.00

$jointmassbias "j_tail_l_013_wj" 0.00
$jointconstrain "j_tail_l_013_wj" x limit -45.00 45.00 0.00
$jointconstrain "j_tail_l_013_wj" y limit -45.00 45.00 0.00
$jointconstrain "j_tail_l_013_wj" z limit -90.00 90.00 0.00

$jointmassbias "j_tail_r_000_wj" 0.00
$jointconstrain "j_tail_r_000_wj" x limit -45.00 45.00 0.00
$jointconstrain "j_tail_r_000_wj" y limit -125.00 125.00 0.00
$jointconstrain "j_tail_r_000_wj" z limit -15.00 125.00 0.00

$jointmassbias "j_necktie_003_wj" 0.00
$jointconstrain "j_necktie_003_wj" x limit -30.00 30.00 0.00
$jointconstrain "j_necktie_003_wj" y limit -90.00 90.00 0.00
$jointconstrain "j_necktie_003_wj" z limit -45.00 45.00 0.00

$jointconstrain "kl_waki_l_wj" x limit -30.00 30.00 0.00
$jointconstrain "kl_waki_l_wj" y limit -50.00 15.00 0.00
$jointconstrain "kl_waki_l_wj" z limit -30.00 30.00 0.00

$jointconstrain "n_skata_l_wj_cd_ex" x limit -15.00 15.00 0.00
$jointconstrain "n_skata_l_wj_cd_ex" y limit -30.00 70.00 0.00
$jointconstrain "n_skata_l_wj_cd_ex" z limit -90.00 75.00 0.00

$jointconstrain "n_hiji_l_wj_ex" x limit -15.00 15.00 0.00
$jointconstrain "n_hiji_l_wj_ex" y limit 0.00 0.00 0.00
$jointconstrain "n_hiji_l_wj_ex" z limit -125.00 0.00 0.00

$jointconstrain "bip01_l_hand" x limit -45.00 45.00 0.00
$jointconstrain "bip01_l_hand" y limit -60.00 45.00 0.00
$jointconstrain "bip01_l_hand" z limit -45.00 45.00 0.00

$jointconstrain "kl_waki_r_wj" x limit -30.00 30.00 0.00
$jointconstrain "kl_waki_r_wj" y limit -50.00 15.00 0.00
$jointconstrain "kl_waki_r_wj" z limit -30.00 30.00 0.00

$jointconstrain "n_skata_r_wj_cd_ex" x limit -15.00 15.00 0.00
$jointconstrain "n_skata_r_wj_cd_ex" y limit -75.00 30.00 0.00
$jointconstrain "n_skata_r_wj_cd_ex" z limit -90.00 75.00 0.00

$jointconstrain "n_hiji_r_wj_ex" x limit -15.00 15.00 0.00
$jointconstrain "n_hiji_r_wj_ex" y limit 0.00 0.00 0.00
$jointconstrain "n_hiji_r_wj_ex" z limit -125.00 0.00 0.00

$jointconstrain "bip01_r_hand" x limit -45.00 45.00 0.00
$jointconstrain "bip01_r_hand" y limit -60.00 45.00 0.00
$jointconstrain "bip01_r_hand" z limit -45.00 45.00 0.00

$jointmassbias "j_tail_r_007_wj" 0.00
$jointconstrain "j_tail_r_007_wj" x limit -45.00 45.00 0.00
$jointconstrain "j_tail_r_007_wj" y limit -125.00 125.00 0.00
$jointconstrain "j_tail_r_007_wj" z limit -90.00 90.00 0.00

$jointmassbias "j_necktie_004_wj" 0.00
$jointconstrain "j_necktie_004_wj" x limit -30.00 30.00 0.00
$jointconstrain "j_necktie_004_wj" y limit -90.00 90.00 0.00
$jointconstrain "j_necktie_004_wj" z limit -45.00 45.00 0.00

$jointmassbias "j_tail_r_013_wj" 0.00
$jointconstrain "j_tail_r_013_wj" x limit -45.00 45.00 0.00
$jointconstrain "j_tail_r_013_wj" y limit -45.00 45.00 0.00
$jointconstrain "j_tail_r_013_wj" z limit -90.00 90.00 0.00

$jointconstrain "kl_toe_r_wj" x limit 0.00 0.00 0.00
$jointconstrain "kl_toe_r_wj" y limit 0.00 0.00 0.00
$jointconstrain "kl_toe_r_wj" z limit -15.00 15.00 0.00

}
If you see any major problems, please reply!

-snip-

Actually it looks like your model uses the material “F_DIVA_MIK001_NECKTIE.vmt” but you’re looking for “f_diva_mik001_necktie_blue.vmt” which might be it. Did you change the material the SMD uses before renaming it?

The all-bodygroups-active-at-once issue is because model decompiling fucks up bodygroups, and generates them as straight-up $model lines.

The offending lines are the following:


$model "Blush" "MikuSkel.smd"
$model "Blush" "MikuFace_Blush.smd"
$model "Squint" "MikuSkel.smd"
$model "Squint" "MikuFace_Squint.smd"
$model "Body" "Miku_Body01.smd"
$model "BodyLower" "Miku_Body01Lower.smd"
$model "Hair" "Miku_Hair01.smd"

The $model line is in the form of: $model .

As you can see, a few of these models have the same name. This implies they were originally bodygroups. Bodygroups are created in the following form:


$bodygroup <name> {
  mesh1
  mesh2
  ..
  meshN
}

Where “mesh1” is the default bodygroup, and all of the “mesh” lines are either "studio " or “blank”, with blank meaning no mesh at all.

Whenever you see multiple $model lines with the same name, then you need to convert them to bodygroups. For example, those above $model lines should become the following:


$bodygroup "Blush" {
    studio "MikuSkel.smd"
    studio "MikuFace_Blush.smd"
}
$bodygroup "Squint" {
    studio "MikuSkel.smd"
    studio "MikuFace_Squint.smd"
}
$model "Body" "Miku_Body01.smd"
$model "BodyLower" "Miku_Body01Lower.smd"
$model "Hair" "Miku_Hair01.smd"

All I did was change the lines that had 2 or more of the same name to bodygroups, and the ones that had only a single instance of a name stay as $model lines.

That should resolve your bodygroups issue.

Thank you so much! ^o^

[editline]25th June 2013[/editline]

Oh i see i messed it up now, thanks!

Hm… the errors seem to be gone, but i don’t see the texturegroups in game, i’ll repost the updated code:
$modelname “RTBModels/Vocaloid/HatsuneMiku.mdl”
$model “Miku” “Miku_Face.smd” {
flexfile “mdldecompiler_expressions.vta” {
flex “LBrow_Raise” frame 1
flex “LBrow_Lower” frame 2
flex “LBrow_Angry” frame 3
flex “LBrow_Sad” frame 4
flex “RBrow_Raise” frame 5
flex “RBrow_Lower” frame 6
flex “RBrow_Angry” frame 7
flex “RBrow_Sad” frame 8
flex “LEye_Close” frame 9
flex “LEye_Wink” frame 10
flex “LEye_Half” frame 11
flex “LEye_Wide” frame 12
flex “REye_Close” frame 13
flex “REye_Wink” frame 14
flex “REye_Half” frame 15
flex “REye_Wide” frame 16
flex “AE” frame 17
flex “AH” frame 18
flex “AW” frame 19
flex “DS” frame 20
flex “EE” frame 21
flex “ER” frame 22
flex “FV” frame 23
flex “GK” frame 24
flex “MB” frame 25
flex “N” frame 26
flex “OH” frame 27
flex “OO” frame 28
flex “PP” frame 29
flex “SH” frame 30
flex “T” frame 31
flex “TH” frame 32
flex “UH” frame 33
flex “WQ” frame 34
flex “Y” frame 35
flex “Smile” frame 36
flex “Frown” frame 37
flex “Nya” frame 38
}
eyeball righteye j_kao_wj -1.523 -0.092 56.726 eyeball_r 0.000 4.000 F_DIVA_MIK000_KAO 3.050
eyeball lefteye j_kao_wj 1.523 -0.092 56.726 eyeball_l 0.000 -4.000 F_DIVA_MIK000_KAO 3.050
// If you uncomment the following lines the eyes will be closed
// I’m including it anyway in case anyone wants to experiment
// eyelid upper_right “mdldecompiler_expressions.vta” lowerer 42 -1.000000 neutral 42 0.000000 raiser 42 1.000000 split 0.1 eyeball righteye
// eyelid lower_right “mdldecompiler_expressions.vta” lowerer 42 -1.000000 neutral 42 0.000000 raiser 42 1.000000 split 0.1 eyeball righteye
// If you uncomment the following lines the eyes will be closed
// I’m including it anyway in case anyone wants to experiment
// eyelid upper_left “mdldecompiler_expressions.vta” lowerer 42 -1.000000 neutral 42 0.000000 raiser 42 1.000000 split -0.1 eyeball lefteye
// eyelid lower_left “mdldecompiler_expressions.vta” lowerer 42 -1.000000 neutral 42 0.000000 raiser 42 1.000000 split -0.1 eyeball lefteye
flexcontroller LBrow_Raise LBrow_Raise “range” 0.000 1.000
flexcontroller LBrow_Lower LBrow_Lower “range” 0.000 1.000
flexcontroller LBrow_Angry LBrow_Angry “range” 0.000 1.000
flexcontroller LBrow_Sad LBrow_Sad “range” 0.000 1.000
flexcontroller RBrow_Raise RBrow_Raise “range” 0.000 1.000
flexcontroller RBrow_Lower RBrow_Lower “range” 0.000 1.000
flexcontroller RBrow_Angry RBrow_Angry “range” 0.000 1.000
flexcontroller RBrow_Sad RBrow_Sad “range” 0.000 1.000
flexcontroller LEye_Close LEye_Close “range” 0.000 1.000
flexcontroller LEye_Wink LEye_Wink “range” 0.000 1.000
flexcontroller LEye_Half LEye_Half “range” 0.000 1.000
flexcontroller LEye_Wide LEye_Wide “range” 0.000 1.000
flexcontroller REye_Close REye_Close “range” 0.000 1.000
flexcontroller REye_Wink REye_Wink “range” 0.000 1.000
flexcontroller REye_Half REye_Half “range” 0.000 1.000
flexcontroller REye_Wide REye_Wide “range” 0.000 1.000
flexcontroller AE AE “range” 0.000 1.000
flexcontroller AH AH “range” 0.000 1.000
flexcontroller AW AW “range” 0.000 1.000
flexcontroller DS DS “range” 0.000 1.000
flexcontroller EE EE “range” 0.000 1.000
flexcontroller ER ER “range” 0.000 1.000
flexcontroller FV FV “range” 0.000 1.000
flexcontroller GK GK “range” 0.000 1.000
flexcontroller MB MB “range” 0.000 1.000
flexcontroller N N “range” 0.000 1.000
flexcontroller OH OH “range” 0.000 1.000
flexcontroller OO OO “range” 0.000 1.000
flexcontroller PP PP “range” 0.000 1.000
flexcontroller SH SH “range” 0.000 1.000
flexcontroller T T “range” 0.000 1.000
flexcontroller TH TH “range” 0.000 1.000
flexcontroller UH UH “range” 0.000 1.000
flexcontroller WQ WQ “range” 0.000 1.000
flexcontroller Y Y “range” 0.000 1.000
flexcontroller Smile Smile “range” 0.000 1.000
flexcontroller Frown Frown “range” 0.000 1.000
flexcontroller Nya Nya “range” 0.000 1.000
flexcontroller Blank Blank “range” 0.000 1.000
flexcontroller eyes eyes_updown “range” -45.000 45.000
flexcontroller eyes eyes_rightleft “range” -45.000 45.000
%LBrow_Raise = LBrow_Raise
%LBrow_Lower = LBrow_Lower
%LBrow_Angry = LBrow_Angry
%LBrow_Sad = LBrow_Sad
%RBrow_Raise = RBrow_Raise
%RBrow_Lower = RBrow_Lower
%RBrow_Angry = RBrow_Angry
%RBrow_Sad = RBrow_Sad
%LEye_Close = LEye_Close
%LEye_Wink = LEye_Wink
%LEye_Half = LEye_Half
%LEye_Wide = LEye_Wide
%REye_Close = REye_Close
%REye_Wink = REye_Wink
%REye_Half = REye_Half
%REye_Wide = REye_Wide
%AE = AE
%AH = AH
%AW = AW
%DS = DS
%EE = EE
%ER = ER
%FV = FV
%GK = GK
%MB = MB
%N = N
%OH = OH
%OO = OO
%PP = PP
%SH = SH
%T = T
%TH = TH
%UH = UH
%WQ = WQ
%Y = Y
%Smile = Smile
%Frown = Frown
%Nya = Nya

}
$texturegroup skinfamilies
{
{ “Blue(stock)” “f_diva_mik001_necktie_blue” }
{ “Blue(stock)” “f_diva_mik001_skirt_blue” }
{ “Orange” “f_diva_mik001_necktie_orange” }
{ “Orange” “f_diva_mik001_skirt_orange” }
}
$bodygroup “Blush” {
studio “MikuSkel.smd”
studio “MikuFace_Blush.smd”
}
$bodygroup “Squint” {
studio “MikuSkel.smd”
studio “MikuFace_Squint.smd”
}
$model “Body” “Miku_Body01.smd”
$model “BodyLower” “Miku_Body01Lower.smd”
$model “Hair” “Miku_Hair01.smd”
$cdmaterials “models\RTBModels\Vocaloid\Miku”
$hboxset “default”
$hbox 0 “n_hara” -7.264 -4.933 -6.863 7.264 7.517 4.783
$hbox 0 “cl_mune” -4.070 -3.309 -1.852 4.085 4.058 3.701
$hbox 0 “n_hara_b_wj_ex” -2.371 -2.936 -3.704 3.653 2.584 3.704
$hbox 0 “kl_mune_b_wj” -5.638 -1.530 -4.331 5.639 8.683 2.356
$hbox 0 “n_hara_c_wj_ex” 0.000 0.000 -0.790 2.093 4.859 0.790
$hbox 0 “n_kubi_wj_ex” -1.643 0.000 -1.604 1.643 3.717 2.217
$hbox 0 “j_kao_wj” -4.511 -6.144 -2.645 4.994 6.144 8.284
$hbox 0 “kl_waki_r_wj” -3.487 -1.906 -6.894 1.199 2.996 0.000
$hbox 0 “n_skata_r_wj_cd_ex” -1.137 -2.237 -1.150 4.661 1.489 1.939
$hbox 0 “n_skata_b_r_wj_cd_cu_ex” -1.788 -1.582 -1.150 4.531 1.369 1.777
$hbox 0 “n_skata_c_r_wj_cd_cu_ex” -1.816 -1.645 -1.150 2.868 1.369 1.791
$hbox 0 “j_ude_r_wj” -3.324 -1.644 -1.001 1.415 1.356 1.791
$hbox 0 “n_hiji_r_wj_ex” -0.307 -2.868 -1.628 9.197 2.136 3.711
$hbox 0 “n_sude_r_wj_ex” 0.000 -0.771 -0.579 2.923 0.804 0.945
$hbox 0 “n_sude_b_r_wj_ex” -1.768 -0.934 -0.587 2.185 0.957 0.945
$hbox 0 “n_sleeve_r_wj_ex” -2.550 -2.845 -1.620 0.902 2.157 3.716
$hbox 0 “j_sleeve_r_000_wj” -0.127 -2.868 -0.898 3.665 2.136 1.483
$hbox 0 “n_ste_r_wj_ex” -2.464 -1.152 -0.586 0.871 1.179 0.833
$hbox 0 “Bip01_R_Hand” -0.319 -1.861 -0.766 4.450 1.405 0.876
$hbox 0 “Bip01_R_Finger0” -0.536 -0.703 -0.481 0.786 0.415 0.822
$hbox 0 “kl_waki_l_wj” -3.934 -1.906 0.000 1.199 2.996 7.555
$hbox 0 “n_skata_l_wj_cd_ex” -1.137 -2.237 -1.939 4.661 1.489 1.006
$hbox 0 “n_skata_b_l_wj_cd_cu_ex” -2.440 -1.582 -1.777 4.531 1.369 1.150
$hbox 0 “n_skata_c_l_wj_cd_cu_ex” -1.816 -1.645 -1.791 2.868 1.369 1.150
$hbox 0 “j_ude_l_wj” -3.324 -1.644 -1.791 1.415 1.356 1.001
$hbox 0 “n_hiji_l_wj_ex” -0.307 -2.868 -3.711 9.197 2.136 1.628
$hbox 0 “n_sude_l_wj_ex” 0.000 -0.771 -0.945 2.923 0.804 0.579
$hbox 0 “n_sude_b_l_wj_ex” -1.768 -0.934 -0.945 2.185 0.957 0.587
$hbox 0 “n_sleeve_l_wj_ex” -2.550 -2.870 -3.710 0.902 2.134 1.629
$hbox 0 “j_sleeve_l_000_wj” -0.127 -2.869 -1.483 3.665 2.135 0.898
$hbox 0 “n_ste_l_wj_ex” -2.464 -1.152 -0.833 0.872 1.178 0.587
$hbox 0 “Bip01_L_Hand” -0.318 -1.862 -0.877 4.450 1.405 0.765
$hbox 0 “Bip01_L_Finger0” -0.536 -0.702 -0.822 0.786 0.415 0.482
$hbox 0 “cl_momo_l” -3.131 -2.832 -4.872 2.747 3.732 4.923
$hbox 0 “n_momo_b_l_wj_ex” -3.186 -4.701 -1.835 2.084 1.246 2.631
$hbox 0 “n_momo_c_l_wj_ex” -3.123 -6.307 -1.840 2.084 4.445 2.564
$hbox 0 “n_hiza_l_wj_ex” -3.062 -2.496 -1.766 2.646 2.025 1.826
$hbox 0 “j_sune_l_wj” -0.736 -2.320 -1.721 17.757 2.239 2.229
$hbox 0 “kl_asi_l_wj_co” -0.992 -3.950 -1.215 3.964 1.722 1.730
$hbox 0 “kl_toe_l_wj” -1.274 -2.137 -0.781 1.988 3.057 2.164
$hbox 0 “cl_momo_r” -2.747 -2.832 -4.872 3.131 3.732 4.923
$hbox 0 “n_momo_b_r_wj_ex” -3.186 -4.701 -2.631 2.084 1.246 1.835
$hbox 0 “n_momo_c_r_wj_ex” -3.123 -6.307 -2.564 2.084 4.445 1.840
$hbox 0 “n_hiza_r_wj_ex” -3.062 -2.496 -1.826 2.646 2.025 1.766
$hbox 0 “j_sune_r_wj” -0.736 -2.320 -2.229 17.757 2.239 1.721
$hbox 0 “kl_asi_r_wj_co” -0.992 -3.950 -1.730 3.964 1.722 1.215
$hbox 0 “kl_toe_r_wj” -1.274 -2.137 -2.164 1.988 3.057 0.781
$hbox 0 “j_skirt_l_02_001_wj” 0.000 -1.776 -0.286 6.353 5.916 8.786
$hbox 0 “j_skirt_l_03_001_wj” 0.000 -1.100 -2.176 3.938 0.194 0.246
$hbox 0 “j_skirt_l_07_001_wj” 0.000 -1.279 -6.512 5.274 5.712 1.398
$hbox 0 “j_skirt_l_08_001_wj” 0.000 -1.049 -2.026 2.384 0.157 0.085
$hbox 0 “j_tail_l_000_wj” -0.991 -2.055 -4.437 20.113 2.191 3.860
$hbox 0 “j_tail_l_007_wj” -5.934 -2.610 -6.910 20.500 3.208 6.384
$hbox 0 “j_tail_l_013_wj” -7.039 -2.606 -6.911 16.520 3.211 6.382
$hbox 0 “j_tail_r_000_wj” -0.991 -2.190 -4.432 20.113 2.057 3.865
$hbox 0 “j_tail_r_007_wj” -5.934 -3.198 -6.899 20.503 2.621 6.395
$hbox 0 “j_tail_r_013_wj” -7.039 -3.194 -6.901 16.521 2.625 6.393
// Model uses material “F_DIVA_MIK000_KAO.vmt”
// Model uses material “eyeball_l.vmt”
// Model uses material “eyeball_r.vmt”
// Model uses material “F_DIVA_MIK001_JACKET.vmt”
// Model uses material “F_DIVA_MIK000_BODY.vmt”
// Model uses material “F_DIVA_MIK001_LACE.vmt”
// Model uses material “F_DIVA_MIK001_NECKTIE.vmt”
// Model uses material “F_DIVA_MIK001_SLEEVE.vmt”
// Model uses material “F_DIVA_MIK001_SLEEVE_LIGHT.vmt”
// Model uses material “F_DIVA_MIK001_MIC_LIGHT.vmt”
// Model uses material “F_DIVA_MIK001_MIC.vmt”
// Model uses material “F_DIVA_MIK001_NAIL.vmt”
// Model uses material “F_DIVA_MIK001_01.vmt”
// Model uses material “F_DIVA_MIK001_LEGLIGHT.vmt”
// Model uses material “F_DIVA_MIK001_TIGHITS.vmt”
// Model uses material “F_DIVA_MIK001_SHORTS.vmt”
// Model uses material “F_DIVA_MIK001_SKIRT_LIGHT.vmt”
// Model uses material “F_DIVA_MIK001_SKIRT.vmt”
// Model uses material “F_DIVA_MIK500_HAIRTAIL.vmt”
// Model uses material “F_DIVA_MIK500_HAIRFRONT.vmt”
// Model uses material “F_DIVA_MIK500_HAIRBASE.vmt”
$attachment “eyes” “j_kao_wj” 1.67 -0.00 1.86 rotate -0.00 -0.02 0.01
$attachment “righteye” “j_kao_wj” 1.67 -1.52 1.86 rotate -0.00 -0.02 0.01
$attachment “lefteye” “j_kao_wj” 1.67 1.52 1.86 rotate -0.00 -0.02 0.01
$surfaceprop “flesh”
$eyeposition -0.000 0.000 70.000
$illumposition -0.892 0.000 31.608
$sequence ragdoll “ragdoll” ACT_DIERAGDOLL 1 fps 30.00
$collisionjoints “phymodel.smd” {

$mass 42.0
$inertia 10.00
$damping 0.00
$rotdamping 4.00
$rootbone "n_hara"

$jointconstrain "cl_momo_r" x limit -90.00 90.00 0.00
$jointconstrain "cl_momo_r" y limit -45.00 45.00 0.00
$jointconstrain "cl_momo_r" z limit -15.00 15.00 0.00

$jointconstrain "n_hiza_r_wj_ex" x limit 0.00 0.00 0.00
$jointconstrain "n_hiza_r_wj_ex" y limit 0.00 0.00 0.00
$jointconstrain "n_hiza_r_wj_ex" z limit 0.00 125.00 0.00

$jointconstrain "kl_asi_r_wj_co" x limit -15.00 15.00 0.00
$jointconstrain "kl_asi_r_wj_co" y limit -15.00 15.00 0.00
$jointconstrain "kl_asi_r_wj_co" z limit -45.00 45.00 0.00

$jointconstrain "cl_momo_l" x limit -90.00 90.00 0.00
$jointconstrain "cl_momo_l" y limit -45.00 45.00 0.00
$jointconstrain "cl_momo_l" z limit -15.00 15.00 0.00

$jointconstrain "n_hiza_l_wj_ex" x limit 0.00 0.00 0.00
$jointconstrain "n_hiza_l_wj_ex" y limit 0.00 0.00 0.00
$jointconstrain "n_hiza_l_wj_ex" z limit 0.00 125.00 0.00

$jointconstrain "kl_asi_l_wj_co" x limit -15.00 15.00 0.00
$jointconstrain "kl_asi_l_wj_co" y limit -15.00 15.00 0.00
$jointconstrain "kl_asi_l_wj_co" z limit -45.00 45.00 0.00

$jointconstrain "kl_toe_l_wj" x limit 0.00 0.00 0.00
$jointconstrain "kl_toe_l_wj" y limit 0.00 0.00 0.00
$jointconstrain "kl_toe_l_wj" z limit -15.00 15.00 0.00

$jointconstrain "cl_mune" x limit -15.00 15.00 0.00
$jointconstrain "cl_mune" y limit -20.00 20.00 0.00
$jointconstrain "cl_mune" z limit -20.00 20.00 0.00

$jointconstrain "n_hara_b_wj_ex" x limit -15.00 15.00 0.00
$jointconstrain "n_hara_b_wj_ex" y limit -20.00 20.00 0.00
$jointconstrain "n_hara_b_wj_ex" z limit -20.00 20.00 0.00

$jointmassbias "kl_mune_b_wj" 1.50
$jointconstrain "kl_mune_b_wj" x limit -15.00 15.00 0.00
$jointconstrain "kl_mune_b_wj" y limit -30.00 30.00 0.00
$jointconstrain "kl_mune_b_wj" z limit -30.00 30.00 0.00

$jointmassbias "j_necktie_001_wj" 0.00
$jointconstrain "j_necktie_001_wj" x limit -30.00 30.00 0.00
$jointconstrain "j_necktie_001_wj" y limit -90.00 90.00 0.00
$jointconstrain "j_necktie_001_wj" z limit -45.00 45.00 0.00

$jointconstrain "n_kubi_wj_ex" x limit 0.00 0.00 0.00
$jointconstrain "n_kubi_wj_ex" y limit 0.00 0.00 0.00
$jointconstrain "n_kubi_wj_ex" z limit 0.00 0.00 0.00

$jointmassbias "j_kao_wj" 1.50
$jointconstrain "j_kao_wj" x limit -15.00 15.00 0.00
$jointconstrain "j_kao_wj" y limit -15.00 15.00 0.00
$jointconstrain "j_kao_wj" z limit -45.00 45.00 0.00

$jointmassbias "j_necktie_002_wj" 0.00
$jointconstrain "j_necktie_002_wj" x limit -30.00 30.00 0.00
$jointconstrain "j_necktie_002_wj" y limit -90.00 90.00 0.00
$jointconstrain "j_necktie_002_wj" z limit -45.00 45.00 0.00

$jointmassbias "j_tail_l_000_wj" 0.00
$jointconstrain "j_tail_l_000_wj" x limit -45.00 45.00 0.00
$jointconstrain "j_tail_l_000_wj" y limit -125.00 125.00 0.00
$jointconstrain "j_tail_l_000_wj" z limit -15.00 125.00 0.00

$jointmassbias "j_tail_l_007_wj" 0.00
$jointconstrain "j_tail_l_007_wj" x limit -45.00 45.00 0.00
$jointconstrain "j_tail_l_007_wj" y limit -125.00 125.00 0.00
$jointconstrain "j_tail_l_007_wj" z limit -90.00 90.00 0.00

$jointmassbias "j_tail_l_013_wj" 0.00
$jointconstrain "j_tail_l_013_wj" x limit -45.00 45.00 0.00
$jointconstrain "j_tail_l_013_wj" y limit -45.00 45.00 0.00
$jointconstrain "j_tail_l_013_wj" z limit -90.00 90.00 0.00

$jointmassbias "j_tail_r_000_wj" 0.00
$jointconstrain "j_tail_r_000_wj" x limit -45.00 45.00 0.00
$jointconstrain "j_tail_r_000_wj" y limit -125.00 125.00 0.00
$jointconstrain "j_tail_r_000_wj" z limit -15.00 125.00 0.00

$jointmassbias "j_necktie_003_wj" 0.00
$jointconstrain "j_necktie_003_wj" x limit -30.00 30.00 0.00
$jointconstrain "j_necktie_003_wj" y limit -90.00 90.00 0.00
$jointconstrain "j_necktie_003_wj" z limit -45.00 45.00 0.00

$jointconstrain "kl_waki_l_wj" x limit -30.00 30.00 0.00
$jointconstrain "kl_waki_l_wj" y limit -50.00 15.00 0.00
$jointconstrain "kl_waki_l_wj" z limit -30.00 30.00 0.00

$jointconstrain "n_skata_l_wj_cd_ex" x limit -15.00 15.00 0.00
$jointconstrain "n_skata_l_wj_cd_ex" y limit -30.00 70.00 0.00
$jointconstrain "n_skata_l_wj_cd_ex" z limit -90.00 75.00 0.00

$jointconstrain "n_hiji_l_wj_ex" x limit -15.00 15.00 0.00
$jointconstrain "n_hiji_l_wj_ex" y limit 0.00 0.00 0.00
$jointconstrain "n_hiji_l_wj_ex" z limit -125.00 0.00 0.00

$jointconstrain "bip01_l_hand" x limit -45.00 45.00 0.00
$jointconstrain "bip01_l_hand" y limit -60.00 45.00 0.00
$jointconstrain "bip01_l_hand" z limit -45.00 45.00 0.00

$jointconstrain "kl_waki_r_wj" x limit -30.00 30.00 0.00
$jointconstrain "kl_waki_r_wj" y limit -50.00 15.00 0.00
$jointconstrain "kl_waki_r_wj" z limit -30.00 30.00 0.00

$jointconstrain "n_skata_r_wj_cd_ex" x limit -15.00 15.00 0.00
$jointconstrain "n_skata_r_wj_cd_ex" y limit -75.00 30.00 0.00
$jointconstrain "n_skata_r_wj_cd_ex" z limit -90.00 75.00 0.00

$jointconstrain "n_hiji_r_wj_ex" x limit -15.00 15.00 0.00
$jointconstrain "n_hiji_r_wj_ex" y limit 0.00 0.00 0.00
$jointconstrain "n_hiji_r_wj_ex" z limit -125.00 0.00 0.00

$jointconstrain "bip01_r_hand" x limit -45.00 45.00 0.00
$jointconstrain "bip01_r_hand" y limit -60.00 45.00 0.00
$jointconstrain "bip01_r_hand" z limit -45.00 45.00 0.00

$jointmassbias "j_tail_r_007_wj" 0.00
$jointconstrain "j_tail_r_007_wj" x limit -45.00 45.00 0.00
$jointconstrain "j_tail_r_007_wj" y limit -125.00 125.00 0.00
$jointconstrain "j_tail_r_007_wj" z limit -90.00 90.00 0.00

$jointmassbias "j_necktie_004_wj" 0.00
$jointconstrain "j_necktie_004_wj" x limit -30.00 30.00 0.00
$jointconstrain "j_necktie_004_wj" y limit -90.00 90.00 0.00
$jointconstrain "j_necktie_004_wj" z limit -45.00 45.00 0.00

$jointmassbias "j_tail_r_013_wj" 0.00
$jointconstrain "j_tail_r_013_wj" x limit -45.00 45.00 0.00
$jointconstrain "j_tail_r_013_wj" y limit -45.00 45.00 0.00
$jointconstrain "j_tail_r_013_wj" z limit -90.00 90.00 0.00

$jointconstrain "kl_toe_r_wj" x limit 0.00 0.00 0.00
$jointconstrain "kl_toe_r_wj" y limit 0.00 0.00 0.00
$jointconstrain "kl_toe_r_wj" z limit -15.00 15.00 0.00

}

First of all, seeing as that’s my Miku model port and that I’m almost always here every day, sending me a PM to get the source files would’ve been more convenient.

Secondly, that’s not how skingroups work. It’s actually pretty simple.


$texturegroup skinfamilies
    {
        { "f_diva_mik001_necktie" "f_diva_mik001_skirt" }
        { "f_diva_mik001_necktie_orange" "f_diva_mik001_skirt_orange" }
    }

The first line has every default texture that changes between skins listed, and every other line changes said textures with the respective ones underneath. The texture groups you had listed weren’t correct – it was looking for textures with “_blue” at the end (which didn’t exist on the model itself), hence why they didn’t change. And as mentioned earlier, you have to link to the original textures in the first line (with multiple textures in separate quote mark groups) so it knows which ones to change for the alternate skin groups.

please use [noparse]




[/noparse] tags to post your QC and other snippets in.

Also post your SMD. (just open it in notepad or something). We can tell what textures it uses or doesn’t use then.

edit



{ "Blue(stock)" "f_diva_mik001_necktie_blue" }
{ "Blue(stock)" "f_diva_mik001_skirt_blue" }
{ "Orange" "f_diva_mik001_necktie_orange" }
{ "Orange" "f_diva_mik001_skirt_orange" }


This is actually bad at first glance. you would want something like



{ "Blue(stock)" "f_diva_mik001_necktie_blue" "f_diva_mik001_skirt_blue" }
{ "orange" "f_diva_mik001_necktie_orange" "f_diva_mik001_skirt_blue" }
{ "orange" "f_diva_mik001_necktie_blue" "f_diva_mik001_skirt_orange" }


Remember that the setup is



originaltextures 1 2 3
changed textures


Firstly, Thank you so much for that model, it’s quite amazing indeed. secondly i renamed the files and the code with the _blue at the end of it, would that break something? thirdly say i was going to reskin your model in about 10ish deferent colors… would you allow me to post it to the workshop? (with your credit for porting it and a link to your workshop page of course)

[editline]26th June 2013[/editline]

First, thanks for the tip. (the code was really getting annoyingly long) secondly, i don’t believe that your code is working. perhaps it has something to do with that last line (which i don’t really understand the purpose of)