
Building Your Own 3D Particle Generator
Dan Ebberts July 18, 2023
0 Comments
In this tutorial, Dan Ebberts explores how you can use expressions in After Effects 5.5 to build a fairly sophisticated 3D particle generator. Our particles will respond to initial velocity, gravity, wind, drag, and much more. Using this particle generator, we'll look at how you might create explosions, smoke, a fire blast, falling snow, and even a liquid-like flow. We'll explore how to make each particle re-usable, which will allow us to simulate fountain-like particle streams. This one is quite advanced.
Explosion MP4
3D Particle Generator .zip
the basics The basic idea is that we will import a graphic representation of a single particle. We'll drag it into our comp and make it 3D. We'll apply our physical simulation expressions to our particle and then duplicate that layer enough times to get a convincing result. We'll set the expressions up so that each particle (layer) will behave differently. We'll be applying expressions to many of the particle's properties, including position, scale, opacity, and rotation.
We'll start off with a simple explosion and develop more complex expressions from there. It will eventually involve some pretty hairy math and some physics (sorry!) but the good news is that you don't necessarily have to understand exactly how the expressions work - you just need to know how to modify them to get them to do what you want. In the first part of the tutorial, what I'll try to do, as much as possible, is to cover the basics of how the expressions work and how you would modify them. Then, towards the end, the stouthearted can follow me through the hairy math and physics.
the strategy We want each of our particles to have a defined life span that will be random within a certain range. Since we'll be applying expressions to multiple properties of the particle, we need some way to communicate information about the particle's life span to all the expressions that need it. We'll do this by performing the life span calculations in an expression control (if you want to learn more about expression controls, see my tutorial Building the World's Greatest Cameraman (COW Admin: coming soon)). We'll then use the expression control as a read-only global variable that can be accessed by all the other expressions applied to our particle.
let's begin! Go ahead and open the project file and then open the explosion basic comp. You'll notice a graphic layer called star flare and a null layer, which both have 3D turned on. We'll be using the position of the null to set the center of the explosion. We'll refer to the null as the particle emitter and later we'll move the null around to impart emitter velocity to the particles. Select the star flare layer and type u to display all the properties that have expressions applied to them. Also type Ctrl Shift t (PC) or Cmd Shift t (Mac) to display the effects applied the layer. You'll see that a point control has been applied and renamed life . You may be wondering why we'd use a point control instead of a slider control to hold the life value. The reason is that later on (when we get to re-usable particles) we're going to need to pass both life and birth times so we need a control that can pass two values. Couldn't we just use two slider controls? No, because the calculations for birth and life have to be done within the same expression to make it work. In the timeline, click the twirly next to Point to reveal the expression applied to the life point control:
lmin = 1.5; //minimum particle life
lmax = 2.5; //maximum particle life
seed_random(1,true);
life=random(lmin,lmax);
birth=0;
[birth,life]
This expression will generate a random life value for our particle that is between 1.5 and 2.5 seconds. This value will be plugged into the second element of our point control variable. The first element ( birth ) is just set to zero since for this first explosion comp all our particles will be born at time zero. The seed_random call just tells After Effects that we want to get the same random value for life every time we run the expression (otherwise the life value would hop around on every frame - which doesn't help us here). If you want to learn more about seed_random , see my tutorial Generating Random Motion (COW Admin: coming soon). If you wanted to change the life span of the particles, you would just change the lmin and lmax values.
Click the twirly next to Position to reveal this expression:
vmin=500; //minimum initial velocity
vmax=700; //maximum initial velocity
birth=effect( life ).param( Point )[0];
life=effect( life ).param( Point )[1];
origin=this_comp.layer( Null 1 ).position.value_at_time(birth);
age=time-birth;
seed_random(1,true);
s=random(vmin,vmax);//initial speed
a=degrees_to_radians(random(180)); //angle from vertical
r=degrees_to_radians(random(360)) //rotation around y axis
x=s*Math.sin(a)*Math.cos(r);
y=-s*Math.cos(a);
z=s*Math.sin(a)*Math.sin(r);
v=[x,y,z];
origin v*time
This is the basic position expression for a zero g explosion. Our particle will launch at a random direction in 3D space from the origin (which is just the position of the null layer) with an initial speed between 500 and 700 units (which roughly equates to pixels per second). The particle will continue at that speed and direction until it dies out. We haven't yet factored in wind, gravity, and drag. I'm sure you noticed the three lines that use the JavaScript trig functions to calculate the x, y, and z components of the particle's velocity vector. This vector is generated from the random values of speed ( s ), launch angle from vertical ( a ) and the rotation relative to the comp's y
Most recent headlines
20/12/2025
Atomos announced the immediate availability of a new firmware update for its Ninja TX GO and Ninja TX monitor-recorders, unlocking ProRes RAW recording from the...
20/12/2025
CJP Broadcast has completed the digitisation of the European Gymnastics tape archive, converting 328 tapes containing more than forty years of recorded material...
20/12/2025
Bitmovin, the leading provider of video streaming solutions, today announced the launch of the Stream Lab MCP Server, to give AI agents and large language model...
20/12/2025
Share Share by:
Copy link
Facebook
X
Whatsapp
Pinterest
Flipboard...
20/12/2025
Share Share by:
Copy link
Facebook
X
Whatsapp
Pinterest
Flipboard...
20/12/2025
Share Share by:
Copy link
Facebook
X
Whatsapp
Pinterest
Flipboard...
20/12/2025
Share Share by:
Copy link
Facebook
X
Whatsapp
Pinterest
Flipboard...
20/12/2025
Share Share by:
Copy link
Facebook
X
Whatsapp
Pinterest
Flipboard...
20/12/2025
Share Share by:
Copy link
Facebook
X
Whatsapp
Pinterest
Flipboard...
20/12/2025
Barack Obama Includes Laufey on His 2025 Favorite Music List The former presidents roundup of books, music, and movies includes a song from the Berklee alums ...
20/12/2025
Study reveals a key hormonal circuit in the kidneys Scripps Research scientists identify the protein that helps kidney cells regulate renin, providing foundatio...
19/12/2025
With Playout Release 2025.4, ToolsOnAir continues to push professional playout w...
19/12/2025
SVG Sit-Down: Diversified's Jared Timmins on AI for Broadcast Sports and Cre...
19/12/2025
2025 SVG Summit Audio Recap: Say What?The Audio Production and Distribution Workshop at the SVG Summit 20 took on issues including speech intelligibility, Next-...
19/12/2025
Gamified fun: Channel 5 on its NFL Big Game Night ambitions with Hungry Bear Med...
19/12/2025
College Football Playoff Preview: For ESPN, Round 1 is a Fantastic Yet Familia...
19/12/2025
AWS's Jason Dvorkin on Developing Partnerships With the NBA and PGA Tour, Em...
19/12/2025
Netflix Kicks Off Packed Sports Week with Paul-Joshua Fight Before Shifting to N...
19/12/2025
SVG New Sponsor Spotlight: Presidio's Nareev Shah on the Role of Its Captiva...
19/12/2025
Mounted to the pylon of an AH-1Z Viper helicopter, a Red Wolf vehicle successful...
19/12/2025
L3Harris technology for the SDA Tranche 3 Tracking Layer program will provide in...
19/12/2025
Partnership brings Nielsen ONE measurement activation directly into XR's adv...
19/12/2025
Share Share by:
Copy link
Facebook
X
Whatsapp
Pinterest
Flipboard...
19/12/2025
Share Share by:
Copy link
Facebook
X
Whatsapp
Pinterest
Flipboard...
19/12/2025
Berklee Announces Spring 2026 Signature Series This season's highlights include the Gospel Extravaganza, the 40th International Folk Festival, special gue...
19/12/2025
Performing arts centres across the globe have doubled down on live production infrastructure in recent years. For venues like the Queensland Performing Arts Cen...
19/12/2025
Share Share by:
Copy link
Facebook
X
Whatsapp
Pinterest
Flipboard...
19/12/2025
Share Share by:
Copy link
Facebook
X
Whatsapp
Pinterest
Flipboard...
19/12/2025
Share Share by:
Copy link
Facebook
X
Whatsapp
Pinterest
Flipboard...
19/12/2025
Share Share by:
Copy link
Facebook
X
Whatsapp
Pinterest
Flipboard...
19/12/2025
Share Share by:
Copy link
Facebook
X
Whatsapp
Pinterest
Flipboard...
19/12/2025
Share Share by:
Copy link
Facebook
X
Whatsapp
Pinterest
Flipboard...
19/12/2025
Ricardo Coke-Thomas Named Chair of Theater for Boston Conservatory at Berklee The distinguished theater educator, director, and performer will join the Conser...
19/12/2025
Back to All News
Salvador Arrives to Netflix on February 6
Entertainment
19 December 2025
GlobalSpain
Link copied to clipboard
WHEN THERE IS NOTHING LEFT ...
19/12/2025
As the year comes to a close, it's the perfect time to give your WO Automation for Radio system a quick tune up. At the top of your year end checklist is on...
19/12/2025
19 Dec 2025
VEON's Mobilink Microfinance Bank Launches Islamic Banking Oper...
19/12/2025
Wrapping up a year of connection and clarity!
19 Dec Written By Suzanne Costello
As 2025 comes to a close, we want to take a moment to thank our incredib...
19/12/2025
The six-part drama, set in a close-knit Welsh town fractured by an unspeakable c...
19/12/2025
Rohde & Schwarz drives the future of mobility at CES 2026 At the 2026 Consumer Electronics Show in Las Vegas, Rohde & Schwarz will present a powerful lineup o...
19/12/2025
Back to All News
Salvador arrives to Netflix on February 6
Entertainment
19 December 2025
GlobalSpain
Link copied to clipboard
WHEN THERE IS NOTHING LEFT ...
19/12/2025
Back to All News
Last Samurai Standing' Renewed for Season 2 - A Global Se...
19/12/2025
RT is proud to return to the RDS to support the 2026 Stripe Young Scientist & T...
19/12/2025
Nanoparticle vaccine strategy could protect against Ebola and other deadly filoviruses Scripps Research scientists turn nanoparticles into virus showcases to ...
18/12/2025
SVG Campus Shot Callers: Kurt Sutton, Director of Broadcast Operations, Clemson ...
18/12/2025
Follow the Money Episode 2: Inside the Sports Media Biz with Sam McCleery and St...
18/12/2025
SVG Sit-Down: Google Cloud's Anshul Kapoor on the Future of Generative Prod...
18/12/2025
The 2025 SVG Summit Draws Record Crowd for 20th-Annual Sports-Production Industr...
18/12/2025
SBS's sports schedule sizzles in January with Dakar Rally, Kooyong Classic a...
18/12/2025
Canada's largest indoor arena has transformed its live production capabilities with a full ST 2110 infrastructure and Calrec's compact Argo S console. S...
18/12/2025
During November, streaming's share of TV viewing in Mexico settled at 24.2%, an increase of 0.5 share points from the previous month.
Disclaimer: YUMI TV,...