UniBoM

Bakes on mesh for the rest of us.

– Ada Lovelace 1864

Our implementation of BoM follows the same standards as Secondlife and official OpenSim / Yetti. BUT.. It works on any viewer, even the old ones. It sets your avatar textures, server-side, in the same way a normal skin applier would. So everyone, with any viewer can see you normally. And your textures persist when you HG travel.

How to use! This is a little different than standard BoM. It still happens automatically, but with an extra step or two..

  1. Take off your body alpha (that normally hides your system body)Make sure you are wearing your mesh body.
  2. Now you are ugly. You will see your body doubled-up.
  3. Change into the system skin, clothes, tattoos, etc, that you want.
  4. Wait. This depends on your system avatar being fully loaded.
  5. When your body is fully loaded, in a few moments, you should see your mesh body change to match.
  6. Put your alpha back on.
  7. Now you are all beautiful and sexy, and ready to go!
  8. Extra step! This is the same as when you use a normal skin applier. You need to take off your mesh body, and put it back on. This saves your changed body back to inventory. So when you re-log, your body will not revert back to before you changed it.

I have written a script below, to manually set up your avatar for BoM. I wrote a HUD to automatically do it for Ruth, Roth and LuvMyBod. But if you are using bodies such as Athena, Femme, Apollo etc.. You are on your own. ๐Ÿ™‚

uniBOMer target selection script: Drop this script into any mesh avatar, and start clicking. If you do not have a HUD that sets BoM. This is the easiest way to set up your avatar. This script has a KILLSCRIPT button that will delete the script when you are finished. So keep a copy safe in inventory.

// uniBoM target selection script
// drop this script into your favorite mesh avatar, and start clicking!
//
// This sets your avatar textures to the standard BoM textures that Secondlife users
// It will permanently alter your avatar.  So please, work on a copy, so you do not ruin your normal avatar.
//
// This script will auto-delete when you click the KILLSCRIPT button.   So keep a permanent copy in inventory somewhere.
//
// You know it is working if your avatar changes to funky colors :)
// This comes with no warantee, Hyacinth does not want to hear about it.


integer currentType=-1;

list bomNames = ["HEAD","UPPER","LOWER","EYES","KILLSCRIPT"];
list bomUUID = [
"5a9f4a74-30f2-821c-b88d-70499d3e7183",
"ae2de45c-d252-50b8-5c6e-19f39ce79317",
"24daea5f-0539-cfcf-047f-fbc40b2786ba",
"52cc6bb6-2ee5-e632-d3ad-50197b1dcb8a"
];


default
{
    state_entry()
    {
        llSetClickAction(CLICK_ACTION_TOUCH);
        llOwnerSay("uniBOMer target selection script running.\nClick on the body to start");
    }
    
    touch_start(integer n){
        llDialog(llGetOwner(),"Select the type of BoM part that you wish to set.   Then click on an area of the body to set the BoM textures for that part", bomNames + ["KILLSCRIPT"],67890);    
        llListen(67890,"",llGetOwner(),"");
        integer link = llDetectedLinkNumber(0);
        integer face = llDetectedTouchFace(0);
        if (currentType > -1) {
            llSetLinkTexture(link, (key)llList2String(bomUUID,currentType),face);
            llSetLinkPrimitiveParams(link,[PRIM_ALPHA_MODE,PRIM_ALPHA_MODE_NONE,face]);
            llOwnerSay("Set to "+llList2String(bomNames,currentType));            
            }
        }
    
    listen (integer chan, string name, key id, string msg){
        
        if (msg == "KILLSCRIPT") {
            llOwnerSay("Removing script!");
            llRemoveInventory(llGetScriptName());         
            return;
            }
        
        integer ll=llGetListLength(bomNames);
        while (ll > -1){
            --ll;
            if (llList2String(bomNames,ll) == msg) currentType=ll;            
            }
        if (currentType > -1) {
            llOwnerSay("Type is set to " +  llList2String(bomNames,currentType) + "\nClick on the parts of the body that you want changed to this type.");            
            }
        
        }
    
    
    
    
}

The current Nani OpenSim, with uniBoM and nAnimesh are available at https://mosthugs.win

*Important note for grid owners: This system creates lots of texture assets. They are marked with AssetFlag 4 (Collectable). It is up to you to enforce your own temporary asset collection scheme.

Leave a Reply

Your email address will not be published. Required fields are marked *

Keeping it real. Keeping it positive. Keep your negative ass outta here. :)

Translate ยป