3D Object flickering

I am getting a lot of flickering when using lower resolutions on mobile devices. No issues on desktop or higher end devices.

Project link (has to be from lower end mobile device): https://playcanv.as/p/UO8N0xeC/

It seems to be a rendering order issue, if I disable the 3D model that keeps trying to render itself on top of everything it works fine. I can’t seem to add sorting orders to 3D models though, anyway I can fix this?

Could you post a video please? (this works well to display on a desktop to record https://github.com/Genymobile/scrcpy)

At a guess, it’s either z fighting or the resolution is too low to see the gaps between some models and it looks like flickering whereas really, it can’t render the gaps between models because the gap is smaller than a screen pixel.

@yaustar You can see intense flickering after rotating the globe. It is the “ocean” model render order fighting with everything else.

Regarding that 3D model, what happens when you scale it down?

Still flickers but now in a smaller area because it’s scaled down.

The lower resolution might be a red herring for me. You could use layers to define the render order to see if that helps.

I cannot use layers because the objects go in-between each other.

It looks like Z fighting from the GIF but if it still does that when you scale down it can’t be :confused:

Does that 3D object animate/move etc?

Object does not move or animate, it is completely static.

To give you more detail on how it’s set up:

A: side view of object that flickers, it’s simply a cylinder
B: camera
C: where dots would be (generated on runtime)

Quick guess but…are you using ‘alpha to coverage’ in this scene? That’s only supported on device’s that have WebGL 2. Are you able to reproduce this effect in a simpler, fresh scene that you can share an Editor URL for?

I am not using alpha to coverage. In fact I did think it might be because the cylinder above is transparent, however I just made it fully opaque and it still flickers. Then tried alpha to coverage on and had no difference either.

Also I noticed the flicker only happens in front of the cylinder, objects rendered behind it display perfectly.

Even replaced the cylinder with a sprite and get same flickering. I think the resolution of the build is just way too small due to the low end device.