|
|
|
[
Permlink
| « Hide
]
Simon Nolan added a comment - 22/May/07 04:46 PM
How about also fully or partially transparent areas in avatar skins, or is that already used for something else? I've never tried uploading a skin with transparent bits to see what would happen. This way I could, say, hide my head for a Headless Horseman avatar without uploading an animation that does weird things to my head, and then having to put that into an animation overrider.
Partial transparency in a skin texture simply allows the base-skin to show through. This means that if you designed yourself a dark-skin in Appearance you could then apply say a white dragon-tattoo, then if you made your skin even darker it would change accordingly.
I think therefore this would be too widely used to be a viable option. Even if you buy a full-skin set, you still have a 'base' skin layer underneath, which is annoying. This proposal to let us change that base-skin to an alpha value, this way when you apply skin textures with alpha values, the invisible parts will be completely invisible. A long time ago I wished to create a T-1000 style avatar with a shiny mesh body. And then I thought to do some avatars along the lines of being semi- or fully transparent.
I just want to get rid of the legs for my av's feet to look right hehe, though since those new feet turned into a whole new prim-avatar I'm onto wanting rid of the whole thing, as lower-detail can mean the avatar sometimes pokes through and may be completely the wrong colour =)
This is exactly the way i want to have it resolved: fully transparent underneath skin - as described by Haravikk. Thanks for reporting this issue!
A long time ago you used to become fully transparent; this was removed because people complained about privacy issues. Though why no one could look at the map or turn on avatar names I don't know.
My request is that they reimplement this so those of us who design non-human avatars don't have to rely on hideously ugly invisiprims to get the job done in hiding pieces. I have to use complex animations in order to get all my robotic avatars small enough to fit. Hmm, it's possible to use animations to hide your avatar anyway. Don't you love things that are removed without anyone thinking what it will do?
Hara, I believe such techiniques have been mentioned on the entry descrition already, and as it says, stuff liek that is less than ideal in many cases, this is a request for non-"hacky" alternatives to such techiniques
lol, I've jsut realized you're the one who made this entry, lol, now stuff makes even less sense for me Xp
"Hmm, it's possible to use animations to hide your avatar anyway."
Well yes, but previously you could become completely invisible. And people freaked out and went nuts complaining about privacy violations, when the minimap still showed little green dots and you could turn avatar names on and still see the user. So instead of just dealing with that, they removed pretty vital functionality from the system and forced us into using gross invisiprims that could be broken on a moment's notice. I'd like to have some checkboxes in appearance to turn off individual limbs/abdomen/chest/head.
And yes, even a fully invisible AV will still be visible via the name plate - removing that feature was silly. Ouch. I'd no idea this used to be something residents could do. That makes it all the more frustrating that we can't do it now.
Toggling visibility of avatar pieces might not work well, as some designers hide don't hide entire parts. Other creators use invisiprims for effects in their world builds, so changing the way they work doesn't seem feasible.
As the title suggests, the best idea might be to simply permit modification of the underlying avatar skin, where an alpha channel would be used to define visibility. This would eliminate the need to use avatar invisiprims, or the need to use tattoos as full-body skins. It would effectively restore the original intended use of the tattoo feature. This has no effect on the "invisible avatar" argument, as anyone can become less visible today using invisiprims, animations, or unlocked cameras. The same work-arounds apply (parcel restriction, highlight transparent, HUD monitors, security bots, etc). Anyone with a custom body skin, robotic, furry, or other unique avatar would benefit greatly from this long-desired addition. Good work on this Coadey. The image attachments regarding invisiprims especially are a HUGE help in demonstrating what bad implementation they are. Aside from the fact that their use is technically built on an exploit that could be patched or broken at every release and thus made completely defunct.
Having the ability to make portions of the avatar invisible would be a gigantic help. Got my vote. Now that you keep your stilettos please fix the alpha bug that ruins all my hair styles
I just received a msg from an object owned by Coadey Concord asking me to vote here (in the msg it mentions another issue I voted on) eventhough this issue already have my vote for quite a while :/
Please do not completely change the description of an issue, if you have a different implementation idea then you should have posted a separate issue. For now I'm going to incorporate both, however this issue was originally for an alpha slider, allowing us to make the base avatar skin completely invisible. This is an easier implementation, but requires the tattoo layers to still be used for the skin.
If folks still have privacy issues even with nametags enabled, perhaps showing such avatars with "highlight transparent" might be a decent compromise, and an intuitive use of an existing command besides (I remember being surprised that "highlight transparent" didn't work with invisiprims).
Any info for us here waiting LL?
I'd just like to note, the ideal solution for this may actually a form of transparency "baking".
Basically, attachments would be able to specify a transparency map, this is a simple 8-bit image describing alpha which will be applied to the avatar. These maps simple specify white as 100% visible, and anything else as partially visible. This would be done in the same way as regular avatar baking, the result being that a fully-baked avatar would have a 24-bit body texture if no attachments provide transparency maps, or a 32-bit texture if transparency is to be applied to the final baked image. Obviously this is much more complicated than this basic proposal, which seeks to allow the base skin to be removed, at which point tattoos/clothes are used to build the avatar back up again. But is more flexible/useful. I didn't come up with this till after the issue was posted though, but it's worth considering if any Linden does take this onboard at some point =) I don't like the idea of making this an attribute of attachments. It should be a wearable.
What I want to know is why does this issue have a priority of "Normal"? This is pretty effing critical as far as content creation goes. I think the screenshots above show exactly why. Any avatar that requires invisiprims results in broken graphics, and it's pretty difficult to ignore. For years now this has pretty much crippled any attempts to create avatars that deviate from a symmetrical human body shape, and many talented content creators do not even attempt to do something utilizing invisiprims because they're a terrible work-around that often cause more problems than they solve. Yes, you can also use animations to hide body parts, but that is still an unnecessary work around, and a work around with it's own difficulties and problems.
Another thought on this alpha channel layer idea, a problem actually. The SL avatar only has one arm as far as texturing is concerned. I'd really hate to be limited to being required to make either both arms transparent, or visible, and in exactly the same way. We'd be stuck back with the invisiprim workaround for people who wanted one mechanical arm or something like that. Really, this ties in with the idea that SL needs a brand new av mesh (or rather, a set of av meshes to allow for a variety of bodytypes that cannot, as we've seen for years now, be achieved by distorting a single mesh), with a different texturing setup that allows all body parts to be individually textured, and we need different mapping layers. We need a skin layer, a tattoo layer, the multiple clothing layers, and in addition to those we need the alpha channel, and a layer for specular maps and other effects maps. The problems with the avatar mesh are long-standing. There have actually been some changes to the mesh, minor ones, but thin male avatars didn't used to have such obvious axe-handle shoulderblades.
I would love to see a new mesh, and new clothing layers too. Jackets and shirts should both be able to be loose, so you can wear a loose jacket over a T-shirt. For females, the shirt layer should be able to separate from the cleavage. There shouldn't be a gap in the skirt layer around the waist. There needs to be a floating layer for the upper body, for capes, and the jacket layer should be contiguous with the skirt layer rather than the pants layer. @Torley Linden
Is there any reason why we can't :- 1) Change the texture on the base skin layer? 2) Apply a 32bit alpha texture to the base skin layer? 3) Apply a special invisible texture to any clothing layer? (see below) The tattoo layer is currently being used as a replacment for the skin layer in at least 95% of SL residents. So why not let us apply a custom texture to the skin layer too? It will remove one texture from most avatars, and let the tattoo layer be used for tattos! If we could apply a 100% alpha texture to the default skin layer we we not need invisible prims to hide body parts in cool avatars. As a 100% alpha texture will only hide the surface it is applied to there will be no more distortion of other objects behind it. ( as shown in the photos above) Wouldnt it be simple to provide a texture that will make anything it is applied to invisible. Not like the invisi-prim-texture currently in use, but like setting 100% alpha on a prim. So a shoe maker can give us a pair of socks that make our feet invisible for high heal shoes, but it will only effect the avatar/object the texture is on. Avatars have layers of textures, so if the top one has this new invisible texture, all the layers under it are also invisible. It could be as simple as using 255,255,255 colour with 0 Alpha or some other combiantion to tell the viewer not to dender that spot on the texture. Darling. I can't believe I'm agreeing with darling on something but I actually agree, we need the ability to apply full alpha textures to the base layer for an avatar (or object) although I think there woiuld have to be some way to have a safeguard to prevent people having just a full alpha avatar since while fully invisible avatars would be cool (even if you can still see their name-tag) tjhere's all sorts of issues with that.
@Torley This and the extra layers for tattoos and such is probably the the highest priority in terms of avatar development in my opinion and I think all of us are getting frustrated by LL's ignoring our reasonable and repeated requests for this feature. I doupt this will be implimented until
1-bit alphas would be fine. So would cutting away parts of the avatar mesh. Come on, this is a very popular option, and far more critical than the "Normal" priority assigned to it. As I believe I stated before, this is pretty much on par with not being able to apply skins to avatars in the way it limits content creators, and invisiprims as they currently exist are an unforgivably bad kludge.
This Jira issue is over a year old, and has over 200 votes. It's one of the most requested options I've ever seen in SL, and yet, as far as I know, the only explanation ever given for the option to hide the avatar mesh was removed in the first place was the ignorant fear that people would make invisible avatars and sneak around undetected. They can already walk around invisible, in fact they are so invisible with invisi-prims that not even 'view transparent' can see them. However with this it could, and thus would be less invisible, and use less prims and probably be less laggy (because we don't have to render as many prims).
Closing as won't fix for now. We're open to a patch if someone from open source wants to take it on.
One of our main questions is: is allowing truly invisible avs something the SL community wants? Rx can't answer this question, and it sounds like there are good cases to be made. We'd recommend this if there was dev time available and the community team vets it. 258 votes, this is one of the most-voted on issues in the JIRA, and you have to ask if it's something the SL community wants?
The ability to make correct, human-looking shoes and high heels without needing invisiprims: is that something the SL community wants? The extensive non-human avatars that comprise the majority of the SL userbase. Furries, nekos, animals, robots, non-anthropomorphic avatars that look CORRECT, and don't rely on an exploit to utilize; is this something that the SL community wants? You are seriously kidding me, right? I'm not sure an issue with as many votes as this should just be closed!
Completely invisible avatars isn't the aim of this, and 100% alpha avatars aren't truly invisible anyway as the name tag will still be there, and the avatar should still be clickable. I wonder why you even have to ask opensource to make this fix. Since it's an option that used to exist but that you simply disabled, can't you revisit it in your old code to bring it back?
I must say: It seems to me it's like always... important things/issues/problems get fixed slow or never. Even things the community is asking for. I really don't understand the behavior of Linden Lab. Are our meanings, our suggestions such useless or unimportant to Linden?
I think we might want to do a full scale campaign in world to show how serious we are about this. 275 votes is probably not enough to really get the Linden's attention, given how many accounts are out there (alts or no). If we did an in-world campaign on the issue, I believe we can really make this a hot-topic and get their attention.
Yes, the community wants this. Hundreds of people have said so.
They won't be invisible to sensors, their nametag will still be there. Hell, you can even make them show with view transparent. It makes me wonder what the point in having the votes is. If you look through the top 20 most voted on issues that are currently open; many of them haven't even had a mention from the Lindens, or it's been a very vague post, or they've tried to palm it off somehow.
This is the kind of feature that a Linden Lab developer familiar with the area of code could probably do in a couple hours, including considering how best to do it. Yet the long-term benefits are HUGE as it will open the door for the creative community to finally cast off the need for invisi-prims! I mean with Windlight added to the viewer invisi-prims look even WORSE than before as they clash horrible with the sea and sky and cause all kinds of other weirdness that means you can "see" them, we really need a better solution! An issue with 277 votes on it deserves some REAL communication too. If there's an issue with this proposal then let's have it! Is there a technical reason why it can't be done? Hell, at this rate the most voted on issue of all time is going to one proposing that LL actually talks to us so that posting new features that the community wants isn't such a god-damned waste of time. We, the community (LL's customers) WANT features like this, and multiple attachments per point, and a myriad of other popular issues. What is it actually going to take for us to be listened to? Do we have to start leaving in droves for other platforms that DO listen to what the community wants and DO provide the features we require? I'm sorry but the closing of this issue really highlights just how broken things are at LL, in communication, feature implementation, policy, and in many other respects. The reasoning in particular shows how severe the disconnect is between the Linden developers, and the people who actually use SL and create content within it.
Whoever makes decisions like this needs to also realize that there are a LOT of things that are pretty critical to SL that have failed to appear, and you know what? The general community will never make a fuss about it because they are things people never realize they need. All people know is that they have to have low expectations for SL. Not exactly something to boast about. Like I said in at least one previous comment, the inability to create non-standard avatars without using awful kludges and exploits is every bit as bad as if LL forced everyone to use the awful default avatar skin. Any pro character designer worth their salt would tell you the same. Nothing resembling the problems with invisiprims would ever make it into a pro CG production or video game, and that's not something you can blame on user created content, because even a pro is stuck using the horrible invisiprim kludge if they want to make an avatar outside the shape the av mesh is limited to. Not only should this remain open until resolved, but if LL were taking SL, and content creation within SL, seriously the priority would be bumped to critical where it belongs. Thank you all for your comments. This issue has now been imported.
A lot of the top voted issues here have some problems
Some, like MISC-208 could cause problems for the system, to track that extra data. But here, we have an issue with a clear objective. Which can be implemented entirely clientside, and is in fact simply a request for the restoration of an old feature, so it's certainly possible too. This feature could make a lot of regular users, and content creators happy with a minimum of effort on LL's part, and you guys should jump on the chance to do so. Thanks everyone for your help getting this issue imported.
Remember we are not striving to turn the base avatar layer simply on or off (e.g. making the avatar invisible). Plenty of residents have ordinary avatars which hide only specific areas (e.g. a void in the chest, an arm, heel, etc). What this issue describes is the ability to specify the base texture for avatar skins, including an alpha layer to replace "invisiprim" functionality. Let's please not get out of scope by discussing other issues and policies. That just kills issues. my only question about this feature is in the area of alpha sorting. So I am linking a related issue VWR-6713 about the option to use 1 bit alpha sorting (not have it forced on us automagically like at one point in Windlight) but an option to use 1 bit alpha sorting.
My main concern will be avatars that dont alpha sort correctly and the resulting complaints from that. How will that be addressed? also, when I was testing the shadow draft client - invisiprims didn't work with it. So having avatars with a 1 bit alpha masking would be far more useful for shoes and other attachments.
Just, I think alpha blending on the avatar skin is a bad idea @Hypatia: that is what I was worrying at first... but... well, I like the idea of the skins with the ability of adding a 1-bit transparency mask. Completely transparent or completely opaque. It would be useful to avoid that "overlaying" glitch which the non-use of Z-buffer generates on them. After all... we actually just want a completely invisible selectable parts, don't we? Just to hide body parts.
Invisiprims actually do that... hide X area of the body... so... I guess we would be fine with 1-bit alpha skins... but the question is... how we would be able to get them since there are no 25bit TGA files? maybe 32 bit TGA and using 50% opaque as fully opaque and 50% transparent as fully transparent? I guess that's the only way we could get them correctly... because if we use the standard preview method (1% transparency = 100% opacity) it would give really bad results. [EDIT] Or maybe a new wearable... like the "Skin" one, but called "Body opacity"... to avoid having 999 textures on the "Skin" part which would be really uncomfortable, since the appearance window is small... which would also let us more customisation, and the ability to use different skins with X opacity wearable. We already have alpha masking problems with avatars, with alpha attachments (hair, tails), but it's reasonable to try and avoid making the problem worse.
The alpha could be another clothing layer, or additional skin layer textures. I would prefer another clothing layer so you could use it without having to modify the skin. you may not be ABLE to modify the skin, for that matter. @Argent
nothing has alpha masking aside from Linden plants. Clothing on avatars uses alpha blending, and will need to for when you need alpha blending. Transparency on tails for furries and nekos use alpha blending. Alpha masking vs. alpha blending needs to be a toggle. I agree also that it needs to be a toggle in the clothing layers as well. The skin is not a good place to apply transparency for attachments. (though it could use it for other kinds of avatar creation, where you need to hide the avatar for furries and other prim based avatars. But the skin will better utilise alpha masking for most purposes. Alpha blending is only good if you want semi-transparency. (and you'll surely run into the alpha sorting problem - I think its important to stress this can happen so people aren't surprised by it when it does) The skirt layer does alpha masking as well.
I do know all the rest of that, and was largely agreeing with you. I do not think this should be a tweak in the skin layer, nor some kind of hack in the clothing layers that makes the clothing alpha act like a mask on the skin layer... it really needs to be a new layer. Let's step back a moment, and remember an old friend of a bug: "MISSING TEXTURE"
Remember this one? When the asset server failed to produce a texture in a timely manner and the avatar was wearing "MISSING TEXTURE"? When a few Lindens posted publicly on how the layer composing worked, and what was the final result? Yes, you have to remember that only in one spot is the graphic card actually using layers: The body shape and clothing editor in-client. To save the GPU some effort, the client effectively flattens the RGBA-formatted layers into one RGB texture and sends it up to LL's asset server for others (and strangely enough you, to pull back down again) to see. For those confused, open up a copy of The Gimp, make an image, and then several layers. The background would be the skin. The client auto-flattens that against white. The layers would be your tatoos and clothing. Now, all other times the client sends up the "all flattened" or cooked texture to the GPU. This saves bandwidth, GPU memory space, and GPU speed; it's only sending one texture, not five or twelve. It's why the old "MISSING TEXTURE" bug's work-around was to use Advanced >> Character >> Rebake Textures. So why all this, you're probably asking? I'm bringing this all back to make a point: It's not that we need a new layer, but we need to put it in the right place in the rendering line. That right place is AFTER the flattening/cooking is done. A thresholded greyscale mask will be applied to the avatar's cooked/flattened texture indicating transparency. For the editor, it may mean that the composing is done before sending textures to the GPU, or all layers have the mask applied first (I'm not sure how LL coded the editor, but I'm very sure this is why they hesitate to put this feature in). Implimenting this will have some cost. We'll be sending two textures down to clients – the cooked avatar skin and the mask. The GPU will have to consider RGBA casting on it's models, so we'll take a small framerate hit. And then there's the griefers... ...which will require coding the client to enforce a policy: Any mask/attachment combination that makes the avatar completely invisible will force the client to show the avatar's name/title tag box irreguardless of the user's settings. Cloud/spirit mode optional in 1.20.x. I would rather the alpha type be a toggle in uploading the texture to SL... that way we don't have to bother with extra layers just for transparency. Though I would love to have more layers, but that's another issue. Additional layers for any use would be great.
Down to the root of this issue, it means we need more options for alpha than we have currently, so users can better deal with them, hence the link for VWR-6713. @Drake the invisible argument is just ludicrous. Use a sensor script and ban the person, you never even have to see the person. Many security systems do this for you, and they're not even expensive. You can script a simple radar and use the land ban tools if you feel cheap. I have a mod of a visitor script that was a LL freebie, that does the job quite effectively for me to warn people to leave private areas, plus IMing me the name so I can deal with them on the land ban tools, or through my security hud.
And remember our old friend Ctrl Alt T... they'll show up. People can be totally invisible with invisiprims (and not even Ctrl alt T works on that) so it just doesn't matter. Lets keep this to the technical discussion of how to implement alpha on the avatar skin, and the technical problems associated with that - which are large enough. If its not implemented correctly we could end up with a lot of broken content, that has to be avoided. And that is far more important than some griefer which is easily dealt with without even seeing the av. "Implimenting this will have some cost. We'll be sending two textures down to clients – the cooked avatar skin and the mask. The GPU will have to consider RGBA casting on it's models, so we'll take a small framerate hit. And then there's the griefers... "
no, you can use alpha to coverage. http://msdn.microsoft.com/en-us/library/bb205072(VS.85).aspx#Alpha_To_Coverage http://www.humus.ca/index.php?page=3D&ID=61 You can probably even get away with using the same alpha texture with an automatic algorithm for masking and blending. Yes there will be more of a GPU hit though. another link http://http.download.nvidia.com/developer/SDK/Individual_Samples/MEDIA/Video/Samples/TransparencyAA.wmv
Note the toggle modes how NVIDIA is changing how the alpha masking/test/blending occurs on the alpha test edges. This is pretty much what we need in SL, toggles to decide how to apply the transparency. Drake: I'm not talking about the implementation, I'm talking about the user interface. However it's implemented, the "transparency layer" needs to be a separate asset from the skin or any clothing layers... because otherwise you won't be able to combine transparency with non-modifiable assets.
I think you're talking implementation there too. The UI would follow based on how it was implemented. As I mentioned before, the mask will need to be a separate asset(or texture), so we're in agreement there. Besides, we still have old viewers who don't know about it to contend with (Maybe have a "Don't render attached invisiprims" option in new client?).
Remember, the clothing and tattoos are already RGBA textures, so we don't need to add another alpha texture to those (they have it built in). The skin itself is stock RGB, and they all flatten to RGB. We need to add the mask after it's flattened (and as someone pointed out, we can merge the mask into alpha at this point making it RGBA before it's sent to the GPU). UI itself would follow that, requiring another texture box in the body shape editor for the last end-all-be-all mask with a "Default" button making the default fully opaque (white). I'll put policy aside (it can go in a different JIRA bug) as we're in technical details here – I did want to remind folks of the possible abuse this tool could allow. @Argent, couldn't there just be a simple extra slot on the clothing layer for an optional mask. Most people needing the mask are going to be avatar attachment makers, not necessarily skin artists, unless they happen to make full prim avatars (furries for example) These people will probably want to mask a good deal of the skin, if not entirely, for some avs (like tinies)
Not that this layer would be necessary, as LL has an automatic algorithm for 1 bit alpha - this was a highly unpopular feature in Windlight that was pulled back. The reason I mention the toggles is that one could use toggles and sliders to decide how much transparency, and whether to apply the alpha test. I'll have to do a mockup I guess... but what I imagine is, have a check mark for alpha test, and you can use the alpha percentage to decide the level of antialiasing applied to the edges. The rollback behavior for old graphics cards which dont support the feature will be to default to a simple alpha test in instances where alpha test is checked to be used, ignoring the antialiasing. Hmm, all this talk of layers. My original thought process on this proposal was just to add the option to make the base skin layer transparent, either as a togglable "on/off" setting, or a slider to make it anywhere between opaque and 100% transparent. It's not the most flexible solution, but using it you can remove the base avatar layer, and add skin back in using the tattoo layers that cover the areas you want.
For the majority of avatar developers this should be an adequate solution as they typically deliver a package (the full avatar). It doesn't suit one off attachments so well unfortunately, but it's a very simple solution to implement and covers things like furry avatars with digigrade legs, and full-prim avatars such robots, tinies, macros etc. In the case of attachments such as shoes it would be great to be able to bundle them with "mask" layers to wear instead of needing invisi-prims, especially as these could be given priority over other layers so that trousers will fit shoes/digigrade legs etc. but it starts to get a lot more complicated as the discussion shows =) @Haravikk
"My original thought process on this proposal was just to add the option to make the base skin layer transparent, either as a togglable "on/off" setting, or a slider to make it anywhere between opaque and 100% transparent. It's not the most flexible solution, but using it you can remove the base avatar layer, and add skin back in using the tattoo layers that cover the areas you want. " the problem is alpha sorting. I've posted links about how to deal with the alpha sorting. Now, the avatar already has alpha. It's just limited to the eyelashes. What you are asking for is to extend it to the rest of the avatar. But this is going to be a 1 bit transparency mask, like it is with the eyelashes. Take a look at your eyelashes in sl, and see how jaggy those edges are. Nasty work... I know. Most modern cards will support alpha to coverage. It is easy to rollback to simple alpha test for cards that don't support it. LL has the automatic 1 bit alpha test algorithm, this is hiding in your debug menus under fast alpha. But what you are asking is mostly impossible, to have translucency and masking on the avatar at one time. Masking is possible, and doable. Translucency is only possible on clothing, but this disappears in the baking process as Drake earlier mentioned. The skin becomes opaque after all the layers are baked together. We are going to have to choose between translucency and masking, you wont get one or the other. What I would like to see is a way to choose if something is masking or translucent, or a way to apply both translucency and masking. I've been giving it some thought... and I can see that for clothing items, we're going to need an extra tattoo slot for the mask layer, as most clothes are going to need the translucency to bake onto the avatar skin. But I think having a whole separate layer for the mask isn't a good idea, because it means only one person can use it, and many clothing items may need to use it, each separately. Ah, hmm, I think I understand the issue now.
In that case I support masking; I don't really see why it would be a huge asset problem, it shouldn't be hard to add support for images with lower bit-ranges. IIRC JPEG 2000 supports greyscale images which cuts down on size right away, if it supports 1-bit (black/white only) images then we could do that for hard opaque/transparent only masking. At which point the mask images would become tiny. Then surely once all mask images are downloaded then we can (if there are any) just combine them and throw them into the alpha-layer of the baked image? This way there is only a small extra overhead in fetching the mask layers, baking wouldn't be much more complex and for people around you the process is unchanged, they just download the finished result and apply it. By jove I think Haravikk has it!
I doubt JPEG 2000 will support 1-bit images, so downloading PNG's (which do support it and progressive loading) will need to be done. Meanwhile, we can use 8-bit greyscale images of which the client runs a threshold algorithm down to 1-bit. @Hypatia The clothing already has translucency, so it doesn't need extra slots for masking. If you need proof, you need to go shopping in-world over at Black Rose (B*R) for a bikini or a pair of shorts (depending on your gender). yea the simple and easy first step is to have an extra tattoo slot on the avatar skin for an alpha mask. Then this can be expanded upon with the clothes, and the alpha mask baked into its own layers to download.
This is going to increase the overhead of the avatar texture download though - to six textures from 3 that we have now. The good thing is the mask layer is very easily compressed, and could be a simple black and white image without an alpha channel. Extra textures can't really be avoided however. Drake you misunderstand me, I know the clothing has translucency. However the avatar has no translucency, it only has an alpha mask on the eyelashes, which is a mask, not translucent. All those translucent textures are baked together to an opaque image. I really do make clothes and shoes, I know this already
The clothes will need extra slots for masking, especially the shoes where you need to make the upper part translucent and often have a texture, or you'll end up making parts invisible that you don't want invisible. You will have a mask layer that has to be baked onto seperately anyway. LL has the fast alpha algorithm, so no need for anything but JPG2000
@Hypatia I know that – I told it above. We're in agreement about that.
And I'm in agreement with your post underneath mine made at 10:20am. The client pulls three baked textures at this time: the head, the upper body, and lower body. We'll have to take a hit for three greyscale masks that'll form that post-bake alpha. What I don't get is why you want the clothing layer to have the masks too, when we know they'll be flattened into the set before being sent up with the seperate end-all mask set (and be brought back down to earth again). http://wiki.secondlife.com/wiki/Texture_Pipeline_Improvements#Avatar_Pipeline_Improvements
Roadmap for avatar improvements. Hypatria: "@Argent, couldn't there just be a simple extra slot on the clothing layer for an optional mask."
That's precisely what I'm referring to. This slot would be filled by wearing a "transparency" asset. The clothing layer isn't an asset, the clothing layer is created by combining multiple assets (skin, each article of clothing, and so on). This would be another asset. This is necessary for end users to customize their avatars (for example, to add robot limbs). making it an attribute of the existing assets won't work. If nothing else, look at "bad_invisiprims4.jpg". You can't make just one arm invisible with any of the existing layers. re: clothing and masking. Many people make attachments, which means hiding part of an arm or leg or other body part. This body part may also involve associated clothing, which cannot be masked out and often need translucency.
As most skins are no mod and use up the tattoo slots, they need to do this with socks, gloves, underwear, etc. They need to make their own masks. We need more tattoo slots anyway, especially for the skins, where people want to add makeup and tattoos to nomod assets. (but that's VWR-1449) yea Argent I get you now, I agree. For many things the alpha layer on the clothing texture isnt going to work. But I think it has to be a dedicated tattoo slot.
By "tattoo slot" do you mean another texture slot on the skin, or another asset that can be applied to the overall avatar texture after baking? If the former, I disagree, because that would preclude the ability to apply a transparent mask to a no-mod skin... and MANY skins are sold no-mod.
I would like to see some kind of alpha system in the works but i can see two basic problems, depending on how the actual 'alphaness' is applied... if its something to simply not draw the base skin, that would technically work, especially for things like robots etc, where you don't need ANY of the human mesh drawn, and as long as LL worked so that the name tag could not be obfuscated (i.e. draw it in the final render segment of each frame, ontop of everything else) i think it would not drastically enhance anyone's ability to grief or 'spy' on people.
The second method, where you would simply use partially alpha skinning, would be more ideal for furry type avatars, etc since you could still use most of the human mesh for your avatar, but just blank out the parts where it would interfere with your design. There is a problem with this though. OpenGL (and directx for that matter, pretty much any polygon rendering system) has serious issues with alpha polygons vs standard ones... specifically when it comes to draw ordering (i.e. which things are shown 'infront of' i.e. drawn on top of, which other things). SL certainly has not 'triumphed' over these innate difficulties, and in fact suffers from them more than most commercial games since the usual way this problem is handled in those games is simply by not allowing the level/character designers to layer alpha things ontop of/near eachother... Since no one tells you what you can or can't do on your land in SL, theres lots of builds which over-use alpha and end up with things like a window behind a door its obviously infront of, or weird 'flckering' in flexible tails as different alpha prims end up being drawn infront of or behind others... I worry that if you add alpha to the base avatar skin the avatars would also be drawn with these alpha problems and for instance may appear 'under' a glass platform that they were actually standing on top of.. (anyone who wants really funky tangible evidence of this alpha bug/problem i have some objects in world i can give you which are designed to show it off (sometimes artistically!) -eltee Statosky @Argent, no, I think it has to be a dedicated alpha mask in every clothing layer and skin, labelled as such, and to be baked as a separate texture that would be downloaded to be used as the alpha test mask. That way any clothing layer or even the skin can use a mask as necessary separate from skin... and won't interfere with the alpha translucency in the clothing textures that still needs to be used on clothing layers and applied to the skin itself.
eltee, there is no problem with alpha as long as its a 1 bit alpha mask, or using alpha to coverage. You guys are drowning me in update emails.
etlee has given me the alpha bug demo object that you have to see. Go to Furnation Vista (207,224,43), Shotgun Shells. I've put it on the roof. For full effect, pan and rotate your camera around with it in view.
Eltee; we have already discuussed the alpha sorting issue, read back in the thread.
Hypatia: this would have to be applied after the texture is baked, not applied to each texture in turn during the baking process, because as you say they already have an alpha mask to them. Given that, it doesn't make any sense to apply it as part of the wearable... it would add much more complexity to the baking process. What's the "use case" you're trying to address by having a separate 1-bit alpha layer for each wearable? An alternative implementation to achieve the same basic goal by using avatar mesh truncation supported by flags in the Body asset in VWR-8394.
Good news! We have reopened this issue due to overwhelming Resident demand! We are looking at options in regard to rendering pipeline changes and will be in touch after the interested parties at LL have pow-wow'd.
oh my gosh I'M SO EXCITED! thank you, Brent!
Oh... those are good, but very good news. Thanks!
so i hope there comes much more then just this announcment..
FYI, my main article on this bug is on the front page of the Metaverse Messenger for this week. I couldn't get all the input from everyone in time for press. I go into more technical detail, and quote eltee extensively, with photos of the alpha problems inside with my Second Penguins column on page 24 of the paper.
Of course, being involved at this level, I have disclosed my involvement in both articles. Thank you so much Brent! I'm veryhappy to hear this, and it's great news for me and many others I know. Some notes on those who complain of privacy issues:
Anyone who knows SL, knows that privacy without an island sim is a fallacy. Cameras can go whever people have the ability to put them: through walls, past doors, over sim borders, and up skirts. On top of that, the camera does not have a nametag floating over it. If given the ability to have an invisible skin was renabled, anyone trying to spy by doing that doesn't really know what he's doing. What's more, a person can spy on voice using the camera because someone can "listen" from the perspective of their camera, instead of their avatar, meaning that if their camera can be close to a conversation, they can eavesdrop as if right in the middle of the conversation with no one the wiser. Thus, I would say that the privacy reasons for disallowing invisible avatars are rendered meaningless. Enabling invisible avatars, however, opens up a wide gate of creativity and opportunity for improving SL and the things in it, and, it's as easy as re-enabling an old feature. In any case, the pros far outweight the cons, and I will challenge any who try to present a case for privacy on the basis of (not truly) "invisible" avatars. Radars, See Transparent (Ctrl-Shft-T), the minimap, nametags, collision scripts, and all kinds of other things can and are used to control intrusion from visible avatars, and would be no less effective against someone using a transparent skin. I think the best way to implement this, would be for some flag on upload. If ticked, the image would be converted to 1 bit alpha, ie, solid or trans only, and when applied to the avatar, it would create hide anything in the transparent parts on it's own layer, and all layers under
Layers over the top of it shouldn't be affected, so you could use transparent socks to hide your feet for shoes, but they wouldn't affect any pants you wear over the top. Can someone explain why "invisisocks" would be preferrable to an explicit invisibility layer?
An explicit layer would avoid issues with wearing unmodifiable clothes that prevent you from using the invisibility layer... kind of a clothing equivalent to attachment collisions: anyone with a non-human avatar that's had skirts blow off tails, objects blow off paws, hats blow off your head, knows how much fun that is. An explicit layer could also use a lower resolution texture, and could use a layer-specific texture that allowed for asymmetrical invisibility (so you could have one robot arm). PS: for privacy, how about SVC-2390?
Argent, please keep it on topic.
first of all, shoe makers don't use the socks, they use the shoe layer.
I want invisishoes, with a little box for the alpha texture separate from the shoe textures in my shoe shape, yes. So instead of one texture in the shoe shape, there would be two. Because an explicit invisilayer can only be used by one person, whereas having a baked alpha texture allows you to compose textures from several makers to one explicit alpha layer that is uploaded to the sim after baking them together. (actually, it would be four textures, as the avatar is comprised of eyes, head, upperbody and lower body, all of which could use alpha for various attachments.) There is still an explicit alpha layer, however this process allows many makers to use that layer instead of one person hogging it. However, this doesnt exclude having an alpha layer, that is usable by the user only and can't be traded as an asset. So say if they need to override an alpha they could use this layer. But if its a tradable asset, it will be fought over and fur will fly
Both can coexist. explicit invisibility layer –
should override all other alpha layers defined in skin and clothing textures should be only accessible in appearance should not be tradable should force avatar makers who wish to use this layer to supply a full perms texture so that users can modify this layer as needed (as a side note, this layer would be good if you extended tattoo slots to the textures as well - because people would like to apply tattoos and makeup and can't because such a layer does not exist) I'm not entirely sure why this needs to be so complex? I'd be perfectly happy with being able to use alpha in the avatar skin itself, and thus transparent. By all means, add a tattoo layer or a makup layer, or whatever you might want, but the basic need is to allow avatars to be transparent via alphaed skin.
alphaed skin is a start, but it is not a solution for makers of accessories who need to make other parts transparent, and will not be able to modify the skin (as it is usually a no mod asset)
Alphaed skin is only useful for people who make full avatars. But it's not fair to bill that as a solution for those who need alpha for attachments, as most times they'll have no access to alpha on the skin to use them for their products. In fact, the customer won't either, often enough, so just having it in the skin layer will be useless for most people. That's a good point Hypatia, I hadn't thought of that situation.
Hypatia: What do you mean by "should not be tradable" and "should only be accessible in appearance"? Appearance is composed of assets, and assets show up in inventory. And of course it should be tradable, otherwise you couldn't include it with the avatar. It's simple enough the appearance could support multiple invisibility slots.
And it should probably be a single texture, and definitely with a new map, to allow asymmetrical hiding of limbs. It may not even be a texture, but rather a simple set of checkboxes indicating the parts of the avatar to hide (left foot, right foot, left lower leg, right lower leg, ...) as in VWR-8394. Brandon: another point is that with any of the existing layers you can't have asymmetrical avatars (eg, left peg leg). See above. Brent: People keep bringing up privacy issues here. I think they're mistaken but if they're worried about privacy it's better that they discuss it in another JIRA. yes you can include it with the avatar by providing the texture
Which may need to be modified by the user if it collides with another attachment. An override layer is for the user not for content makers. This is why it should not be tradable, because then its subjected to the permissions system, and what use is a layer that can override other layers if you make it no mod, too. If you want something tradeable, use the alpha in the part that covers it. This is why I've pushed for a two part system. Alpha needs to be in the clothing and skin layers for tradeable assets. A distinct override layer needs to be for the user alone. I'm all for layers, but layers need to be for the users to override and modify no mod assets. If a content maker wishes to sell content for this layer they are welcome to sell the user a texture. hiding the full part is not useful for attachments such as shoes, where parts of the foot are visible, but you may just want to hide parts of the foot.
This is why textures are more useful ... they're more flexible. It's going to boil down to an alpha test texture anyway. Even hiding parts of clothing uses a texture, these invisibility layers are easily seen in the character directory on your drive. Clothing baking utilises a hierarchy, the baking of alpha will utilise the same hierarchy. The override layer for alpha should be applied on top of the rest, in the case of attachments that do things that are unwanted. Once upon a time people sold textures for the body, such as tattoos. When skins took up the tattoo slots and were then sold as no mod, and were traded as no mod assets, people were stuck to using the underwear layer for their tattoos, and it made it harder for them to wear clothes. If we make this alpha layer tradable, the same thing that happened to the skins will happen to this alpha layer. One maker will hog the asset, and others who needed it will not have use of alpha, and will still be using invisiprims. Nothing will be gained. As I said, the fur will fly, literally. Users will capture the no mod asset so they can mod it. The usual screams will be heard when people do this. Let's just avoid it and make people supply a texture instead. I'm talking about the beginnings of a materials system for the avatar. Alpha can be in a layer, what eventually would become one of many material layers. Long range I believe SL needs to be able to do a lot of things to avatars, and alpha would only be part of that equation.
Appearance is currently composed of assets, but it doesn't have to be so. We can have material layers interspersed that intersect those assets at various points. This alpha layer would affect all layers, at the top of the hierarchy. It would bake at the end an alpha test texture that will be comprised of many alpha textures, from various attachments and the skin. Say you want an invisible man, but wearing the clothing, ala the movies. Well you could do that as the clothing would appear normally that didnt have an alpha test texture, as that alpha test for your invisible man would be on the skin layer, which is at the bottom of the hierarchy. It could let you do some pretty interesting things, as you exploit that hierarchy. I believe a baked alpha system is far more flexible than having just one single alpha layer that many makers have to vye over, and won't really solve the problem entirely. Not against having an explicit alpha layer, as long as its for the user and can be used to override no mod assets without compromising permissions. PLEASE DO THIS.
Since I'm starting to build Cel-Shaded AV's, this would cut out a I've been watching this conversation closely. It's really interesting to see you all engage in a distributed design process. I share your concerns that skin/avatar creators will use this skin layer exclusively, making it only useful for full avatars/outfits. I'd like to suggest we think about attaching this knockout texture to the attachment rather than the skin. This way I could wear my awesome robot arm from my Awesome Robot avatar and have chicken legs at the same time. Mixing and matching of content is integral to identity in SL, so I feel attaching these knockout textures/layers to the attachment objects themselves is the way to go. We should also consider a skin layer for this knockout as well. What are your thoughts on this suggestion?
As an animal avatar designer, I'd rather have it on the skin level. For me, just allowing me to make a transparent sock or glove is usually enough, though the whole avatar would be nice as well.
If it can be done on a prim that doesn't distort every alpha texture or translucent prim around it, then I guess I'm okay with that. But again, from the perspective of someone that rolls out avatars in several different colors, it would be a pain to move the 'hider' prim to recolor or modify the prims under the thing. Seriously this is one of my big hangups of invisiprims. You have to make the invisiprim large enough to cover the whole area, no matter what animation, no matter if the hand is in a fist or outstretched, no matter how far from the attachment point. I think hiding the avatar under the prim is not the way to go. Putting it on the skin would help av builders more than anything. Sorry, Jakkal, I wasn't clear
Ah that's okay, my technical sense is null. I've been trying to follow the convo but it's getting a little too complex.
Anyway, that sounds like a great idea. I really look forward to this feature's addition, even if it means a swath of avatar updates to finally rid myself of those invisiprims! I really like your idea on how to implement this, Brent. Could this also be used to add a alpha layer on people sitting on a object. Like have a small vehicle, and have the legs dissappear like that when people sit on it.
So if I understand this correctly, the solution to invisiprims will be... invisiprims? o.O
Really while a full alpha texture is an either/or situation, it's better than what we have now. As to selective body parts becoming invisible I really don't think a texture on a prim is the way to implement this. Why can't an additional clothing/texture layer come into play? That's a neat idea, Frans. While IANAP*, I imagine it couldn't be too difficult since Second Life treats avatars sitting on objects as just another part of the linked set. I'll spin that over here to see what the dev's think. Keep in mind this isn't in active development. We're thinking about it, though.
*I am not a programmer Oh no, sorry for the confusion! Its not a prim, it's a property of the object. The object overlays a knockout texture on the avatar's baked texture (the 1-bit alpha you guys have been kicking around). This texture would be a property of the whole link set. Rather than being visible on an object, however, it would be visible on the avatar it was attached to. Er, invisible on the avatar it was attached to. Right? I think I may have just opened a paradox loop.
I've edited this to reflect Brent's clarification about what the parent prim would do:
As a scripter, though the idea to have it accessible through scripts is a fun idea, I personally wouldn't find it useful for the majority of things i would use it for. I grant that there are reasons out there, but they would generally be the minority. Most of the reasons I laid out were in reference to it being a prim hiding the avatar body part, but there are still some issues that remain (and some that are now brought up: I'm sorry, but I still think a "skin-tight" solution is the best one, having the skin layer be alphaed, and the explicit alpha layer that's been mentioned. I will say, I don't think it has to be non-tradeable or no-mod. I know there are fears of people hogging the feature, but quite frankly, if people can't use a person's products easily for mixing and matching, they won't buy them. Compatibility is something that I've already seen advertised among vendors, "Works well also with such-and-such avatars!" We can't hope that everyone will be that smart, but I think the majority who are economically savvy will. Modding in SL is as common as putting on makeup. That aside, for specific avatars it's generally easier to make part of the skin developed for that avatar to be alpha, rather than creating special, separate parts for the attachments. A knockout texture applied directly to the avatar's skin is obviously the most ideal solution, and definately there's going to be a lot of thought and time put into the development of this new technology.
But in the MEAN time, is there any reason why we can't have a new type of invisiprim that knocks out ONLY the avatar mesh??? If I had any idea how invisiprims worked in the first place, I might be able to answer the question myself. If not for those problems shown in the example images, invisiprims would be pretty darn slick. So... INVISIPRIMS 2.0! You know, just for now... until bodymapped transparency gets here. thumbs up Well, one of the reasons why I want to avoid using invisiprims is to save primitive usage, and to avoid the primitives hiding certain avatar parts from certain angles... and, about the idea of "Invisiprims 2.0"... wouldn't that hide other avatars still...?
Hmm.. Yeah, forgot about that. So there would still be drawbacks, but I think that would be one of the rarer occurrences of them. 90% of the time these invisiprims become blaringly obvious when they eliminate water or shapes with alpha behind them. That's when they really really stand out, atleast to me. But for the robotic limb idea, 'invisiprim 2.0' would cut out your torso when viewed from the side too.. So..
Yeah, it's far from perfect. But if it's even feasible, it's something worth considering for the short run. I'll open up a separate JIRA entry if so. My gut feeling is that it's not. Could be useful so far for the invisiprims while we don't have what we are requesting... but... if we have to reject having the alpha layers earlier because they needed to spend time in the new invisiprim... I'd still rather going for alpha layers...
I'm in favour of Argent's VWR-8394, which seems a more specific/flexible version of VWR-951.
It's possible that the two ideas could be combined, by using a baked mask layer to determine which portions of the avatar to hide; removing entirely transparent polygons while simply adding transparency to polygons that aren't fully hidden. The main problem I see with masking is that the current UV mapping for avatars doesn't support left/right arms which is extremely annoying. Is it possible that in future we may be able to support two UV maps on the same avatar mesh, one that applies the same part to both arms (as it is now) and one which can texture each arm individually? As this is going to be a requirement for masking, especially with the robot-arm example. First of all, Hypatia, I agree that you've made a good case for all wearables having an additional transparency texture. Thanks for the clarification.
There is still a need for an additional transparency asset. First of all, however any additional layer is implemented, it has to be an asset somehow, otherwise there's no place to store it when you're not wearing it: there has to be something in the inventory to make this work. However it's implemented, whatever rights and restrictions you have, it MUST be an asset. There's no way around it. Second, it can't just be in "the alpha in the part that covers it" because there is no such layer for heads (there is only one texture layer for the head, and it's used by the skin). It is needed for asymmetrical attachment products. The example of a steampunk robot arm can not be handled by any combinations of the existing textures, and expecting the user to download and edit invisibility layers and upload new ones is not reasonable ... most of them don't even have a painting program that can handle transparency! If the invisibility layer (whether a part of the skin is not a wearable then it can not be included as part of the product and worn just by selecting the folder containing the product and selecting "wear". Anything more complex than that is not usable... by any product. I'm not just talking about avatars here. Brent's suggesting of having it riding on a prim is workable, but inelegant. Most of the work involved in creating this would be in the handling of multiple texture layers overlaid on the avatar. That is, the avatar has to have support for multiple identical slots each containing a texture. Why not use the existing inventory user interface to create and apply these textures? That is, let the texture itself be the asset! You would have the invisibility texture using a new low resolution (because it doesn't need to be any higher resolution than the mesh itself) full body UV map that allows asymmetrical limb invisibility. You could select the texture and "wear" it, and that texture would be added to your avatar and the alpha layer (only) of that texture would be applied. So your robot arm would have (say) four components: the hand object, lower arm object, upper arm object, and arm invisibility texture. Right click the folder and select "add to avatar" and the whole thing goes on, including the wearable texture. The texture asset could also be marked wearable in its properties. Putting an attachment with a "wearable" texture in its root prim contents would also have the same effect. This is much simpler, more intuitive, and more consistent with the existing user interface. i agree with Argent Stonecutter. it's only consistent to handle a skin-texture with included alpha-channel like the makeup/tatoo-textures. the idea with the prim (from Brent) is interesting, but in my opinion not only inelegant (like Argent said) but also not flexible enough for future ideas/creations. the example with the robot arm was good, but not all what can come into our minds. :o)
maybe i don't have a prim that i wanna wear on that spot, but i wanna have my arm gone. so for creature design an alpha texture should be separated from a prim. I don't think I'm doing a very good job of explaining (and explaining my explanations of) the proposal. I'm doing a Photoshop mockup and storyboard for how it would work and hopefully that'll trigger the a-ha! moment
I like Brent's idea... I think it solves some basic problems with attachments. But overall, I think the alpha textures will still need to utilise the baked texture pipeline. Otherwise we're going to end up with lots of textures, which isn't good. Also note that some attachments cross areas of the figure, the uvmaps do not entirely correspond with the rigging really. (the avatar is not uv mapped all too well - its three textures on the body, plus additional ones for eyes, hair and skirt)
That being said... "First of all, however any additional layer is implemented, it has to be an asset somehow, otherwise there's no place to store it when you're not wearing it: there has to be something in the inventory to make this work. However it's implemented, whatever rights and restrictions you have, it MUST be an asset. There's no way around it. @Argent The only way its going to be truly "user usable" as an asset is if we can dynamically create such layers as we need them. That is, we can create them as an asset and it will just appear in the appearance menu, as many of them as you want, then utilising the baked texture pipeline to flatten it down to fewer alpha textures which then get distributed like all the rest of the body textures. This brings up another idea for the UI in appearance. The user could move the layers around to intersect where they want the baking to take place. Say you need a layer between the skin and clothes, this is where you would make your layer as a full body av designer. Someone who just needs to block out a part of an arm can put that layer between the shirt and the jacket, say. But the user could move another layer behind it or in front of it, to modify the layer as they need to. Sort of like moving tabs in Firefox. That would be so nice in the Appearance to modify the baked texture order that way. Hypatia: there's no technical way to have anything in appearance that is not an asset or part of an asset.
Please read my last message, all the way through. Particularly starting at "let the texture be the asset". Brent: I think that bit is equivalent to your proposal too... except that you don't need what you're calling the knockout texture and what I'm calling a texture with an "invisible wearable" bit to be in a prim. I know what you're saying, but I'm saying that it can't be one layer. it has to be many for alpha to be useable for attachment makers. Otherwise its only useful for full body avs, using an alpha test layer on the skin itself. Which is fine and dandy for full body avs, but useless for making attachments like shoes.
maybe my experience with 3d programs and the ability to make many layers in this way in the materials influences how I see this issue. Say in Modo, example > http://tinyurl.com/5ngwxe The appearance menu is simply a tabbed layout anyway. There is no reason why it cant work like tabbed windows in a browser, with the ability to make more tabs as you need. Importantly, you need to be able to shuffle these layers so they work where they need to work. Layers can be useful for more than just alpha, it can be used to make decals to no mod assets on the texture level, effectively allowing modification without compromising perms. This would be truly powerful for end users. The simple fact is, you're often going to need several textures to make an alpha, not just one. That's how the avatar is designed. That alpha is going to cover parts of the skin that you may not be attaching to. So users need to be able to change things when they need to. The baked texture pipeline is the way to deal with it ultimately so sims arent sending out too many textures. Yes, Hypatia, I got that. I acknowledged that. I agree that it needs multiple assets. That is what I suggested in the message I'm asking you to read. Let me emphasize that:
You could select the texture and "wear" it, and that texture would be ADDED TO your avatar and the alpha layer (only) of that texture would be applied. Additional capabilities, like ordering layers and support for arbitrary texture layers, are good ideas but really outside the scope of this JIRA. Here's my suggestion in a story board. It's designed to enable mixing and matching of avatar attachments. I am totally behind also having a skin-based knockout layer for full avatar solutions, but I feel very strongly about enabling interchange of attachments on a whim:
https://wiki.secondlife.com/wiki/User:Brent_Linden/VWR-812_Design_Proposal One should be able to use a texture, define the threshold for the 1-bitification (technical term, not shown in storyboard) of the knockout, see it on the avatar and commit it to the attachment. I must ask Brent on the case of arms and feet if the primmed knockout only affected where it was attached. I mean if you replace one arm will the other stay opaque?
@ Drake: Yes, if you only knocked out the area of the avatar where the attachment was. The attachment affects the visibility of the underlaying avatar all over. So it's possible to have an attachment which contains the whole avatar's knockout. This makes it possible to have an invisibility ring: Attach the ring and it makes your whole avatar invisible – not just your hand.
The map image is for demonstration only. It would have to be asymmetrical (which is why I chose a leg instead of an arm. The map for arms is symmetrical, the map for legs is not). In other words, we'd need to design a new, full-body map for this knockout layer. Brent: that's pretty much what I was visualizing.
The only difference is that you don't have an "Avatar mask" on the object editor, the avatar mask is applied by having a texture with the "Avatar mask" bit set in its properties in the root prim. The advantage of this is:
Should maybe the Avatar Mask textures inside of the root prim be applied via script, Argent? It's kind of weird if all you do is drop this texture into the contents and it performs its function automagically.
llApplyAvatarMask(list masks); That would become a property of the object/root prim like in Brent's example. But since you want mashups, that texture select window that pops up when you click the "Avatar Mask" button could just include a list of selected textures. Up to 4? 8? 16? It's no weirder than dropping a scripture into an object and having it perform its function automagically. And it's not just any texture, it's a texture with the "Avatar mask" bit set.
How many textures? Should be a pretty big number, since they can be precomposed, and a UUID is pretty small. Yes, yes, you can add some scripting if you like, but mostly I want to retain the concept that the texture is the asset, so you don't have to have it in a prim to get it to work. But... if you make a new body UVW mapping... that would destroy all existant skins... because you'd need to make a new texture for the left and right arms... or that wouldn't happen?
This new mapping would only apply to the "Avatar mask" composite layer.
If they make a new mapping it might as well be available for clothes etc. as well. It would just need a flag so we can choose how to map the textures; the current way (symmetrical arms) or the "new" way (asymmetrical arms)
>>The attachment affects the visibility of the underlaying avatar all over. So it's possible to have an attachment which contains the whole avatar's >>knockout. This makes it possible to have an invisibility ring: Attach the ring and it makes your whole avatar invisible – not just your hand.
---------------------- I don't see how this is possible. The storyboard showed only one image, so it seems like it would only be possibleto hide the lowerbody, upperbody, or head with a single attachment, not all three. Am I missing something here Each new invisibility piece would be additive to the whole 'baked' transparency layer. Think of it like laying down sheets of clear plastic, each with a different set of markings on it. When viewed you see all the markings as one image.
for script setting, this could just be a rulke of llSetPrimitiveParams
PRIM_AVATAR_MASK (string texture) would take a uuid, or texture name in inventory. @WarKirby, I also noted in the storyboard (all Photoshop magic, btw) that the image used for the mask was for demonstration purposes only. It would have taken me much longer to draw up a full body mask from scratch, and then you guys would all be trying to figure out its UV coordinates. You'd be telling me "no, Brent! That's just not possible! See the seam in quadrant 5 of subsection gamma seven? It should be 8 pixels to the left! You'll have a HUGE HOLE in your arm!"
I completely agree that the scripting engine should have access to these masks eventually, however I do not agree that scripting should be the only way to use them. I believe in designing interfaces that are accessible to all, regardless of scripting know-how. disclaimer Please keep in mind that this is just an idea. We're not actively designing this right this second. I wanted to include you guys in the brainstorming of different, less-technical ways of handling this problem Re: https://wiki.secondlife.com/wiki/User:Brent_Linden/VWR-812_Design_Proposal
That's a really great idea to implement this Brent! And a perfect example of what content creators need. It sounds like an ideal solution for mix-and-matchers, albeit it more complicated to implement. And yes, 1-bit alpha is about the only way to do avatars without encountering sorting performance I'm told. Whoever implements avatar alpha will have the undying gratitude of hundreds of residents. Haravikk: the invisibility layer may not necessarily be suitable for clothes. It would almost certainly be a much lower resolution than any of the current layers, since it's covering a larger area than all the current skin textures put together (since it would cover the arms separately) in a single mask.
Consider that it could be as low resolution as the "mask" in VWR-8394 and still serve the main purpose of this feature. yes to make the basic av shape invisible would be great, and very useful for any non-human shape.
Using an invisibe texture is a way to do so. There could be others, such as importing custom meshes for avatars (see VWR-8145 about importing meshes in SL, in place of using prims). Yichard, custom meshes would be great, I'll admit, but I don't think that it'd ever take place of prims, due to the fact that it would severely limit the capability of users to mod, and I for one am a dedicated modder. I love to take something and make it unique to me.
Brent: what's the current status of this? I know that you said you all aren't actively developing this right now, but I'm still anxious to hear what's going on, even for the early process. Brandon, why do you speak of custom meshes "take the place of " prims? This is not the point, and I never wrote something like this, and nobody else did. The today system is great, as, like you say, it allows for non-skilled people to build reasonably nice things. Custom meshes would come only as a complement, for more skilled people to pass beyong the limitations of the current system.
(and, by the way, I did not realized first, but this is not the right thread to discuss custom meshes. Please go to VWR-8145 ) On the contrary, it was a solution proposed to this issue, so I think it's perfectly suitable to at least discuss it to some degree, though I agree any extensive discussion should be a separate JIRA. That aside, your comment previous in which you said "about importing meshes in SL, in place of using prims", I misunderstood. I thought you meant in place of prims altogether, such as head shapes, leg shapes, and whatnot. So, I responded by saying that though custom meshes would be nice, but that I didn't think it would ever totally replace prims. It was a simple misunderstanding.
Yes Brandon, it was proposed elsewhere to use for instance NURBS (VWR-7678) or importing custom meshes (VWR-8145) or anyway extend body size limits (VWR-1258). This would be great for non-human avatars, and even to have some look changes for human avatars. But alpha channel textures for avatars would be great too. It would allow for "the invisible man" of course, but also for many effects, such as sylphes (aerial semi-transparent creatures) phantoms and "jedi masters", jellyfish, progressive materialization of a character, and many others.
You know, actually, since 1-bit alpha is the only way to avoid alpha sorting issues, why not give us the ability to uploat 1-bit alphas? VWR-6713
This would also help us take care of any masks necessary for the "knock out" texture. Or if we didn't want to use the attachment which applies an alpha mask (which I do agree is a handy idea) we can instead upload the skin with a 1-bit alpha. I don't suppose there might be any updates on how this topic is doing? Any word, Brent?
I'm afraid the worst thing is that invisiprims are going to be a giant problem once Shadow Draft comes out, because if they hide anything that's alpha behind them there's a high chance they'll cut shadows too. So imagine invisiprims rendering on the entire simulator through any shadow that is casted on the ground or on other prims X_X I think this should be implemented ASAP... I'd love to see Linden giving some consideration to this already. There's already enough avatars that will need to be converted too once this is in...
Worse, do invisiprims cast shadows? They're treated as opaque by the client.
it would be nice to have a non-hacky (or at least less hacky) way to hide avatar AND prims, there are many interesting uses for selectively making certain areas of stuff invisible on the fly without a pre-made texture nor having to modify an object
hopefilly they will have things worked out before shadows get mainstream... it is already disappointing when you catch glimpses of the wires, imagine when it becomes obvious everything is made of cardboard and tinfoil..... Still no response on this. One wonders if they're waiting till ShadowDraft to do it.
a thought i had along with Brent's plan, what in instead of having to upload another texture, that the Avatar Mask button makes the attached limb section go alpha? that way anyone could use it easily... Also i could see Brent's version being abused by griefers badly because the resident wouldn't be allowed to change the texture which could easily encompass different parts of the av then should happen.
Garn: that would be similar to VWR-8394, yesno?
Regarding Shadow Draft, I tested the current invisiprims with it and have good news and bad news. Good news is that invisiprims don't cut shadows like I was worrying, so the avatars which currently use them won't have shadows masked behind the current invisiprims like water or any other alpha texture. Bad news however is that the invisiprims theirselves do cast shadows, although fortunately that is hardly noticeable.
Erica Linden Wrote:
One of our main questions is: is allowing truly invisible avs something the SL community wants? (end quote) How about invisible sections of avatars show up as transparent red when highlight transparent is turned on, just like prims? How about having a name floating over our heads at all times, seems like that would be a good way to keep people from being totally invisible?
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||