Search Issue Tracker
Won't Fix
Votes
0
Found in
2021.3.36f1
2022.3.21f1
2023.2.13f1
6000.0.0b11
Issue ID
UUM-67249
Regression
No
The ParticleSystem "simulate" method is inaccurate when simulating a high count (over 100) of particles while in Play mode
Reproduction steps:
1. Open the “PS_test.zip” project
2. Open the “SampleScene” and Enter Play mode
3. Observe the Scene view (expected result)
4. Leave Play mode and select the two Particle Systems in the Scene
5. In the Inspector window, set the Particle Count (Emission > Rate over Time) to 200
6. Enter Play mode again
7. Observe the Scene view
Expected result: “S” (simulated) Particles are closely simulating their “P” (played) Particle counterparts
Actual result: “S” Particles are not aligning with the “P” Particles
Reproducible with: 2021.3.36f1, 2022.3.21f1, 2023.2.13f1, 6000.0.0b11
Reproducible on: Windows 11
Not reproducible on: No other environment tested
Note:
- Only reproducible in Play mode and in Player
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
- Mono Windows Builds don't produce full log callstacks when generating logs
- AssetBundles fail to load when running in Built Players for Mobile Devices
- UI elements with text gets bigger and grey when Player window is moved to another screen with different resolution
- System name accepts multiline text but crops it on confirmation, duplicates input, and shrinks the field when empty
- UI element scale and position are wrong in project build when DRS is changed with HDR and Software Dynamic Resolution enabled
Resolution Note:
It seems that the random seed being used for new particles it is not the same if we Simulate more than one frame at a time and there is more than one particle to be spawned per frame. Probably related to complex SIMD code required for efficient initialization.
Although we acknowledge that this is not correct, changing this at this point could affect other functionality.
As a workaround, we recommend to simulate each frame, instead of from restart, using the time difference between the reference system and the simulated system.
Another alternative is to get the state using GetPlaybackState, GetTrailsPlaybackState, and GetParticles.