2
$\begingroup$

I get an unexpected misbehaviour in Eevee and Material Preview with the attached scene objects.

This is what I get

If you rotate the view, you can see that part of the yellow object is rendered in front the green one (the small yellow rectangle) and part behind (the greater yellow one) or vice versa as they should be rendered either both in front or both behind.

No problem with the two orange objects, instead.

Green and yellow objects are the remnants of more complex objects that I reduced for the sake of simplicity in the attached file.

Can you give an explanation of this issue and a way to fix it?

Thank you.

PS .blend file follows:

https://drive.google.com/file/d/149uU4BfJISOLdi3flAWkFbNA4CmHiXtg/view?usp=sharing

$\endgroup$
0
0
$\begingroup$

This is a known limitation of Alpha Blend mode: Wrong Draw Order with Alpha Blend in Eevee - you can read there that the ordering of alpha blended objects depends on their origins. In the file you attached, setting the origin to center of mass will result in correct ordering:

I understand that this is not the real solution, as your objects may be complex and intertwine each other, meaning that some parts of the object A should be in front of some parts of the object B, and vice-versa, other parts of the B should be in front of other parts of the A. The solution here is to divide those objects to smaller parts, or to use a different blending mode (e.g. Alpha hashed).

$\endgroup$
1
  • $\begingroup$ Setting the object origin to the center of surface actually solved the problem for objects with low level of complexity but, as you said, forced me to separate the geometries of my complex objects, witch made all subsequent work more complicated. $\endgroup$ – Antonio Jun 6 at 9:36
0
$\begingroup$

A solution can also be using the "Alpha hashed" blending mode in the material settings of the object that is rated as a better algorithm for geometry sorting.

This is at cost of a noisier rendering that could possibly be reduced using more samples.

This solution has the advantage of avoiding the splitting of complex objects by geometry separation and also avoiding a more complicated subsequent work.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.