SFM Particles and Effects: Fire, Smoke and Muzzle Flashes

Quick Answer

SFM particles are prebuilt effects such as fire, smoke, sparks, explosions and muzzle flashes, stored in .pcf files. Add one by creating an animation set for a new particle system in the Animation Set Editor, then pick the file and system name and set the start time, emission duration and lifetime. Lock controlPoint0 to a weapon or prop so the effect follows it.

01

Preview the effect

Open the Particle Editor, browse a .pcf file and note the exact name of the system you want.

02

Create the animation set

In the Animation Set Editor, add an animation set for a new particle system and pick that file and system.

03

Set its times

Enter the start time, emission duration and lifetime, then move the effect into place in the scene.

04

Attach and render

Lock controlPoint0 to the object that emits the effect, then check it in a short test render.

How Particle Systems Work in SFM

A particle system is a recipe for many small sprites that are born, move and die. Source games store these recipes in particle files with the .pcf extension. One .pcf file usually holds many systems, and each has its own name. SFM reads the same files the games use, so Team Fortress 2 effects are ready to use from day one.

The Parts of Every Particle System

Valve splits each system into a few building blocks. Knowing them helps you guess why an effect behaves the way it does, and where to look when it misbehaves.

PartWhat it doesWhy it matters in SFM
EmitterDecides how many particles are created and over what periodA burst fires once, while a continuous emitter keeps going for the emission duration
InitializersSet the starting state of each new particleSize, color, lifetime and start position come from here
OperatorsAct on every particle for each frame it existsMovement, fading and decay happen here
RendererDecides how the particles are drawnSprites, ropes and other draw styles
ChildrenOther systems linked to this oneOne effect can play sparks, smoke and glow together

Control Points

Control points tell a system where to play. Each one has a position and an orientation. By default, control point 0 is the origin and orientation of the whole system. In SFM it appears as controlPoint0 inside the particle’s animation set. Move it, and the whole effect moves with it. Some systems also read extra control points, for example to set the far end of a beam.

SFM particle system anatomy diagram showing the emitter, initializers, operators and renderer inside a .pcf definition, with control points and child systems
SFM particle system anatomy diagram showing the emitter, initializers, operators and renderer inside a .pcf definition, with control points and child systems.

Other settings decide whether a system is drawn at all. A system is not rendered when its bounding box is out of view, and it can also have a maximum draw distance. Valve lists these in its particle system properties reference, and several of them come back in the troubleshooting section below.

How to Add a Particle System in SFM

Adding an effect takes two stages. First you find the exact system name. Then you create an animation set for it in the current shot.

Find the Effect in the Particle Editor

SFM ships with a Particle Editor for previewing effects. Steam community guides open it from the Windows menu, then use File and Open to browse to a game’s particles folder, such as tf/particles for Team Fortress 2 effects. Open a .pcf file, click through its systems and preview each one. Write down the file name and the system name you want. When you are done, return to SFM through the editor’s Tools menu.

Create the Animation Set

In the Animation Set Editor, open the Add menu in the top-left corner, or right-click an empty area. Choose the option that creates an animation set for a new particle system. Browse to the .pcf file and pick the system name from the list. Valve’s guide to adding objects in SFM confirms that the same dialog sets three timing values:

  • Start time. When the system begins, in the shot’s time.
  • Emission duration. How long the emitter keeps creating new particles.
  • Lifetime. How long the system lives in total. Community users suggest making it a little longer than the emission so the last particles can fade out.

New objects are added near the scene camera. Select the effect in the Animation Set Editor and move it into place with the move manipulator. Remember that animation sets belong to one shot. An effect added to one shot does not appear in any other.

Edit Start, Stop and End Times Later

Timing is rarely right on the first try. Right-click the particle system’s animation set and choose Edit Particle System Start/Stop/End Times. You can then shift the effect without rebuilding it. This is the main tool for syncing effects to the action.

Fire and Smoke Effects

Fire and smoke are usually continuous systems. They keep emitting for as long as the emission duration allows. That makes them easy to use for campfires, burning wreckage and smoking chimneys.

Fire

  • Set the emission duration to cover the whole shot if the fire should burn throughout.
  • If the flames take time to build, start the system earlier than the action you want to show. They will look established when the camera reaches them.
  • Pair the fire with a warm light. Most fire effects do not light the scene around them by themselves. Our SFM lighting guide covers light color, falloff and flicker.

Smoke

Smoke reads best when it moves slowly and stays partly transparent. Place it behind or above the subject rather than in front of a face. Thick smoke between the camera and the character hides your animation.

Many fire and explosion effects already include smoke as a child system. Preview the full effect before you stack a separate smoke system on top. Also check the scale, since game effects can look too small or too large next to your models. Community advice for resizing is to edit a copy of the system in the Particle Editor and adjust its size-related initializers, including those in its children.

Explosions

Explosions are burst effects. Most of the action happens in the first few frames, and then smoke and debris fade out. The Team Fortress 2 particles folder includes explosion files such as explosion_high.pcf, plus building damage effects in buildingdamage.pcf.

  • Start the system a frame or two before the impact, so the flash peaks on the hit frame.
  • Give it enough lifetime for the smoke to clear naturally. A short lifetime makes debris vanish in mid-air.
  • Add a light that spikes on the blast frame and decays over the next few frames. The flickering light section below uses the same method.
  • Add a little camera motion after the blast. Our SFM camera tips explain how to key the shot camera and use motion blur.

Syncing SFM Particles to Weapon Fire: Muzzle Flashes

Muzzle flashes are the most common SFM particles in action scenes, and the most fiddly. Team Fortress 2 keeps them in muzzle_flash.pcf. Community users report better results with this file than with the dx80 fallback version.

One community animator sums up the core rule well: every muzzle flash is a separately timed particle. That is how the games handle it, and it keeps each flash in sync with the audio.

Place the Flash at the Muzzle and Lock controlPoint0

Position the system first, then lock it. Locking a misplaced control point only makes the mistake follow the gun.

  • Pose the weapon on the first frame of the shot.
  • Select the particle’s controlPoint0 and move it to the tip of the barrel. Rotate it so the flash points along the barrel.
  • In the Animation Set Editor, drag the weapon’s control onto the lock box beside controlPoint0. Valve’s lock documentation describes it this way: drag the parent control onto the child’s lock box. The box turns into a padlock.
  • Scrub through the shot. The flash should stay on the barrel as the character moves.

Which weapon control should be the parent? Community users usually lock controlPoint0 to the weapon’s rootTransform or to a bone near the muzzle. If the weapon is already attached to a hand, locking to the weapon keeps the whole chain together. Our SFM rigging guide explains how rigs change the controls you see.

SFM muzzle flash lock diagram showing the weapon control dragged onto the controlPoint0 lock box so the flash follows the barrel
SFM muzzle flash lock diagram showing the weapon control dragged onto the controlPoint0 lock box so the flash follows the barrel.

Time One Flash per Shot

Most muzzle flash systems are built to fire once. They are bursts, not loops. So each shot needs its own particle system with its own start time.

  • Find the frame where each shot fires. Scrub slowly, one frame at a time. Community users note that a flash lasts only a few frames and is easy to skip past.
  • Set the start time a frame or two before that frame. This community workaround helps the flash appear on the right frame.
  • For an automatic weapon, add a separate system for each shot. Space the start times 3 to 4 frames apart, then adjust the gap to match the fire rate you want.
  • Keep each lifetime short, so neighboring flashes never blur into one smear.
SFM muzzle flash timing timeline with one particle system per shot every 4 frames, gunshot sounds a frame early and a light flicker curve
SFM muzzle flash timing timeline with one particle system per shot every 4 frames, gunshot sounds a frame early and a light flicker curve.

Constant Flashes for Very Fast Weapons

For very high fire rates, such as the TF2 Minigun, a constant flash can replace single shots. Community users point to muzzle_minigun_constant for this. It is a continuous system, so set the emission duration to cover the whole burst. Make the lifetime a little longer so the last particles fade out.

One community report says this system was missing some operators and initializers in their copy. Preview it in the Particle Editor first. Constant flashes are not synced to individual shots, so they suit wide or fast shots better than close-ups.

Sync the Gunshot Sound

Add the gunshot sound and place each one about a frame before the time you set for the flash. Community animators use this offset to make shots feel tight. Then play the shot at full speed and nudge any shot that feels late.

Selling the Flash With a Flickering Light

A muzzle flash particle is bright, but on its own it rarely lights the gun, the hands or the face. A short burst of light does. That is what makes a scene look lit by gunfire rather than decorated with it.

  • Create a light and place it just in front of the muzzle. Lock it to the weapon the same way as controlPoint0.
  • Give it a warm orange color and a short range, so it lights the shooter and nearby surfaces only.
  • Key the intensity to zero on the frames between shots.
  • On each shot frame, key a high intensity, then bring it back to zero within a frame or two.
  • Vary the peak a little from shot to shot. Identical spikes look mechanical.

Spikes are easier to shape in the Graph Editor than in the Motion Editor. If curves are new to you, start with our SFM Motion Editor and Graph Editor guide. Also test whether the flash light needs shadows at all. A bright, unshadowed light is often enough for a single frame, and it renders faster.

Using Workshop Particles

The Steam Workshop offers custom particle packs that go far beyond the stock TF2 effects. After you subscribe, community users report that the files land in SourceFilmmaker\game\workshop\particles. Browse there in the particle system dialog, just as you would for game files. Our guide to importing SFM models from the Steam Workshop covers subscribing and finding downloaded content.

  • Read the item description first. Many packs list their exact system names.
  • Preview each effect in the Particle Editor before you build a shot around it.
  • Test a render with motion blur early. Community users report that some Workshop particles break when motion blur is on.

Full SFM Muzzle Flash Workflow, Step by Step

This walkthrough assumes a character holding a weapon and a shot camera that is already framed.

01

Animate the weapon first

Finish the body and weapon motion, so the firing frames will not move later.

02

Mark each shot frame

Scrub slowly and note every frame where the weapon fires.

03

Add the first flash

Create an animation set for a new particle system and pick a flash from muzzle_flash.pcf.

04

Place and lock it

Move controlPoint0 to the barrel tip, aim it along the barrel, then lock it to the weapon.

05

Set its times

Start it a frame or two before the shot frame and keep the lifetime short.

06

Repeat for every shot

Add one system per shot, spaced to match the fire rate, often 3 to 4 frames apart.

07

Add sound and light

Place each gunshot about a frame early and key a flickering light on every shot frame.

08

Run a test render

Render the section with your final motion blur settings and fix any missing flashes.

Troubleshooting SFM Particles

Most particle problems come down to time, visibility or position. Work through the checks in order before you rebuild anything.

SFM particles not showing troubleshooting flowchart checking timing, shot and visibility, viewport refresh, camera view and motion blur
SFM particles not showing troubleshooting flowchart checking timing, shot and visibility, viewport refresh, camera view and motion blur.

If an effect stops partway, it usually ran out of emission duration or lifetime. Some systems also have a freeze setting that halts the simulation after a set number of seconds, so check it in the Particle Editor. If an effect looks smeared or doubled only in the export, render one frame with motion blur off. A clean result points to an effect that does not handle motion blur well.

ProblemLikely causeFix
Effect never appearsPlayhead is outside the start and end timesScrub past the start time or edit the times
Appears only after scrubbingThe viewport has not refreshed the simulationMove the playhead off the clip and back
Missing in another shotAnimation sets belong to one shotAdd the system to that shot as well
Vanishes when the camera turnsBounding box out of view or past draw distanceKeep the effect on screen and closer to the camera
Stops partway throughEmission, lifetime or freeze time ends earlyExtend the times or check the freeze setting
Flash drifts off the guncontrolPoint0 is not lockedLock it to the weapon control
Flash lands on the wrong frameStart time equals the shot frameStart it a frame or two earlier
Smeared or broken in the exportEffect reacts badly to motion blurTest with blur off or swap the effect

Render Settings and Performance for Particle Scenes

Dense particle scenes can slow down both the viewport and the export. A few habits keep the work fast without hurting the final image.

  • Turn off motion blur and depth of field while you time effects. Switch them back on for the final export.
  • SFM uses progressive refinement to average many samples per frame for motion blur, depth of field and soft shadows. Every sample costs time, so lower the counts while testing.
  • If you edit a system, its maximum particle count caps how many particles can exist at once. Lower it on dense smoke if previews crawl.
  • Hide effects you are not working on with the eye icon in the Animation Set Editor.
  • Export an image sequence rather than a movie file, so a crash on a heavy frame does not cost the whole shot.

Our best SFM render settings guide explains sample counts and resolution in detail. When the frames are done, follow our guide to rendering SFM to MP4 to turn the image sequence into a video.

SFM Particles FAQs

How do I add particles in SFM?

In the Animation Set Editor, open the Add menu or right-click empty space and create an animation set for a new particle system. Browse to a .pcf file, pick the system name, and set the start time, emission duration and lifetime. Then move the effect into place.

Where are SFM particle files stored?

Particle systems live in .pcf files inside each game’s particles folder, such as tf/particles for Team Fortress 2 effects. Community users report that Workshop particle packs download to the SourceFilmmaker\game\workshop\particles folder.

Why is my particle effect not showing in SFM?

Check that the playhead is inside the effect’s start and end times and that the system was added to the current shot. If it still does not appear, move the playhead off the clip and back to refresh it, and make sure the effect is on screen.

How do I attach a muzzle flash to a gun in SFM?

Move the particle’s controlPoint0 to the tip of the barrel and aim it along the barrel. Then drag the weapon’s control onto the lock box beside controlPoint0 in the Animation Set Editor. The flash will follow the gun as it moves.

How do I make a muzzle flash fire more than once?

Most muzzle flash systems fire once, so add one particle system per shot and space their start times to match the fire rate. For very fast weapons, a constant system such as muzzle_minigun_constant can play for the whole burst.

Why do my particles look wrong in the final render?

Some effects, especially Workshop particles, do not handle motion blur well. Render a test frame with motion blur off. If the effect looks right, lower the blur or replace the effect for that shot.

Can I change the size or color of an SFM particle?

Yes, by editing a copy of the system in the Particle Editor. Size and color usually come from initializers, so adjust those, including any inside child systems. Working on a copy keeps the original effect intact.

Leave a Comment