0 votes

Hi, I'm generating an ArrayMesh with 24 surfaces. It's supposed to look sorta like a brewing stand in Minecraft. But when I tried it out, it looked like this.
The stem is rendering behind the bases, instead of between them. Why?

asked Dec 20, 2019 in Engine by ErikSell (21 points)
edited Dec 20, 2019 by ErikSell

Either your model is wrong, or the material is wrong and is not getting sorted properly (is it opaque?).
But when you say "24 surfaces"... you mean 24 polys? Because a mesh like this really doesn't need 24 surfaces. In Godot surfaces are meant to be for parts of the mesh having different materials.

No, 1 poly with 24 surfaces. I think they're being drawn in index order, really. There's one material for each surface, and they're all transparency enabled. I know how Godot surfaces work. The model is fine, I'm constructing it at runtime from a minecraft resource pack. I will look at the transparency issue.

No, 1 poly with 24 surfaces

There's one material for each surface

Sorry I'm confused now... there is no way to have 24 materials if you only have one surface...

they're all transparency enabled

This may be what causes the rendering issue. Besides, your model doesn't show transparency, you could have used an opaque material. In Minecraft, that's what happens. If pixels are transparent, they are actually discarded with alpha scissor.

Thank you, that should do it.

Thank you, removing the transparency did the trick.

Please log in or register to answer this question.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.