Search Issue Tracker
By Design
Votes
0
Found in [Package]
13.1.3
Issue ID
1387668
Regression
No
A Spawn Node's Block properties affect another Spawn Node's visible particles
Reproduction steps:
1. Open the user's attached "Testbed.zip" project
2. Open the "Scene" Scene
3. In the Assets open the "New VFX" Visual Effect Graph
4. Change the Count property of the "Spawn system (1)" to 10
5. Change the Count property of the "Spawn system" to 5
6. Observe the Scene
Expected result: Both Spawn Nodes spawn visible particles based on the Count property of each Spawn Node's Block
Actual result: Both Spawn Nodes spawn visible particles based on the Count property of the "Spawn system" Block
Reproducible with: 10.8.0 (2020.3.25f1), 12.1.2 (2021.2.7f1), 13.1.3 (2022.1.0b2)
Could not test with: 7.7.1 (2019.4.34f1) (Missing required context for Visual Effect Graph)
Notes:
- The "Spawn system (1)" spawns particles based on its Block's Count property, but only the amount of particles in the Count property of the "Spawn system" Block is visible.
- After reproducing the issue, you can select "New VFX" GameObject in the Hierarchy window and see that some particles are invisible.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- ArgumentOutOfRangeException when manipulating the Project Settings search bar
- [Linux] Touch freezes in Player when any mouse button is clicked
- UnityEngine.Rendering.Volume.OnEnable() is called twice before OnDisable() creating multiple copies of the same volume when a volume is enabled right after Domain Reload when entering Play Mode
- Hinge Joint transforms are reset when toggling the "useMotor" property
- Motion Vector texture reports incorrect Mesh data when Mesh is coming from off-screen
Resolution Note:
For this specific issue, the problem was actually in user code, we were trying to render the second VFXSystem with the rendering draw call of the first one.
In VFXPass.cs (1387668_Testbed\Assets\Scripts\VFXPass.cs), replace
ctx.cmd.DrawRenderer(VFXPass.Renderers[i], materials[j]);
By
ctx.cmd.DrawRenderer(VFXPass.Renderers[i], materials[j], j);