Add Alpha clothing files via LSL Script - llSetRenderAlpha(AlphaUUID);
tracked
Loki Eliot
Change or create a new file type for the application of Alphas to avatars.
THE PROBLEM.
Classic and Mesh avatars need Alpha clothing to be worn to hide avatar bodies from poking through Clothing attachments. Currently you can do this efficiently with a simple Alpha clothing file thanks to the introduction of BoM. But many mesh avatars still use a very render heavy system of multiple face layers of mesh and use HUDS to 'apply' masking, becasue it's easier and quicker for the user than having to browse through folders full of many Alpha Clothing files.
ANSWER
Would it be possible instead allow avatar creators the ability apply alphas clothing files efficiently via LSL script instead of creating these HUD systems, reducing the amount of mesh and render costs needed for these quicker easier Masking options?
If we can Set a material change, can't we set an Alpha change either by using a UUID of existing alpha file or a new file type?
llSetRenderAlpha(AlphaUUID);
Log In
Maestro Linden
Merged in a post:
Allow scripts to System BoM alpha layers From Item's inventory
Alcuina Mommy
I saw some sort of similar posts but wanted to add mine anyway incase it adds anything extra and helpful or can be merged into another.
I would like to suggest adding a LSL permission and function that allow an attachment to wear and remove wearable BoM alphas from a Object/clothing's inventory.
For example:
PERMISSION_CHANGE_OUTFIT
and functions similar to:
llWearInventory(string inventory_name);
llRemoveWearable(string inventory_name);
The primary use case would be clothing creators who need a system/BOM alpha layer to accompany a mesh attachment.
Currently, creators generally have to choose between:
- body specific auto alpha scripting, which can be unreliable and requires support for individual mesh bodies;
- RLV/RLVa, which requires customers to enable and configure additional viewer functionality;
- asking customers to manually wear a separate system alpha;
- packaging the attachment and alpha together in an outfit folder.
An auto wear alpha LSL solution could allow a product to work much more naturally:
- The customer wears the mesh clothing attachment.
- The attachment requests permission to manage the wearable associated with it so the user can decide if they want to be alphad or not.
- The attachment wears a named system alpha stored in its contents.
- When the attachment is detached, it removes only the alpha that it previously applied.
For example:
llWearInventory("Body Alpha");
When the object is detached:
llRemoveWearable("Body Alpha");
This would be particularly useful for clothing because the customer could simply wear the product normally rather than needing separate instructions for alpha layers or body HUDs.
For safety, the permission could be limited so that a script may only wear/remove wearables that:
- belong to the attachment's owner;
- are contained within the scripted object's inventory;
- were originally worn by that script/object
- are explicitly authorized through a new avatar permission.
The script should ideally not be able to arbitrarily remove unrelated clothing worn by the avatar that's not in the inventory of the object.
This would provide a viewer standard alternative to RLV and body specific auto alpha systems and make system/BOM alpha layers considerably easier for creators to use in commercial clothing, without the problems the other solutions cause.
Spidey Linden
updated the status to
tracked
Issue tracked. We have no estimate when it may be implemented. Please see future updates here.