I’ve made this nice little thing for a game I’m developing/working on, and I’ve found out that SurfaceGuis seem to be rendered over other things - like fire - regardless of which one is ‘closer’ to the camera.
Here’s what it looks like, if that was hard to understand:
Obviously this shouldn’t be happening.
Just to answer a few more questions:
WHERE? Production
WHEN? All of the time
WHAT? SurfaceGuis rendered over graphical elements such as Fire
Also happens when a surfaceGui is placed on a transparent object and another surfaceGui is behind. Also happens with just transparent objects. Dynamic lighting has no effect, so on and so fourth.
It doesn’t impact my game THAT badly, it was just something odd I noticed and I’m sure users would notice it if they were to do exactly the same I did.
Pretty much all 3D engines draw regular object back-to-front (furthest away first), but front-to-back when dealing with transparent objects for whatever reason (and transparent objects are drawn first).
SurfaceGuis are transparent, as are all particles and BillboardGuis.
I don’t know how much of the rendering code was written by Roblox, but fixing this may be a gigantic pain in the butt.
EDIT: or not possible at all, since that’s hardcoded in the graphics device.
This bug impacts my game horribly. There’s a wall with a SurfaceGui, and the enemies have to get to the wall - but some of the enemies have semi-transparent body parts, thus they are hidden behind the gui
I use surfaceguis for applying some images on surfaces (I need the ability to clip them…) but they render over particle effects
Looks bad especially at nighttime (when you dont even see anything but the particles, normally, because everything is black - except the surfaceguis that render on top of the particles…).