Checkbox to allow element order to effect alpha blend.
Hi,
Game Devs and film technical artists agree: One of the most important ways to optimise scenes is to combine meshes. This is because every object is a call to memory to remember it's existence; a 'draw call'. To have less going on in the scene is to get better frame rates for less processing.
So there are inherent issues when handling combined alpha blended objects. Currently alpha sorting is purely object based, and this can become a problem. For instance in a 2D cutout style character, combining the objects that makes up that character for a game would mean losing the correct order of the body parts of the character.
Proposal: Add a check box that is conditional to whether alpha blend is activated, and allow the user to click it to allow element ordering to define alpha sorting.
That way, the user in edit mode or in geo nodes can MANUALLY define the alpha sorting.
It's a pretty standard method of allowing the user some degree of control over alpha sorting.
In geo nodes, you can imagine mapping this to a camera so that no matter the view, elements are sorted correctly.
Note: Previously element sorting might have been part of alpha blend behaviour. I might have been removed.
That's it!
-S
4 Comments
You can already sort indices
in edit mode: with (having adequate select mode) Mesh>Sort elements.
Or in Geometry nodes:
You’ve got a solid understanding of the issue, but you’re missing one crucial detail:
In Eevee, alpha sorting is object-based only when using Alpha Blend. Once multiple transparent elements are combined into a single object, Blender no longer sorts individual faces by depth — it just sorts the object as a whole relative to other objects, based on the object origin’s distance to the camera.
The Sort Elements tool in Edit Mode only reorders the index order of geometry in the mesh (the order faces are stored in memory). It doesn’t influence how Eevee determines transparency at render time. Eevee’s renderer doesn’t re-evaluate that index order each frame or use it for depth sorting — it simply draws the object’s transparent geometry in whatever order it was batched internally, which is usually static.
So while Mesh → Sort Elements can change internal mesh ordering, it won’t change the visual stacking of overlapping transparent faces inside a single object. That’s why you’ll sometimes see parts render correctly and others incorrectly — it’s not actually doing any per-face depth sorting.
You can occasionally get the illusion of correct sorting if:
Your alpha is clipped or dithered, meaning it’s effectively opaque per pixel.
Or your planes don’t overlap much, so the static draw order happens to match the depth order.
It's a different system than alpha blend.
Currently, Blender has no per-face or per-triangle transparency sorting within a single object in Eevee, regardless of Sort Elements settings.
What I’m suggesting: To get predictable results with layered 2D characters or multi-plane transparency setups, the only reliable methods are:
Split planes into separate objects and offset their origins slightly, so Eevee can sort them per-object.
Or use a single alpha clip/dither material (no true blending) if sorting artifacts must be avoided.
Alternatively, use Cycles, since it’s ray-traced and correctly handles transparency depth without relying on draw order.
Until Eevee supports per-face or per-fragment sorting (or order-independent transparency), Sort Elements will remain ineffective for fixing alpha blend sorting inside a combined mesh.
"In Eevee," Oh, i assumed You were exporting it since You mentioned gamedev. My bad.
I use only eevee as lookdev, so i dont know much how it handles transparencies.
Actually yes — the idea is to export. However:
The goal for many of us is to have Blender’s viewport look exactly like it will in-game. That way we can handle look-dev and testing without constantly exporting assets. Less back-and-forth means faster iteration and refinement.
Without element-level (per-face) sorting, we can’t accurately preview combined geometry that uses transparent materials — which is standard practice when optimizing draw calls in games.
It’s also a performance issue: Blender slows down when handling hundreds of separate objects. Being able to combine them while maintaining correct transparency sorting would make Eevee far more useful for both game developers and technical artists.
Examples:
Real case: A 2D spine-style cut-out character needs consistent layer order when combined — impossible now without element-level alpha sorting.
Theoretical: Let's say you have a film with a massive forest and it takes for ever to load all your objects to render each frame, combining the majority of the Forrest could fix this in terms of drastically speeding up the scene if the elements are sorted from the back of the scene towards the camera and this does not change too much. Because VFX also benefits from optimising draw calls to free up memory for faster renders.
Adding element-level alpha sorting would benefit not just game devs, but anyone relying on forward rendering for transparent scenes.