Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GridMap renders 3D meshes as solid black with "Compatibility" renderer #74111

Closed
Tracked by #66458
kdiduk opened this issue Feb 28, 2023 · 4 comments · Fixed by #81575
Closed
Tracked by #66458

GridMap renders 3D meshes as solid black with "Compatibility" renderer #74111

kdiduk opened this issue Feb 28, 2023 · 4 comments · Fixed by #81575

Comments

@kdiduk
Copy link
Contributor

kdiduk commented Feb 28, 2023


Bugsquad note: This issue has been confirmed several times already. No need to confirm it further.


Godot version

v4.0.rc6.official

System information

Linux kernel 5.15. Driver: Mesa 22.3.1. Godot renderer: compatibility

Issue description

When using Compatibility renderer in Godot 4.0, GridMap doesn't render 3D meshesh correctly: they are rendered as completely black. And what is interesting is that they are rendered correctly while editing before a 3D mesh is actually placed.

grodmap_compatibility

See the video below:

gridmap_bug.mp4

The renderers "Forward+" and "Mobile" don't have this issue.

gridmap_mobile_renderer

Also, this issue was mentioned by other users in Godot Discord (for example, here)

Steps to reproduce

Create new project with "Compatibility" renderer.
Create a simple 3D scene (with lights, etc.) and put GridMap node on it.
Create new MeshLibrary with some 3D meshesh.
Start editing GridMap. Notice when placing 3D meshesh on it, they are rendered correctly until they are placed. One they are placed, they are rendered as completely black.

Minimal reproduction project

racing.tar.gz

@Calinou
Copy link
Member

Calinou commented Mar 19, 2023

I can confirm this on 4.0.stable (Linux, GeForce RTX 4090 with NVIDIA 525.89.02).

And what is interesting is that they are rendered correctly while editing before a 3D mesh is actually placed.

The preview is a single mesh, while the final GridMap is a MultiMesh.

What's interesting is that this does not occur with MultiMeshInstance3D nodes. Here's an instance from a MultiMeshInstance3D on the top, and the GridMap at the bottom:

image

MRP with MultiMeshInstance3D added: racing_multimesh.zip

@Leandro-170
Copy link

I've been facing this issue recently in a project of my own. At first, I thought it was my own GPU issues (I have a very old GPU, and have to rely on the Compatibility render to use Godot 4) but just now, I've found that meshes that have materials with the vertex_color_use_as_albedo property on render all black, and that disabling it seems to make them render properly.

In here, ground tiles were exported from Blender to a GLTF scene, then loaded as a scene in Godot, then exported to a MeshLibrary without any changes.
image

In here, i reopened the scene, picked the grass plane mesh and made both itself and it's material unique, then unset vertex_color_use_as_albedo.
image

I'm not sure if said property should behave like this - on my side, setting the property to true on a standalone MeshInstance's material does not show any visible effect.
image

@Wolfe2x7
Copy link

Wolfe2x7 commented Sep 9, 2023

I confirm this bug affects any MultiMesh, including MultiMeshInstance3D, if and only if vertex colors are used in a shader. 4.1.1 Stable.

@Hazarth
Copy link

Hazarth commented Sep 26, 2023

Yep, I encountered the same issue. Switching to Forward+ or Mobile is a simple workaround

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants