.qc Body groups and Skin families

I assume a body group will change the model and a skin family will change the texture. What I dont know is how to use body groups and skin families. If someone can give me an example that would be great. Basically I have a model and the default texture but I want to be able to change the model so that it works with another texture.
Default model/texture:

Default model/new texture:

I need to be able to change it to New Model/new texture.
Sorry if I’m bad at explaining.

Note that changing the texture means you need to have the same uv map and such. League of Legends models probably don’t need skins at all. Most of the champion skins that are nothing more than recolors are extremely old and probably not even available anymore.

For skins, you pretty much just need to list the texture(s) you want to replace along with the new texture it’s being replaced with.

$texturegroup skinfamilies
    { "texture01a"   "texture02a"  } // These are the default textures (skin 0)
    { "texture01b"   "texture02b"  } // These are the replacement textures (skin 1)
    { "texture01a"   "texture02b"  } // This is a combination set [only replaces the second texture] (skin 2)

More information available here.

Bodygroups do indeed allow you to change the reference model(s) but do keep in mind that each reference model can use new materials. In other words you can use skin groups with bodygroups but you don’t have to. Zed for example would probably have a bodygroup for his default model and a bodygroup for his second variant. Skins won’t be necessary.

$bodygroup zed // This is whatever you want the bodygroup to show up as in menus and such
    studio "zed_reference.smd" // This is the original reference model you want to replace
    studio "sblade_reference.smd" // This is the reference you want to replace it with.
    blank // This means that the third bodygroup will remove the model instead (useful for optional hats and such)

More information available here.

Unlike skins, you can have multiple bodygroups to allow users to change individual pieces of the model such as helmets, hands, feet, and so on which probably isn’t necessary for Leagues champions but still may help to know anyway. Note that listing a reference file as a bodygroup makes it usable in the model. In other words, don’t list a model with $model and then list it again in the bodygroup or it’d be created twice.

You always need a $model listed, though your reference can be just an empty skeleton. In other words if you’re replacing the entire body with a second champion skin, you’ll probably want to export a blank SMD only containing the skeleton which will be listed with $model while the zed body and variants are listed with bodygroups.

Not necessarily. While you do need a mesh of some sort, it could be just a single $bodygroup statement.