Do you want to make a model nice and fat, but don’t want to sit around doing endless sculpting and/or weight painting due to being impatient like I am? Well, then do I have the trick for you.
(Update as of October 20th, 2021: Added two new things; another potential solution to auto-weighting failure, and a better method for limb fattening.)
Bit of a story to preface this, feel free to skip it if you’re in a hurry or just not interested:
I play a lot of VRChat for the experiences of meeting new people and seeing weird worlds, I make avatars sometimes as a hobby, and given where we are, it should come as no surprise that I’m really into fat chicks. Inevitably, these interests collided, and I went looking for BBW avatars so I could walk around as a fatty and see my body jiggle. As it turns out, VRChat is severely lacking in fat 3D content, with only a small handful of worlds relating to BBW stuff and a scant selection of fat avatars.
Most of the fat avatars out there use a single base, either modified or as-is, made by AzulieZero on deviantArt. While it’s nice that they made a base for free use and I appreciate the effort given how hard model making can be, at the same time, this base (or at least the version I tried to use) has serious issues. It only comes in one shape (apple), it already starts out fat with no option for weight gain from a thin or chubby state, the “bikini” is a part of the base mesh rather than an addon so there’s no mesh under it if you try to take it off, and the selection of shape keys for customization and weight gain is extremely limited.
I went looking after this to see if I could find a good BBW base model elsewhere to rig and modify, but as it turns out, free fat base models are hard to find and not very good. Most of them just look like the 3D equivalent of busting out the circle tool in MSPaint to draw bellies, and the non-free ones cost upwards of $20 while looking similarly crappy. I don’t have that kind of money, and I can’t justify spending it on such low-quality work anyways. Besides, all of the good, high-quality fat models are either locked behind Patreon subs or 100% unavailable for use by anyone but the model maker.
I might be an amateur at modeling, but I decided I wanted to see if I could deform a base model of a thin female body into a good-looking BBW/SSBBW, save the changes to shape keys and make a better BBW base myself. I initially tried just sculpting the model manually, but that took too long for my impatient brain and didn’t look too good anyways. However, I had a bit of a realization while working on it; I’d made a shitpost avatar beforehand that used a bunch of shape keys to do terrible things, and most of them used mesh deformations from posed bones to stretch and warp the model. I decided to try and see if it would be possible to do expansion and weight gain on a female body model with the same tricks.
Through dumb luck and a lot of trial and error, I think I succeeded.
What you’ll need to get started:
- Blender (any version should work in theory, I used 2.92)
- Basic knowledge of Blender/general 3D modeling software (as in, you know what armatures and meshes are plus how to parent the latter to the former, what posing is, what sculpting is, etc.)
- A body model to edit (preferably a rigged, naked, high-poly model you can attach clothes to later, but you can fix lack of rigging/low polygon count yourself if needed)
- CATS plugin for Blender by GiveMeAllYourCats
- Enough patience to sit and fiddle with a model for up to several hours until it’s just right
Once you have everything in order, just fire up Blender. Import your model, and if it already has a full humanoid skeleton, you can keep going. If not, you’ll need to parent it to one with automatic weights, Blender should be able to add one as an armature either by itself or with one of the standard included addons if you don’t have one ready to import.
Now that your model is rigged in a basic sense, and can be posed normally with the body and limbs bound correctly as if it were a fleshy person with a rigid skeleton, it’s time to start adding your own bones for manipulation of the non-rigid bits. The image above shows the setup I have for bones to manipulate the breasts, butt, belly, limbs and neck, but there’s no singular “right” way to set it up. Depending on the shapes you want to get and what you’re doing, you might need different placement and positioning of your bones.
When setting up your bones with the default display mode, you’ll usually want to have the “small” end pointed in whatever direction you want the part to expand into. This gets a little more complicated with some areas like limbs, but as a general rule, think of the bone as an arrow pointing to where the new shape will emerge and spread to. Keeping the bone’s entire size within the mesh tends to produce the best results when shaping, but you might be able to get interesting results by making it partially stick out of the mesh in some spots. The placement of the other end matters too, as it determines what direction the new shape is coming from. As an example, placing the back endof the bone(s) for your belly lower and the front higher will make the result expand upward somewhat by default, and vice versa.
Once you have your bones in place to manipulate one or more parts, you’ll want to parent the mesh to the skeleton with automatic weights. This is where the magic happens, as Blender guesses at how to bind the mesh to the bones, and with the right setup it assumes your added bones should control parts in ways that look like weight gain, breast/butt expansion, stuffing and fat jiggle. After it finishes calculating, you’ll be able to go into Pose mode and start transforming the new bones to affect the mesh itself.
Remember installing the CATS addon earlier? This is the point where it comes in handy. The little side menu that pops up when you hit N by default should have a tab called CATS. Open that, then look through the sub menus for the very top one and expand it if need be. You’ll see a bunch of buttons, most of which can be safely ignored, but you want the one labeled “Start Pose Mode”. Hit that, and it will put you in Pose mode immediately, allowing you to reshape via the bones to your heart’s content. Make sure to have X-axis symmetry turned on in the top-right of the viewport if you want symmetrical breasts/ass cheeks/etc. from shaping just one side. When you have things shaped as you like, go back to where you activated Pose mode in the side menu and look for a button called “Pose to Shape Key”. This little button will be your best friend, hit it and type in a name, then press OK to save the deformation as a shape key. Not only will this preserve your shape in a way you can reload and tweak anytime, it will reset the bones when you exit Pose mode to where they were originally, allowing you to start fresh for new manipulations. Exit out of Pose mode if you’re done, or keep shaping to make variations on that shape.
Using Pose mode and saving the results to shape keys, you can quickly and easily generate a variety of fatty masses. You can also use basic rotation, scaling and positioning of some or all of the bone setup for each manipulation point to make reusable modifiers to apply to other shape keys, such as position and rotation keys for the breasts so you can move or rotate them without reshaping if they clip with a belly shape too badly.
When you’re shaping the body, you’ll eventually have a moment where not only does the part you want to move get shaped, but other stuff does too, like the chest or back getting expanded/moved along with the breasts in weird ways. Blender does a good job guessing at how to bind meshes most of the time, but sometimes it fucks up, and this is what happens when it does. Luckily, there’s an easy workaround I found that I like to call “Blocker Bones”. Blocker bones are dummy bones you place in specific spots on the mesh before parenting it to the skeleton, their purpose being to anchor the spot they’re inside of so your useful bones can’t move it as much or at all. In the first image above, you’ll see that the chest surrounding the breasts has a cage of blocker bones around the underside and between them, this keeps them separated and prevents the chest from moving when shaping them. The second image shows some bones in the back to keep it from deforming with breast bones that are large enough to unintentionally pull on that area too. This trick helps immensely when shaping small, specific areas too between other larger ones, like shaping the crotch without messing up the legs.
You’ll have to reparent the mesh again once you’ve got the blocker bones placed, but once you do that, the original desired part should move and grow without dragging unwanted bits along with it. If it still has the same issue, you might need more or larger blocker bones in place. The bigger the blocker bone, the more influence it has in holding things down, and multiple bones allow you to contour the blocking to cover whole areas smoothly. When you’re completely done messing around with an area, I’d recommend either deleting the blocker bones if you don’t need them, or moving them a good distance outside the mesh before reparenting so you have them available if you go back to edit the area but not affecting the mesh any longer until then.
As you add and modify your shaping and blocker bones, you’ll have to keep reparenting the mesh to the skeleton to make Blender recalculate the weighting. With a good computer and a fresh “canvas”, this should be nearly-instant. When you get to the point I was at with the example body by the end, roughly 130+ shape keys and 30k+ verts, it might take a second or two each time, but it’s still pretty fast.
If a part isn’t deforming smoothly, and is blocky or ugly, you might need to subdivide that part of the mesh, or even the whole thing. While this will greatly smooth out the shape, keep in mind that you’re substantially increasing the number of polygons in the selected area or the whole mesh, so you can end up making a very large and resource-heavy model easily if you’re not careful. Also, some programs and games like VRChat are fussy about polycounts for performance reasons, so if you exceed 30k vertices they might whine at you about it, and 70k+ is guaranteed to be an issue. You may need to decimate the mesh partially or full once you get done shaping it to make it less intensive, but it will take some caution to avoid reducing your boobs, bellies and butts to polygonal garbage.
Going through the list of fatty bits to mold to your liking, from easiest to hardest:
Naturally, the human body parts that are mostly fat are the easiest to make fatter. With at least one bone positioned as close to the center of these masses as possible, you can do basic sizing and positioning. With more complex setups, you can finely control shape, gravity, vertical and horizontal tilt, and more. Due to the fact that most human models with naked bodies have high poly counts in the breasts and butt cheeks, you might not need to subdivide these areas to have enough polygons to get smooth shapes, even if the rest of the model is pretty blocky in comparison. If the shapes you get from modifying the breasts are too rounded or oblong for your liking, you can try re-angling the bones up or down, and adjusting how many bones your assembly has and where they meet. Also, vertically-scaling breast bones will quickly and easily produce sag/swell effects, while adjusting vertical bone position will add or reduce gravity pull on the breasts.
The most boring part of a thin body becomes a versatile canvas for shaping when making it nice and fat, both in Blender and in reality. A single bone or set of bones in the center will typically do the trick for a basic, rounded belly shape, but you’ll have to make something more complex if you want any of the more unusual shapes, like the apron belly or the double belly. Generally, 3 points of manipulation arranged vertically seems to be enough to get most shapes, but you might be able to get even finer results with more bones than that. Having two or three-part lengths of bones for each manipulation point will give you control over basic positioning, scaling and rotation of each affected area in addition to shapes for each bone, which can help immensely with getting more complex and unusual shapes. Since most people who make models and bases don’t intend for them to have big, blubbery bellies, the polycount in the midsection is usually equal or lower to the other areas of the body that aren’t the ass and titties, so you might need to subdivide the vertices of the abdomen to get enough polygons for smooth results.
The arms and legs are typically a bit more complicated than the main body’s shapes to fatten up, but it’s still doable.
NEW METHOD: By messing around with things a bit, I was able to find a new method with better results compared to the original one below. By simply unparenting and disconnecting the bone for the limb portion you want to fatten, and unparenting whichever bone comes next in the chain as its child, you can scale the associated body part freely without messing with the rest of the limb. From there, simple scaling the bone outward will usually make it fatten in an aesthetically-pleasing and smoother way than the old method. Scaling it toward the next bone in the chain will make the mesh “cuff” over the next limb joint, allowing you to make fatty thighs that overlap the knees and other “cuffed” fat easily and with good results.
Outdated method below
Using parallel bones to the actual, rigid posing bones of the main skeleton, and what I can only assume is some kind of black magic under the hood of the program itself, you can have it so the parallel bones only affect the “meat” of the limb while the “core” is kept adhered to the main skeleton. Getting good shapes, especially more rounded cartoony ones is a bit difficult, so don’t be discouraged if it takes a lot of trial and error to get the shapes you want on these parts. You might notice that there’s two sets of parallel bones in the images; One in the “front”, one in the “back”. No clue why, but even when centered, Blender likes to assume the shaping bone(s) should only affect the front or back of the limb. However, with two sets, you can affect both front and back together by selecting both, or just resize one side if need be.
One of the toughest areas to thicken, luckily most shapes and sizes look fine with normal-size hands and feet. If you want to make a really big, doughy SSBBW or bigger however, you’ll need to chunk up the hands and feet a bit. What I usually do is scale some of the hand bones or the toe bone in every direction except length, then select the vertices of the hand/foot all the way up to where the wrist/ankle begins, and lightly use the “Shrink/Fatten” function in Edit mode’s Mesh menu.
As far as I know, there’s no real “good” way to get a fat neck without a bunch of trial and error, plus some sculpting. Plus, most models have relatively low-poly necks due to it being obscured by the head and hair, as well as lack of interest in neck shape among most people, so subdivision is often needed. You might be able to increase the general girth of the neck with the bone method, but if you want a really good looking double or triple-chin, you’ll have to get elbow-deep in the Sculpting window.
Technically, any part of the body can be expanded or fattened using these methods. As long as you can get that part of the mesh to reliably bind to a bone and expand in a way you want, anything goes. As always, having enough polygons, good bone placement and (if need be) blocker bones is essential to getting the desired results.
To reference a silly image I love, if bone posing and transformation to deform the mesh is “draw(ing) the circle” that forms the basis of your desired body shapes, then sculpting is how you “draw the rest of the fucking owl”. Of course, the main point of this whole method is using Pose mode to not have to sculpt every single thing by hand, but sculpting will help immensely with refining your results. When it comes to hand-crafting fat rolls and ironing out weird jank, the Blob, Smooth and Mask tools will be your best friends, with Crease, Fill and Inflate dropping in occasionally to lend aid.
Blob will probably be your most-used tool when sculpting fat, as the masses it makes by filling and stretching the shaped area look remarkably similar to flab. For general fattening, drawing in circular motions will usually produce good results. When it comes to making fat rolls with Blob, the easiest way is to draw horizontal lines with it, then build on the tops and bottoms of those lines as needed until it reaches the desired thickness and shape. As for editing existing fat shapes to be flabbier, like adding cuffing fat over joints at huge body weights or upping the softness of a belly, just extend the area in question in more circular motions, adjusting as needed. Blob can also be used to fill in existing fat shapes with unwanted contours/divots better, with Smooth applied to flatten out unwanted protrusions it might create.
Crease and Fill will mostly aid in making good-looking fat rolls and defining fatty masses after using Blob. They do exactly what the names say; Crease pushes in bits, Fill pulls them back out to match the surrounding shape. In most cases, Blob can and will do the same job just fine, but when it doesn’t, these two are good fallback options.
When something inevitably goes wrong, due to a slip of your mouse, Blender not quite doing what you want or a myriad of other reasons, Smooth will help fix things right up. Run the brush over any clipping, distorted or otherwise bad bits of the model, and watch as all that crap gets buffed out like rubbing almonds on a scuffed wood floor. Of course, you should be cautious using it, as it’s all too easy to smash your lovingly-crafted fatty bits into smooth oblivion if you don’t pay attention to what you’re buffing out or crank the radius/strength too high.
Mask is best summed up as digital paint that says, “this area is off limits, do not edit” in a language Blender’s sculpting mode understands. Try to reshape a masked area, nothing happens, simple as that. If you’re working in a tight area of the model with other bits you don’t want to edit, or trying to make one blendshape interact well with another without combining them entirely, Mask will do the trick. One good trick for accurate masking is to paint the area you do want to edit, then go into the menu and hit “Invert Mask”, which will make it editable and block out everything else. Be warned that you might get weird, jagged shapes when editing on the edges of the mask, if it’s painted in a jagged or partial pattern. The “smooth mask” function can help with this, but it’ll also reduce the area it covers by a bit, so you might need to hit “grow mask” or paint more on after smoothing it.
Inflate tool usually doesn’t work too well compared to Blob for making and editing fat, but it can come in handy occasionally, like with making double chins. It especially has issues when expanding areas with contours and divots, like the belly with its bellybutton, squishing the gap together into a clipping, ugly mess. You might have better results than I did on other body parts too, but I had it keep generating unappealing shapes that clipped with themselves when working on the main body. Overall, I don’t advise using it over Blob unless the latter is not working at all in that area.
Other tools might work too, but these are the ones I got the most use out of. I recommend experimenting and seeing what you can get with all the options available.
Shape keys are the lynchpin of this whole thing. Without them, you’d just be permanently editing the base model fatter with no options to change or modify it further. Put those changes on shape keys, however, and you can enable or remove them, on a sliding scale no less. For example, making a shape key then creating a double belly allows you to not only keep that “version” of the model distinct from the original, it also gives you a handy slider to adjust overall size and shape relative to the baseline and maximum. You can also extend the basic 0 min, 1 max limits to -10 and 10 respectively, allowing you to further push the changes beyond original parameters or even invert them. Do be warned, however, that upscaling shapes or inverting them tends to result in a whole lot of polygonal jank if you aren’t careful. Negative and excessive values work best with very simple modifiers, like position, rotation and scaling. Shapes usually work best at default limits, with a max of 2x or 3x limit for really smooth ones.
If you do things right, you can have the various parts of the body fattened separately in multiple ways, then combine them into a cohesive whole any way you like. A pear with a double belly and big tits, an apple with a small bust and a big apron belly, a bizarre body shape with a massive lower body and normal upper body, or even a thin body with a massive fat belly. All of it’s possible in one model with mixed blendshapes.
It’s worth noting that with shape key sliders, all effects are additive with one another. That means that if you have one slider that creates a round belly and one that creates a double belly, activating them both will produce a merge of the two shapes. This works even if you have two identical shape keys via copying, so if an effect is too subtle even with the sliders maxed (not likely, but possible), you can double it this way.
And that’s about it. From here, it’s all about experimentation and testing to get the results you want. Do note that this should work for any model with enough polygons, whether it’s male or female, human, anthro, or even a non-humanoid/non-bipedal creature. Hell, if you really wanted to, you could probably make an obese car or other object this way, although I imagine it’d be a bit tougher than making fat humanoids. Your results aren’t even limited to just fattening, you can also do expansion and inflation with this if either/both of those suit your tastes. In any case, have fun making hefty models with minimal tedium.
(What I assume might eventually be) Frequently Asked Questions
Q: When I try to parent the mesh to the skeleton, Blender throws an error about “bone heat weighting failed”. What does that mean?
A: If you split your mesh into separate parts at any point, or it came pre-separated and/or with rejoined parts, Blender will have an aneurysm trying to calculate how to heat weight the entire thing. To fix this, either remove the gaps between joined parts by going to Mesh>Clean Up>Merge by Distance and doing it with a value of 0.0001, or fully separate the parts and bind them separately to the same skeleton if you really need to keep them apart. Using that lowest possible value will fix the tiny gaps between vertices that are making Blender shit itself without actually mucking up the mesh itself in any way.
NEW: If your model still throws this error even with the above potential issue dealt with, it might be due to Blender’s auto weight painting being unable to parse lots of polygons in a small (in terms of 3D space) area, which is apparently a common issue when auto weighting complex 3D models in it. The solution is a very simple brute-force method, via scaling the entire model up a lot so it’s “bigger” and therefore easier for Blender to calculate weights on. Just scale it up to about 10 times original size (easiest way to do this is by holding CTRL while scaling and watching the info in the top left of the 3D viewpoer), along with the skeleton so it matches up properly, and parent with auto weights.
Doing this should fix things right up, and your model should be auto-weighted as expected. I recommend leaving it at huge scale while you work on it and keep re-parenting it, then either returning it to original scale when you go to export it, or just leaving it at a massive size and downscaling later in whichever program you import the model into.
Q: There’s protruding/jagged/clipping bits on my shapes and sculpts, how do I fix that?
A: Hit the weird bits with the Smooth sculpting brush, being careful not to erase the main shape in the process, low strength and small radius will help keep the effect concentrated where you want it. For very sharp protrusions, placing the cursor on the very tip and clicking once will usually push it down to where it should be, though sometimes you’ll have to do it twice.
Q: My shapes don’t look right, are blocky or just plain aren’t what I had in mind. Why?
A: There’s several reasons why your bellies, breasts and other shapes could come out wrong when shaping. The first and most common reason I had it happen was that the bones just weren’t positioned, scaled or otherwise set up right, requiring more tweaking until they had the intended results. Another common cause could be not having enough vertices for smooth, cohesive model deformation, in which case you’ll need to subdivide part or all of the mesh to give it more points of flexibility.
Q: I subdivided part/all of the model, and now the texture/lighting is fucked, what do I do?
A: The normals probably got messed up due to the new tris you made, happens sometimes. Just go into Edit mode with the mesh selected, pick either the weird bit or the whole mesh, go to Mesh>Normals>Set From Faces and hit that. Should fix things right up, if not try the other options for normals calculation like Flip or Outside. If all else fails, just try all the normals functions until it stops being messed up.
Q: When posing my model via the humanoid skeleton after making my shaping bones and reparenting, bits of the model tied to those shapers stay in place that should be moving with the rest of it, what’s wrong here?
A: Due to how Blender handles rigging and posing, bones that aren’t parented to any others won’t be moved by the rest of the skeleton assembly. You can fix this very easily by just parenting the shaper bone to one of your humanoid standard bones, using the “Keep Offset” option so the placement is unchanged and it remains free-floating while still following properly. Ideally, you’ll want to preemptively parent your shape-making bones to the nearest/relevant standard bone, such as parenting breast bones to the chest or thigh shapers to the normal thigh bone.
Q: I mixed a bunch of blend shapes until I got the body shape I want. How do I save it with a slider so I can activate it anytime and to any degree I want?
A: With all your sliders active at the levels you want, go to the buttons on the right side of the Shape Key list and look for a downward arrow. Click it to open a sub menu with several options, the one you want is “New Shape Key from Mix”. This will generate a new, combined shape key out of all the ones active at the time, with their current values as the 1.0 value of the new key, so make sure the body is “maxed out” as you wish before making the key. Zero out all the keys you used to make the new one and try using the new one, it should produce the combined result, in which case you’re all set.
Q: I want to set an edited shape key version of my base body as the new default starting shape, what do I push?
A: In the same menu where you make a new shape key from mix, there’s an option called “Replace Basis”. This will swap the Basis key with the one that’s selected, making it so that the shape key used is now a revert to the old basis while the new basis is set to the default. You can delete the generated revert key if you want, but be aware that this will permanently get rid of the old basis, leaving you stuck with the new one you made with no way back.
BONUS: Example Model
Here’s the base model I discovered and tested this method on, with all the results saved and accessible. It’s a bit unrefined, and not all of the shapes look as good as I’d like, but I figured it’d be better to share this now before I get lost in perfectionism and it sits in limbo on my computer forever. All of the shape keys are preserved to allow maximum tweaking and customization, so it’s roughly 50MB as a result. “>” marks position/rotation/scale modifiers, “+” marks the currently only example combo, and the actual fat shapes are just formatted normally. Ideally I’ll update it or make a better version at some point, but no guarantees, sorry.
You’re welcome to use this model any way you’d like, since the base model I built off of was free, and I did all of this with the intent of sharing it and improving the quality and diversity of fat 3D models available for all purposes. I imagine someone with more 3D modeling experience could improve this even further, given my inexperience, so if there’s any way to make this better, please tell me and I’ll do what I can.