Support SFMLab on Patreon

Bodygroup Presetter


Have you ever dealt with a model that has lots of bodygroups that don't work together? Maybe it's a model with multiple outfits on it, and you have to turn all of one outfit off before turning on all of another. Or maybe it's a naughty model (not that us good, innocent, pure, Christian denizens of this holy land SFMLab would ever use such sinful creations! :mimigrossedout:), and you want to just take the clothes off!

Regardless, though, if you have ever dealt with a model that requires a lot of loading and unloading bodygroup pieces, requiring you to constantly right-click the model and navigate the menus, then you'll probably agree that it's a bit of a chore having to do that every time you want to use a particular configuration of that model.

Indeed, you probably find yourself setting up the same bodygroup configurations over and over again. You might have even found yourself saying "It'd be so convenient if I could just make this a preset - I use it all the time anyways!"

Well, now, you can!

The Bodygroup Presetter is installed and operated just like a normal IK rig, via the right-click -> Rig menu. But instead of loading a rig, it instead brings up the pictured menu, a list of presets.

By default, it has no presets in it - but you can add your own easily! All you have to do is change the bodygroups of the model to whatever preset you want to save, load the Bodygroup Presetter on the model, and then hit "Save Preset". It will prompt you to type in a name for your new preset, and then once you accept it, you will see your new preset show up in the list.

Once you hit save, your presets are also saved to the sourcefilmmaker/game/LordAardvarkScriptData folder (a sibling folder to your usermod folder), as a .bgp file - a Body Group Preset file!

This means that you can close out of your SFM session, and start an entirely new SFM session, and still have all your presets!

Do you have friends who'd like some of the presets you use? Just toss them the relevant .bgp file, and once they have the Bodygroup Presetter installed, they can immediately start using the presets you made! The files are named after the model they're loaded on, with slashes replaced with dashes, so it's easy to keep track of what file goes to what model.

Are you a model-creator, who makes models chock full of bodygroups? Just include a .bgp file in the relevant folder structure (or without, if you're lazy), and include a link to this page for instructions on how to use it! That way, no one will ever have to go through the drudgery of navigating your model's bodygroups! Faster, easier use for everyone means even more awesome stuff being made with your models!

I've been awake for over 24 hours, and I freaking love exclamation points!




MissNightfox posted 1 year, 7 months ago


Is there a possible way you could make the presets also save different basetextures you might've put on a model?

Headwipe_ posted 1 year, 7 months ago


Gold! Everything that reduces the amount of busy work it takes to create SFM content is pure gold. Thanks

pharah-best-girl posted 1 year, 7 months ago

Good work!

<script> posted 1 year, 2 months ago


i cant get the script to apply to any models. even DAZ models won't work. i get this error: Traceback (most recent call last): File "<string>", line 237, in <module> File "<string>", line 99, in LoadPresetsFromFiles File "<string>", line 107, in LoadPresetsFromBGPFile File "c:\program files (x86)\valve\steam\steamapps\common\sourcefilmmaker\game\sdktools\python\2.7\win32\lib\json\", line 290, in load **kw) File "c:\program files (x86)\valve\steam\steamapps\common\sourcefilmmaker\game\sdktools\python\2.7\win32\lib\json\", line 338, in loads return _default_decoder.decode(s) File "c:\program files (x86)\valve\steam\steamapps\common\sourcefilmmaker\game\sdktools\python\2.7\win32\lib\json\", line 365, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "c:\program files (x86)\valve\steam\steamapps\common\sourcefilmmaker\game\sdktools\python\2.7\win32\lib\json\", line 383, in raw_decode raise ValueError("No JSON object could be decoded") ValueError: No JSON object could be decoded

beelzebub posted 9 months, 1 week ago


wow since SFM lab wont let me paste shit correctly i'll send this instead:

beelzebub posted 9 months, 1 week ago


Fun fact: you **should** be able to, theoretically, use the Outfit Loader V2 for the same effect as the Bodygroup Presetter. Simply set the model to the bodygroup & skin configuration you want to save, create an outfit, make sure you check the "Bodygroups" and "Skins" boxes, **don't** select any outfit components, and then save. I can't verify this works, but the way the tool is written, it **should** allow you to get away with it.

LordAardvark posted 9 months, 1 week ago

Leave a reply

You need to be logged in to leave a comment.

Support SFMLab on Patreon