I have a House texture and Grass texture assigned to 2 MeshInstance3D. I rotate the House 90d to stand upright, and expect it to show above the Grass, with the base cut out by the Grass. Instead, they render as if they're 2D sprites on top of each other.

I tried Sprite3D with Alpha Cut: Discard, and get pretty close but with a weird fuzz in the clipped base of the house (which should be completely obscured):

I feel like I'm missing something very obvious. Thank you for any help in advance!

SOLUTION:

  • House & Tree Sprite3D: [Alpha Cut = Disabled]
  • Grass Sprite3D, new Standard Material: [Transparency = Alpha, Depth Draw Mode = Always]

SIDE EFFECTS:

  • Draw Order problems
  • xyz replied to this.

    welcome to the shader hell.
    Its probably something to do with shaders.

    Do you use shader materials for grass? Try to disable/remove and see if it works

      arrayewhy If you need proper 3d spatial relationships - use full 3d models.

      I went and looked at this:

      Try setting Depth Draw Mode to always.

        a month later

        kuligs2

        Hi! No, I'm not using anything custom for the grass sprite.

        I've moved to placing the house sprites on a 3D hill, and the problem seems to be gone so I'll just make do for now !^^
        Thanks for the reply!