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

GPUParticles3D cannot set ShaderMaterial in process_material #101679

Closed
jupiterbjy opened this issue Jan 17, 2025 · 3 comments · Fixed by #101617
Closed

GPUParticles3D cannot set ShaderMaterial in process_material #101679

jupiterbjy opened this issue Jan 17, 2025 · 3 comments · Fixed by #101617

Comments

@jupiterbjy
Copy link

Tested versions

  • Reproducible in Godot Engine v4.4.beta1.official.d33da79d3

System information

Win11 - Godot Engine v4.4.beta1.official.d33da79d3 - Vulkan 1.3.287 - Forward+

Issue description

All project setting GPUParticles3D.process_material to shader causes crash.

Steps to reproduce

extends GPUParticles3D


func _ready() -> void:
	self.process_material = ShaderMaterial.new()

Or just set in property panel

Image

which identically output following error without further information:

ERROR: In Object of type 'ShaderMaterial': Attempt to connect nonexistent signal 'emission_shape_changed' to callable 'GPUParticles3D::update_gizmos'.
   at: (core/object/object.cpp:1439)

For plugins that provides node based on GPUParticles3D - opening scene containing it will immediately crash editor (i.e. GPUTrail3D)

Minimal reproduction project (MRP)

refer step to reproduce, will add mre just in case but probably creating node and setting shader param will be faster than unzipping

44beta1_gpu_trail_crash.zip

originally was MRE for other repo so don't mind the project name.

I assume line 152 is culprit so just cloned & building godot to see if this is something I can PR myself,
Did signal not exist or changed? I think I didn't saw in changelog

@jupiterbjy jupiterbjy changed the title GPUParticle3D cannot use ShaderMaterial GPUParticle3D cannot set ShaderMaterial in process_material Jan 17, 2025
@jupiterbjy jupiterbjy changed the title GPUParticle3D cannot set ShaderMaterial in process_material GPUParticles3D cannot set ShaderMaterial in process_material Jan 17, 2025
@AThousandShips AThousandShips added this to the 4.4 milestone Jan 17, 2025
@jupiterbjy
Copy link
Author

I see, fix's already in way, good to know!

@AThousandShips AThousandShips moved this from Unassessed to Immediate Blocker in 4.x Release Blockers Jan 17, 2025
@Norrox
Copy link
Contributor

Norrox commented Jan 17, 2025

i get this when i try to change the Visiblity ABB from -4 to -500 when having a shader material in the gpu particle node

Image

@jupiterbjy
Copy link
Author

jupiterbjy commented Jan 17, 2025

@Norrox refer my reprod. section, did you assign it on particle process?

if so this seems already have fix and will be merged in next release I guess.

Must have this somehow slip pass when fixing #101502 - I wonder how to even unit test this kind of things, like having scene with every field occupied? doesn't seem that promising, keeping track of changes and updating such test payload seems whole another task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Immediate Blocker
3 participants