The BioDigital Human Particle System
Tarek Sherif
Lead Graphics Engineer, BioDigital
Background
-
We frequently want to visualize
- Fluid motion
- Molecular interactions
- Drug effects
Before the Particle System
- Particles would be rendered as low-res spheres
- Each particle would be manually animated by an artist
Particle System
-
These effects can be efficiently rendered with a particle simulation
- Draw points
- Fine-grained simulation components to apply forces/constraints
Architecture
- Particles are separate arrays of properties
- Position
- Velocity
- Color
- Age
Architecture
- Particles updated each frame by components
- Creators: Initialize a property
- Updater: Update a property each frame
- Constraint: Ensure a property remains within bounds
Current Component List
- Creators
- cube-position, directional-velocity, point-position, sphere-position, cylinder-position, lifetime, random-velocity
- Updaters
- age-color-blend, brownian-motion, cylindrical-force, friction, gravity, path, radial-force, sprite-animation, uniform-force
- Constraints
- lifetime-kill, lifetime-stop, path-kill, path-radius, path-stop, shape-bounce, shape-kill, shape-stop
- Shapes
- cube, cylinder, plane, sphere
Architecture
- Each component has a minimal function in the sim
- Allows artists to combine them in expressive ways
Applications
- Initially limited to basic processes and ambient effects
Applications
-
Additional features rolled out over time
- Textures
- Component parameter animations