Clipping issue with semi-transparent MeshInstance

Godot Version

v4.3 stable

Question

I’m working on a system where walls are faded out when they obscure the character, and slowly fade them back in when they stop obscuring the character. I’m making the walls transparent by setting each material’s transparency mode to Alpha, and then changing the material’s albedo_color.a. I’m coming across a clipping issue when the walls are in the semi-transparent state which results in the character being incorrectly drawn behind the wall. The character is an AnimatedSprite3D set as a y-axis billboard.

Here is the scene setup:

Here is a video outlining the clipping problem: https://envs.sh/d_Z.mp4

When the character is behind the semi-transparent wall, they are correctly drawn behind:

Likewise when the character is in front of the wall:

However when travelling up the slope, there is a small area where they’re drawn incorrectly:



Setting the AnimatedSprite3D’s Alpha Clip flag to Discard has fixed the issue:

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.