godotengine / godot

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

Incorrect shadows appear with meshes that have Static bake mode if VoxelGI node isn't at the world origin #90976

Open passivestar opened 5 months ago

passivestar commented 5 months ago

Tested versions

v4.3.dev.custom_build [4a0160241]

System information

Godot v4.3.dev (4a0160241) - macOS 14.4.0 - Vulkan (Forward+) - integrated Apple M1 Max - Apple M1 Max (10 Threads)

Issue description

VoxelGI seems to be casting shadows where it shouldn't on a reflective surface:

https://github.com/godotengine/godot/assets/60579014/273cc599-b0f1-4058-8b73-3aa566674c69

Steps to reproduce

Open the MRP and do what I did in the video

Minimal reproduction project (MRP)

MRP_voxelgi_shadows.zip

passivestar commented 5 months ago

Also it looks like a second shadow appears here when you look at a certain angle, making it darker 🤔

image
passivestar commented 5 months ago

The issue disappears if I set the VoxelGI volume's y position to zero

However if the volume intersects the cube geometry you see this:

image
Calinou commented 4 months ago

I can confirm this on 4.3.dev 40b4130c9 (Linux, GeForce RTX 4090 with NVIDIA 550.78).

The shadow goes away if you set the red cube's bake mode to Disabled or Dynamic then bake VoxelGI again, so the issue is somewhere in the baker. It doesn't go away if you move the red cube to the scene root (so it's no longer a child of the ground).