Jump to content

Mesh transparent on inside?


Lilli Halsey
 Share

You are about to reply to a thread that has been inactive for 3002 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Hello, I have been working on learning mesh and created a shirt and skirt I liked, however when I uploaded it into SL it had one major flaw. It is transparent on the inside, so any spot that shows around the body is not there. I put on some mesh clothes by others that I had purchased and noticed they do not have this issue, so I came to the forum and have been searching for a while now but haven't seen any posts about this. Can someone tell me how I fix this problem? I looked into the solidify option but that messes up my uv maps. Is there some step I am missing?  If I missed a post discussing this please feel free to just point it out to me.

Thank you,

Lilli

  • Like 2
Link to comment
Share on other sites

 

  • ensure that your face normals all point to the outside of your model in your 3D editor
  • ensure that your textures have no alpha channel

 

regarding the solidify option:

If you use blender, then i think you have to apply the solidify modifier before you unwrap your mesh.

Link to comment
Share on other sites

Hi,

That alpha glitch happens when a texture contains an alpha layer (a transparant layer/channel you aren't aware of, but it is there in the background of the texture). Mostly the case when a PNG has been applied on an object, this case a Collada imported object.

If no alpha is needed you could remove it in Photoshop, but a more simple way is to upload the texture as JPG (at its highest compression i would say). Jpeg doesn't support alpha layers so in that way you are sure it has none at all.

Best of luck.

Link to comment
Share on other sites


Lilli Halsey wrote:

Hello, I have been working on learning mesh and created a shirt and skirt I liked, however when I uploaded it into SL it had one major flaw. It is transparent on the inside, so any spot that shows around the body is not there.

SL, just like most realtime patforms, does not display double-sided polygons. Every surface is single-sided, meaning light only reflects away from it in one direction. From any other direction, the surface is invisible.

This is why when you apply a transparent texture to one side of a prim, you see all the way through the prim, rather than seeing the back of the opposite side.  The "insides" are already invisible.  It's no different with meshes.  At the rendering level, meshes, prims, and sculpties are all the same thing.  A polygon is a polygon is a polygon.

 


Lilli Halsey wrote:

Can someone tell me how I fix this problem?

If you want your garments to have visible interior surfaces, you have to create those surfaces yourself.  The easiest way to do that is simply to duplicate the model, reverse the normals on the new copy, and combine the two together.

Needless to say, this will double the poly count of your model, which means it will have higher SL costs, across the board.  Expect to pay a higher upload fee, and that your models will create more lag than they otherwise would.

 


Lilli Halsey wrote:

I looked into the solidify option but that messes up my uv maps.

Of course it does.  It adds more than twice the geometry to the model.  All those added polygons have their own UV's, just as the original ones do.

 

 

 

 

  • Like 2
Link to comment
Share on other sites

Linda, I think you misunderstood the OP's question. My interpretation was she was asking why her polygons were all one-sided. This has nothing to do with texturing.

There are also a few inaccuracies in your post, which I'd like to clear up. :)


Linda Brynner wrote:

Hi,

That alpha glitch happens when a texture contains an alpha layer (a transparant layer/channel you aren't aware of, but it is there in the background of the texture).

First, there's no such thing as an "alpha layer".  It's an alpha CHANNEL.  Layers and channels are entirely different things.  This forum is the only place in the known universe where, for whatever reason, people insist on using the two terms synonymously.  It makes it very confusing fore newbies trying to learn graphics for the first time.  Accuracy in terminology is vitally important.  For an explanation of the difference between layers and channels, please see http://forums-archive.secondlife.com/109/cc/62741/1.html on the old forum archive.

Second, alpha channels are not themselves transparent.  They're presented visually as grayscale maps, just like every other channel, including the color channels.

Third, I'm not sure what you mean by "in the background of the texture" in this context.  Functionally, there's no difference between an image's foreground and background.  It's all just pixels, as far as the computer is concerned.  Every channel in an image governs a property of the entire image, pixel by pixel, without regard to aesthetic judgments about what constitutes foreground, background, or any other compositional elements.

Fourth, with regard to the alpha sorting glitch, it doesn't just happen automatically whenever a texture image contains an alpha channel.  It happens when two or more surfaces that have such textrures on them overlap in 3D space.

 


Linda Brynner wrote:

Hi,

Mostly the case when a PNG has been applied on an object, this case a Collada imported object.

It has nothing to do with the PNG format.  You'll see the exact same behavior with any images that have 8-bit transparency in them, regardless of file format, in every realtime 3D graphics engine in existence.

SL doesn't even use PNG internally, just so you know.  When you upload a texture, your viewer creates a copy of the image, in JPEG2000 format.  It is that copy that gets uploaded.  Your original source image never leaves your own hard drive.  Every texture in SL is JPEG2000.

That said, the use of PNG as a source format does introduce the possibility for certain kinds of user error, which can result in the inadvertent inclusion of an alpha channel where none was intended.  Because PNG supports multiple forms of transparency, if so much a single pixel is less than 100% opaque, the entire image becomes 32-bit instead of 24-bit, when converted to JPEG2000 for upload.  For this reason, it's a bit safer to use TGA for your source images, since it's much harder to accidentally include an alpha channel with that format.  If you want an alpha channel in your TGA, you have to put it there deliberately.

 


Linda Brynner wrote:

If no alpha is needed you could remove it in Photoshop, but a more simple way is to upload the texture as JPG (at its highest compression i would say). Jpeg doesn't support alpha layers so in that way you are sure it has none at all.

NEVER use JPG for texturing!  JPG is a lossy, low-quality format, a relic from the time when hard drives were so small that a single uncompressed image could fill an entire drive.  At that time, file size was so much more important than image quality, we all lived with the compression artifacts inherent to JPG, out of sheer necessity.

Today, JPG's only remaining legitimate use is on the Web, the last place where visual quality is not as important as file size.  But even that is questionable, since there are much better compression algorithms now than the ones JPG employs.  Formats like PNG and JPEG2000 can utilize entirely lossless compression, thus achieving the best of both worlds, high visual fidelity AND small file size.  JPG, for all practical purposes, is totally obsolete these days, despite the fact that it remains in widespread use across the Web, as well as in cheap digital cameras.

The reason JPG is such a poor choice for texturing for SL in particular is because the JPEG2000 implementation that SL utilizes is not lossless (except for with very small images, like sculpt maps).  When an already lossy JPG gets converted to a lossy JPEG2000, you lose quality twice, and end up with the "copy of a copy" effect.  Not cool.

If your purpose is simply to avoid alpha channels altogether, then go with BMP.  BMP images can't include in an alpha channels (at least not in a way that SL can import), and it's entirely lossless.  Win-win.

  • Like 2
Link to comment
Share on other sites

Thank you for all the help!  I did the duplicate and flip normals way that was suggested. It worked great, although must not need to be joined. When I tried it told me no meshes to join and both meshes moved together without being joined. Now I just have to redo the shirt using some new things I learned so I can make it look nicer and actually have some detail. :matte-motes-smile:

Lilli

Link to comment
Share on other sites

Duplicating and flipping the normals as Chosen suggested will double your poly count. It is mostly unnecessary to duplicate the entire model, just select the polygons around the hems, the bits that will be visible when looking around your avvie and duplicate/flip them to create a facing, giving the appearance of an inner area without adding a bunch of unnecessary faces you won't see anyway. Do this in edit mode as the absolute last thing you do before exporting, after uv mapping, after weighting, after texturing, and you won't have to do any further work to it.

 

Also, worn "rigged" mesh doesn't suffer from alpha sorting glitches the way regular prims do so use whatever file format you like, tho I'd recommend .tga or .png. If you don't want your alpha channel to cause problems in a solid texture, save it as a 24 bit .tga..

Link to comment
Share on other sites

  • 4 years later...

Recently in Sl something has changed when applying textures to mesh you will notice directly to the right side the little box says Alpha Blending. IF you do not set that to NONE your Mesh will look See through. I have tried everything to get this to stop myself but nothing does. It comes on even after updates so its just going to have to be something we do to click it to stop.

Link to comment
Share on other sites


PaigeTurner14 wrote:

Recently in Sl something has changed when applying textures to mesh you will notice directly to the right side the little box says Alpha Blending. IF you do not set that to NONE your Mesh will look See through. I have tried everything to get this to stop myself but nothing does. It comes on even after updates so its just going to have to be something we do to click it to stop.

That sounds more like are using textures with rougue alpha channels. Many image editors automatically add alpha channels to png files whether they are needed or not and it's important to remember to remove them before you save a texture for Second Life upload.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 3002 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...