Particle System Problems - Engine Only

Hi everyone! I’ve been quite happy with Engine only 2.x build but recently I had some weird errors with particlesystems. I’m not going to make a project to repro these at this time, because I have found workarounds or just accepted it and I need to move on. So no urgent fixes are being requested! But I figured I would lay out my issues here so that if I’m missing something obvious someone can chime in - or, if these are common issues this can be the beginning of a record. So without further ado:

Bugs

  • When creating a system, setting local velocity curve, adding it as a child, then rotating that child, the particle system appears to emit at a 45 degree angle instead of the correct new rotation for about 1-5 seconds before emitting at the correct angle.
  • extentsInner does not work for box systems. I noticed this thread mentioning the same. Sphere systems do seem to work.
  • Particle systems seem to slow down my fast and otherwise smooth computer and build down in stutters. For example, after adding a particle system to the scene, I notice that after some time (5-20 seconds) the scene may stutter (freeze for 1-2 seconds) a few times (1-5 times). I have tried profiling this and otherwise debugging it and cannot figure out anything other than that it is related to the particlesystem.

Feature Requests

  • When having larger systems, I notice the particles disappear when the emitter entity is not visible to the camera frustum. This may be expected due to culling of entities outside the frustum but this is not ideal for particles, where the emitter vec3 may be outside frustum but many particles should still be visible to the camera.
  • Mesh emitter shape would be nice. (emit at verts or randomly on face)
  • Emit(vec3) would be nice. Mesh emitter could be implemented if Emit(vec3) was implemented. I know this has been a requested feature.

Anyway, I realize Playcanvas is a lightweight and new engine compared to others (Unity/Unreal) and I am quite happy with it – but it does seem the particlesystem component in Engine-only builds may have some issues. Perhaps I am missing something obvious wrt my bugs and feature requests :slightly_smiling_face: :pray:

I have not contributed to the Engine code yet, although perhaps I could try to address some of these issues, however I would probably need someone a bit more versed in engine code to guide me before I start loosening bolts. :wink:

Hi … nice thread!
There are definitely multiple small issues and feature requests logged here, but nobody is particularly actively looking at fixing those. The longer term plan is to redo the system for next gen (compute on WebGPU), but there is no immediate plan for this.

In any case, the existing particle system will be supported for a long time, and any fixes and new features are welcome. Please consider contributing to the engine if you feel like it.

If your mentioned issues / requests are not added as issues yet, feel free to add them.