Jupiter's Ruth2 and Roth2 Wiki: Bakes-on-Mesh
Some Second Life and OpenSimulator users still wonder what Bakes-on-Mesh is, even though it has been around since 2019. In short: Bakes-on-Mesh adds support for classic layer skins, tattoos and clothes back to mesh bodies without increasing the complexity.
Where it comes from
System body and layer clothes
Traditionally, the system body (or system avatar or classic body or classic avatar, however you name it) is dressed in what amounts to body paint. Clothes are literally painted onto the body, as are tattoos, as are the skin and hair textures. They appear as layered over one another like layers in an image editing application like Photoshop or GIMP, hence the term ‘layer clothes’.
What actually happens is this: All these layers are ‘baked’ together into one texture. Again, this is the same thing as uniting all layers in Photoshop or GIMP and exporting the result as one image. This texture is then applied to the system body. The ‘baking’ takes a little time during which a system avatar is grey.
There are six parts of the body that can be textured:
- Head
- Upper body including arms and hands
- Lower body including legs and feet
- Hair (shape adjustable)
- Eyes
- Skirt (100% transparent unless textured)
The hair, the eyes and the skirt are always separately textured, and they've only got one layer each.
The head, the upper body and the lower body have multiple layers, and some layers cover more than one body part. Here is a table of these layers from top to bottom:
Head | Upper body | Lower body |
---|---|---|
Jacket | Jacket | |
Shoes | ||
Shirt | Pants | |
Gloves | Socks | |
Undershirt | Underpants | |
Tattoo #4 | Tattoo #4 | Tattoo #4 |
Tattoo #3 | Tattoo #3 | Tattoo #3 |
Tattoo #2 | Tattoo #2 | Tattoo #2 |
Tattoo #1 | Tattoo #1 | Tattoo #1 |
(Hair) | ||
Skin | Skin | Skin |
Similar to the hair, the jacket, the shirt, the pants and the shoes can change the shape of the avatar locally. For examples, there are sliders for shaping sleeves and pants legs, for ‘growing’ high heels out of the feet or for foot angle and sole height above the ground. The latter two lift up the whole avatar, but since they can't actually tilt the feet, they stretch them instead. But before sculpty or mesh pumps and sandals with built-in feet were introduced, this was the only way to make such footwear.
Interesting side fact: Classic ‘shoes’ can still affect avatars completely made of mesh. They’re useful for adjusting the overall height of an avatar according to how high-heeled the shoes are which the avatar wears. So when you switch from flat shoes to high heels, you don't have to edit the hover height in your shape. Just put on classic ‘shoes’ for the right height, and you're done.
Outside of everything, so-called alpha masks can be worn. Alpha masks don't add an extra layer to the textures on the body; they make parts of the avatar invisible just by wearing them. They use partially transparent textures; where the texture is transparent, so is the avatar.
Originally, they were created to facilitate replacing parts of the body with prims or sculpties; later on, when shoes became attachments, and even later, when rigged and fitted mesh clothes were introduced, they were used to blank out parts of the body which would otherwise clip through the attached footwear or clothes.
The system body cannot combine multiple alpha masks; the head, the upper body and the lower body only support one alpha mask each.
Early mesh bodies
When mesh bodies appeared in Second Life, they had some support for old layer content. The reason for this was that Second Life users shouldn't have to replace all their clothes when obtaining their first mesh body. They should still be able to wear their old layer clothes until they've bought enough mesh clothes for their body.
In some cases, this actually made sense. Skin-tight clothes like underwear or hosiery could easily be worn underneath any kinds of mesh if they were layer clothes.
However, this came at a huge price. You didn't actually wear only one mesh body. It was possible to put a classic texture on mesh, but only one. The body itself could only wear a skin. For everything else, additional layers of mesh had to be wrapped around the body. Unless matching clothing was worn, they were fully transparent, but they were there.
In order to lessen the impact of this mesh overkill, a few sacrifices were made. The shoe layer wasn't included because classic shoes had long since been superseded by prim shoes, sculpty shoes and eventually mesh shoes. Also, there was only one tattoo layer instead of four. Nonetheless, instead of wearing one mesh body, you actually wore five and a half mesh bodies. And instead of wearing one head, you wore two of them.
These early mesh bodies were so complex that every single avatar wearing one of them dealt a blow to viewer performance at parties. With only a few of them, the lag grew so extreme that it became impossible to handle your avatar. Some event locations actually had to ban mesh bodies.
The second generation of mesh bodies
The only way to overcome this was to throw out support for classic layer content altogether. The usually invisible onion layers were removed from the mesh bodies. They weren't really necessary anymore anyway because fashion designers had long since created swimwear, underwear and lingerie out of mesh, and hardly anyone wore hosiery in the first place.
The new mesh bodies also lost the ability to wear classic skins, maybe also to make mesh body owners buy new and better-looking skins. But to change the skin, an applier was necessary now. Eyes and tattoos required appliers, too, and along with them, appliers for make-up as well as fingernails and toenails were introduced. In Second Life, this applier technology is referred to as ‘omega’.
Another thing which both generations of mesh bodies had in common were alpha HUDs. Even the first, highly complex generation of mesh bodies didn't support alpha masks, and neither did the second one. In fact, they required full-body alpha masks to render the system body and the system eyes invisible.
So in order to keep the mesh body from clipping through not-perfectly-fitting clothes, a different solution was necessary: The body was cut into hundreds of small chunks, and a HUD was made with which each one of these chunks could separately be made invisible and visible again.
This had its downsides itself: The bodies now consisted of more submeshes and took longer to rez. Also, unlike alpha masks, alpha settings on the HUD couldn't be saved in outfits unless copies of the whole body were made.
And in OpenSim, it often happens that the scripts in the mesh body stop working after teleporting onto a sim with a different OpenSim version. The alpha settings stop working, and the only way to get them to work again and make it possible to change them is to detach and re-attach the whole body. Not only is this inconvenient if you want to change your clothes or even only take something off, but many bodies don't take this treatment kindly.
A general disadvantage of 100% mesh avatars was that it had become very very different to layer clothes upon one another. Even wearing underwear under skirts or dresses became hit-and-miss or out-right impossible if a skirt or a dress clung directly to the mesh body without leaving room for underwear.
Mesh hosiery for female avatars had to be made for each foot position separately, and in practice, it often only exists for the high position, not to mention that it rarely fits under skirts or dresses.
And thus, Bakes-on-Mesh was created to both make wearing layer clothes possible again, reduce the performance impact of mesh bodies further by getting rid of alpha HUDs and tying them back together to one piece and make the hassle that’s appliers unnecessary.
How it works
Bakes-on-Mesh re-introduces classic layers to mesh bodies. Just like on the system body, it takes the various worn layers — clothes, tattoos, the skin — and combines them before applying these combined textures to a mesh body. Invisible onion layers aren’t necessary anymore.
Bakes-on-Mesh also introduces support for alpha masks to mesh bodies. For the first time ever, alpha masks can make parts of mesh bodies invisible. This renders the hack that’s the alpha HUD obsolete.
Also, Bakes-on-Mesh bodies and heads automatically make those parts of the system body invisible which they replace. A headless BoM mesh body fully replaces the upper and lower body of the system body, a separate BoM head replaces its head. And BoM-enabled mesh eyeballs replace the system eyes.
How it’s different from how the system body works
Other than involving a mesh body, the main difference is that Bakes-on-Mesh supports many more layers than the system body. Altogether, BoM can handle 60 layers which can be used for anything. One layer is always used by the skin, the rest is variable. Theoretically, for example, a BoM avatar could wear 59 tattoos or 59 bikini tops on its upper body.
Indeed, within this limit, multiple layers of everything can be worn. The general order is the same as on the system body, so you can’t wear underpants over pants. Within the same kind of classic layers, the order can be re-arranged just like it already could with the four tattoo layers on the system body.
Other than the body itself, the eyes and the skirt, BoM introduces so-called ‘universal layers’ which can cover everything at once, the head, the upper body, the lower body, the eyes, the hair, the skirt, the left arm separately, the left foot separately and three new areas. These aren’t standardised; each implementation of BoM that uses them uses them differently. For example, Ruth2 v4 uses Universal 1 for fingernails and Universal 2 for toenails, thereby being the only mesh body so far with BoM nails.
How it’s different from how non-BoM mesh bodies work
The biggest difference in handling between a BoM mesh body and its own non-BoM predecessor is that appliers are no longer needed. In fact, appliers for what’s covered by BoM are counter-productive.
Instead of changing your skin or your eyes with an applier, you put on a classic skin. Instead of using an applier for make-up or tattoos, you put these on as well, often as tattoos. On Ruth2 v4, you can even put on nail polish without needing an applier.
The next level is to do away with alpha HUDs because they’re no longer needed. In Second Life, most BoM mesh bodies have been sewn back together and lost their alpha HUDs; at least, they’re available in one-piece variants without alpha HUDs.
In OpenSim, only few bodies, all within the Ruth2 and Roth2 families, have taken this step. In fact, most other bodies in OpenSim don’t officially support alpha masks, and they have to be slightly modified to actually do so. It’s common belief that BoM doesn’t support alpha masks in OpenSim. Also, there are hardly any clothes sets from Second Life that come with alpha masks in the first place.
Last but not least, you don’t need a full-body-plus-eyes alpha mask anymore to make the system body invisible. BoM does that for you. In fact, if you keep that alpha mask on while donning a BoM body that supports alpha masks itself, you won’t see the mesh body either.
Advantages
More clothing options with layer clothes
One of the big advantages of Bakes-on-Mesh is that it gives you more options when dressing your avatar, especially if it’s a female avatar.
Especially, it has become much much easier to wear something underneath mesh clothes. Layer clothes don’t require room on the body, and so they don’t clip through mesh clothes even when worn under them.
A very good example is hosiery. Ladies can do like in real life and wear underwear under sheer tights under anything they want, any skirt, any dress, any pair of shorts, even jeans. If they want, they can add a pair of leggings and/or a pair of socks to the mix.
Likewise, they can wear socks or stockings or tights in pretty much all their shoes without clipping, no matter how tight they are, no matter what foot position they require. The only downside is that sandals and open-toe shoes don’t work well with this because BoM hosiery doesn’t cover the toenails.
For the Ruth2 family, this means that such garments become largely available in the first place. There have only ever been one or two pairs of knickers and one or two bikinis made for Ruth 2.0. For LuvMyBod, such clothes have to be made from mesh construction kits and textures; at least, this is possible, and it extends to hosiery. Standard RuthToo without BoM is completely out of luck.
With BoM, however, they can wear all the underwear and lingerie and swimwear and hosiery that has been made as layer clothes for the system body over the years.
It’s similar for the male bodies in the Roth2 family: No mesh underwear or swimwear exists for them at all. Before BoM, they had to go nude or stay fully clothed on beaches. Roth2 v2 and the BoM version of RothToo RC#1 can finally visit textile beaches, even if the lack of a bulge between the legs is still an issue that may have to be solved.
More tattoo flexibility
With 60 layers which can be used for anything, all previous tattoo limitations are null and void. You can wear dozens of tattoo layers now.
This means that there’s no need to combine eyeshadow, eyeliner, blush and lipstick into one tattoo anymore. You can wear them all separately as tattoos. Plus a hair base tattoo. Plus a beauty mark tattoo. All at the same time. So instead of having one or a few fixed combinations, you can re-combine your make-up how you want.
Oh, and you can still wear tattoos on your body in addition.
More alpha layers than the system body
As I’ve mentioned above, the system body cannot combine alpha layers. It can only use one on the head, the upper body and the lower body each.
Bakes-on-Mesh can ‘bake’ alpha layers into one. They work subtractively: Only what’s visible on all alpha layers will be visible on your avatar in the end.
This makes ‘modular’ alpha layers possible and reduce the number of specialised alpha layers you need.
Better support for outfits
With Bakes-on-Mesh, less is handled through scripts and external ‘tools’, and more is simply worn. And only what’s worn can be saved in outfits.
First and foremost, BoM makes it possible to save alpha settings in outfits straight-away without having to jump through hoops. No copies of the mesh body with fixed alpha settings necessary, no ‘auto-alpha’ scripts in clothes necessary. Simply wear alpha masks.
BoM also makes it possible to save tattoos in outfits. For tattoos used as such, this may not make sense. But remember that make-up is usually made as tattoos, too. So instead of adding your tattoo applier to a new outfit and then having to use it, simply save your worn tattoos themselves with the outfit.
For more extreme cases, you can even save your skin and your eye texture with outfits. That is, the former does make sense if you have versions of the same skin with or without at least some make-up.
Further reduced impact
If mesh bodies go all the way and discard their alpha HUDs in favour of alpha mask support, they’re also easier on the viewers performance-wise. Instead of over 200 small bits, they only consist of a few; after all, nails are still separate usually.
The difference can sometimes be witnessed after arriving at a crowded party while using Firestorm: Athena may take over an hour for everything to rig into place, if this occurs at all before the end of the party. Ruth2 v4 which consists of eleven submeshes where Athena has 208 immediately looks like it’s supposed to.
Compatibility
The first OpenSim version with at least basic Bakes-on-Mesh support is 0.8.2.1. The first OpenSim version with official full BoM support, including the full set of scripting and universal layers, is 0.9.1.1.
These version numbers only refer to the corresponding vanilla OpenSim versions, not necessarily to forks. Some OpenSim forks were created prior to 0.8.2.1. Changes in vanilla OpenSim after the forking had to be backported to the fork.
Oftentimes, the maintainers of fork didn’t backport all changes, either because they stood in the way of why the fork was made in the first places, or because the maintainers deemed them unnecessary. Thus, even if a fork has a version number that suggests BoM compatibility, it doesn‘t necessarily offer it.
For example, ArribaSim was maintained until quite a while after BoM was introduced, but it never got full BoM support. OpenSim NextGen whose killer feature was an easy-to-use point-and-click Web interface neither supports BoM at all in spite of its latest version number being 0.9.1.0, nor does it have a suitable fallback. Chances are it will ruin your avatar to degrees that require extensive repair or even the re-acquisition of the BoM components themselves.
As for viewers, if they were last updated before spring 2020, they don’t support BoM. The earliest version of Firestorm that supports BoM is 6.3.9; the first version of Singularity with BoM support is the current 1.8.9.