godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
90.46k stars 21.07k forks source link

Some meshes don't render in gridmaps while in compatibility mode #83134

Closed JohnathanLP closed 1 year ago

JohnathanLP commented 1 year ago

Godot version

v4.1.1.stable.official [bd6af8e0e]

System information

Windows 11 - RTX 2060, driver version 31.0.15.3699

Issue description

I have two gltf files, created in two different programs, both containing a (as best I can tell) identical white cube. Both scenes import and can be seen and used correctly in Godot and at least one other program, so I don't think there's anything wrong with those files. With each file, I have created a MeshInstance3D, as well as a MeshLibrary, which I've then used in a GridMap. In Forward+, everything works fine. image The two cubes in the front are the MeshInstance3Ds, and the two clusters in the back are the TileMaps. The problem comes when I switch to Compatability, which I often use for game jams which prefer HTML5 builds, and for working on my older laptop. image The MeshInstance3Ds work just fine, but the GridMap created with the mesh from Crocotile disappears entirely. The gridmap still "works", ie you can and remove cubes, but none of the cubes will render at all until you switch back to Forward+.

Steps to reproduce

Open the attached project, verify that all cubes are present, switch to Compatibility, see that one GridMap stops rendering.

Minimal reproduction project

GridMapMinimalProject.zip

clayjohn commented 1 year ago

I can confirm that this issue existed in 4.1.1 (and all the way up to and including dev 6).

After testing in master, it looks like this has been fixed already, most likely by https://github.com/godotengine/godot/pull/81575 which will be included in 4.2-beta1 and also will be cherrypicked for 4.1.3.