the body has stopped writing to the zbuffer because your material has an alpha map hooked into th transparency channel ! doesn't matter that the alpha value is 1 ( or 255) there is still no zbuffering.
ways to fix this:
1)make everything but the hair be a separate object with an opaque material (that means no alpha) this will cost an extra drawcall but save on overdraw/fillerate
2)model your hair opaque and skip on the "fringy" alpha planes.
3)get a custom cgfx shader that does sharp edged "alpha test" or sometimes known as "alpha masking" instead of "alpha blending"
If you can't do any of warby's suggestions, another alternative is to change your viewport rendering to Viewport 2 and change the Transparency Algorithm to Depth Peeling, though this is strictly for Maya and won't fix the extra in-game draw calls involved with having a transparency shader on a model that has no transparency.
Thanks for your feedback guys. I'm not sure what you mean by zbuffer, but I get the implications. I was able to work around this problem in the past by creating a separate file for the hair to read off of, but I was hoping to keep everything to a single file. It looks like I'll have to go off of Warby's first idea.
So if I'm understanding correctly, once it gets a transparency map from alpha, it do this glitch won't render opacity even though the map tells it to?
Replies
ways to fix this:
1)make everything but the hair be a separate object with an opaque material (that means no alpha) this will cost an extra drawcall but save on overdraw/fillerate
2)model your hair opaque and skip on the "fringy" alpha planes.
3)get a custom cgfx shader that does sharp edged "alpha test" or sometimes known as "alpha masking" instead of "alpha blending"
So if I'm understanding correctly, once it gets a transparency map from alpha, it do this glitch won't render opacity even though the map tells it to?