Unreal Enigma Particle Engine
Posted: Wed Jan 05, 2011 3:26 pm
Regarding the refreshing and inspiring discussion with Feralidragon concerning particle system and due to the fact my own particle engine is going to be very complex but very efficient I'd like to share thoughts on development of that engine in an own thread.
To sum it up I can say that the Unreal Enigma Particle Engine is going to be as effective as the Unreal Cascade Particle Engine of the Unreal Engine 3, except for that there's no such Cascade Editor, you just place the emitter into the Map... et voila.
Core Features
- 99 % running in C++ on the GPU
- Linked List holding all Enigma Actors, to be fast accessable in C++ AND Unreal Script, each Enigma Actor finds the other with the blink of an eye
- internal Event System (which allows to control why, when and how particles are changed in realtime)
- no spawning of any Actors
- no spawning of any Objects
- will be integrated into all other Effect Systems (Projectiles, Special Effects, Weapon Effects etc.)
- lots of Settings to tweak the Engine using a corresponding Menu
Emitter Features
- instant in-Editor Preview Support
- easy-to-setup module-driven Variable Settings
- complex Particle System Support holding a dynamic List of SubEmitters
- Trigger, Attach, Movement Support
- Sprite-, Corona-, Mesh-, Beam-, Trail- and Spark Emitters (maybe even Fluid Emitters drawing realistic Fluids...)
- each emitter has an unlimited list of modules, so even a single emitter may render particles as if there would be multiple emitters
Particle Features
- Particle to Particle Interaction Support
- Particle Force Support
- Dynamic Particle Physics and Collision
- Event-driven Particle Actions
- Dynamic Particle Sound System
Rendering Features
- Primitive Particle Rendering: Rendering of primitive model objects like Points, Lines, Crosses as Particles (internally used for debugging, but also available as indipendent emitters)
- Sprite Particle Rendering: Allows for rendering of tons of sprite particles, with dynamic color, brightness, size (even U/V size)
- Corona Particle Rendering: Allows for rendering of tons of corona-sprite particles, with dynamic color, brightness, size (even U/V size)
- Spark Particle Rendering: Stretched particles that represent sparks / fireworks
- Beam Particle Rendering: Smoothed segmented beam particles
- Mesh Particle Rendering: Should be faster than standard mesh render, as only the mesh is rendered without any actor representing it
- Trail Emitter Rendering: Stretched ribbon particles representing trails
Expect first render pics and previews next week
To sum it up I can say that the Unreal Enigma Particle Engine is going to be as effective as the Unreal Cascade Particle Engine of the Unreal Engine 3, except for that there's no such Cascade Editor, you just place the emitter into the Map... et voila.
Core Features
- 99 % running in C++ on the GPU
- Linked List holding all Enigma Actors, to be fast accessable in C++ AND Unreal Script, each Enigma Actor finds the other with the blink of an eye
- internal Event System (which allows to control why, when and how particles are changed in realtime)
- no spawning of any Actors
- no spawning of any Objects
- will be integrated into all other Effect Systems (Projectiles, Special Effects, Weapon Effects etc.)
- lots of Settings to tweak the Engine using a corresponding Menu
Emitter Features
- instant in-Editor Preview Support
- easy-to-setup module-driven Variable Settings
- complex Particle System Support holding a dynamic List of SubEmitters
- Trigger, Attach, Movement Support
- Sprite-, Corona-, Mesh-, Beam-, Trail- and Spark Emitters (maybe even Fluid Emitters drawing realistic Fluids...)
- each emitter has an unlimited list of modules, so even a single emitter may render particles as if there would be multiple emitters
Particle Features
- Particle to Particle Interaction Support
- Particle Force Support
- Dynamic Particle Physics and Collision
- Event-driven Particle Actions
- Dynamic Particle Sound System
Rendering Features
- Primitive Particle Rendering: Rendering of primitive model objects like Points, Lines, Crosses as Particles (internally used for debugging, but also available as indipendent emitters)
- Sprite Particle Rendering: Allows for rendering of tons of sprite particles, with dynamic color, brightness, size (even U/V size)
- Corona Particle Rendering: Allows for rendering of tons of corona-sprite particles, with dynamic color, brightness, size (even U/V size)
- Spark Particle Rendering: Stretched particles that represent sparks / fireworks
- Beam Particle Rendering: Smoothed segmented beam particles
- Mesh Particle Rendering: Should be faster than standard mesh render, as only the mesh is rendered without any actor representing it
- Trail Emitter Rendering: Stretched ribbon particles representing trails
Expect first render pics and previews next week