When using a GPUParticle3D node and having it's emission points created from another node, the _emission_pointtexture property inside its ParticleProcessMaterial will have a new ImageTexture assigned. From that point on, every time the scene is opened and saved, the image property inside that ImageTexture will be regenerated with a new id. While this does not lead to any behavior issues, this means that scene will now be dirty and will be marked as an unstaged change on version control systems such as git
Steps to reproduce
With MRP
On a terminal, run git status and verify that there are no unstaged changes
Open the Minimal Reproduction Project
Open the scene.tscn
Hit Ctrl+S
On a terminal, run git status
Verify that scene.tscn has unstaged changes
Without MRP
Create a new scene
Create a GPUParticle3D node with an empty ParticleProcessMaterial and any mesh for it's _draw_pass1
Create a MeshInstance3D node with any mesh
Select the GPUParticle3D and, from the menu over the scene preview, select GPUParticle3D > Create Emission Points From Node
Pick the MeshInstance3D created above
Save the scene to any new file
Backup the saved scene or stage the file under a version control system such as git
Close the scene in Godot
Reopen the scene
Hit CTRL+S
Compare the newly saved scene with the backup from earlier
Tested versions
System information
Godot v4.3.stable.mono - Windows 10.0.19045 - GLES3 (Compatibility) - NVIDIA GeForce GTX 1060 6GB (NVIDIA; 32.0.15.6109) - Intel(R) Core(TM) i5-4690 CPU @ 3.50GHz (4 Threads)
Issue description
When using a GPUParticle3D node and having it's emission points created from another node, the _emission_pointtexture property inside its ParticleProcessMaterial will have a new ImageTexture assigned. From that point on, every time the scene is opened and saved, the image property inside that ImageTexture will be regenerated with a new id. While this does not lead to any behavior issues, this means that scene will now be dirty and will be marked as an unstaged change on version control systems such as git
Steps to reproduce
With MRP
git status
and verify that there are no unstaged changesgit status
Without MRP
Minimal reproduction project (MRP)
MRP.zip