All, I'm just about to send the particle system code to Justin for inclusion on www.j3d.org. I think it's about at the Alpha/Beta stage and could use some testing and comments.
I've attached another screen shot. In the screenshot you can see 3 particle systems interacting. The blue one is using a BYREF QuadArray, the brown a BYREF TriangleArray and the third is a BYREF PointArray. Each system was using 500 particles with a maximum particle age of 300 frames. The forces in effect were gravity, wind and arbitrary geometry collision (using the picking utilities). The FPS was about 30. Some features: - can use any mechanism to represent particles (e.g. BYREF geometry, a single Shape3D per particle etc.) - ParticleSystems themselves can have geometry associated with them - ParticleSystems can be hierarchical (though the scenegraph) - ParticleSystemManager is a behavior and can be triggered using an WakeupCondition - You write pluggable/shareable MovementFunctions which act on particles and can be reused and composited (gravity, wind etc.). It would be nice to have a library of these... - The PickingCollisionMovementFunction was a bit of an experiment but works surprisingly well. It allows the particles to bounce off *any* geometry in your scenegraph (under a picking root) using Bounds based picking. Not sure how well this will scale... - Pluggable ParticleInitializers (emitters) and ParticleFactory for defining physical Particle properties. The code still needs a little clean-up in places and is released under GPL. Enjoy! Daniel Selman
<<attachment: particle_screenshot.jpg>>
