godotengine / godotengine/godot

Editor prints infinite errors while an opened LightOccluder2D polygon is in view of a GPUParticles2D with collision mode

Open
#98,209 2 comments 0 reactions 0 assignees View on GitHub
bug topic:2d topic:editor
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

Reproducible in 4.3 stable

### System information

Godot v4.3.stable - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3060 Laptop GPU (NVIDIA; 32.0.15.6081) - Intel(R) Core(TM) i7-10870H CPU @ 2.20GHz (16 Threads)

### Issue description

Opening a LightOccluder2D polygon seems to be accumulating a large amount of errors while it's in the editor's viewport, if there is also a GPUParticle2D with a collision mode set to anything but disabled in view. This seems to be an issue with the editor only and both the particle emitter and the opened occluder are behaving as expected during runtime, and don't produce errors.

The issue seems to occur with any shape and number of points as long as closed is set to false (no concave/overlapping points in the polygon), regardless of whether the polygon was closed or not when creating it, but seems to be resolved in most cases if the position of a point in the polygon is changed later (however returns again if the number of points is changed again, or if the editor is restarted). The issue appears regardless of the occluder and the particle emitter interacting with each other at all.

![image](https://github.com/user-attachments/assets/e0793b4d-c2e4-4b11-a1ab-b800fd8d221e)
![image](https://github.com/user-attachments/assets/22067b44-8d65-405a-bea8-ef1450549b20)

### Steps to reproduce

1. Set up a new GPUParticles2D node
2. Set the ParticleProcessMaterial's collision mode to anything but disabled.
1. Create a new LightOccluder2D node
3. Assign a new OccluderPolygon2D
4. Set closed property to false
5. Errors only print while both nodes are visible within the editor's viewport, either due to zoom/scroll or with their visibilities set to true

### Minimal reproduction project (MRP)

[occluder-bug-report.zip](https://github.com/user-attachments/files/17382526/occluder-bug-report.zip)

Contributor guide

Open the contributing guide

Research direction

Start by opening the linked minimal reproduction project and reproducing the errors with a LightOccluder2D and a GPUParticles2D using collision mode in the editor viewport. Trace the editor-only error source while both nodes are visible; done means the reported errors no longer accumulate, while runtime behavior remains unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics, game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.