[Guide] Particles 101

Lacry

L6: Sharp Member
Feb 25, 2019
339
253
This is a super short guide about particles I made for myself and I felt like sharing it here. Most of this has been taken from VDC, so go there for more information. Keep in mind this is super short, so I won't go in detail about the stuff i mention.

Getting started​

To open the Particle Editor you have to run your game with -tools -nop4 on the command line.
Start the game and now it will look completely different, go to Tools > Particle Editor, and at last go to File > New, to create a new particle collection.
If you want, you can save the particle file now, remember that you have to place your custom particles in tf/custom/"Any name you want"/particles

Interface​

Once we create a new file, or we open one, we found ourselves with 4 windows:
1. Particle Browser: This is a list of all the particles that are inside the PCF file.​
2. Engine Viewport: Shows how the particles looks in game, but it’s hard to set up (I wasn't able to do it lol)​
3. Properties: Here you can set the properties of the particle (this is where you spent most of the time)​
4. Preview: A preview of the particle.​

Interface.png



Making a Particle​

To create a particle we go to the Particle Browser, select create, and we enter a name. Now we go to the properties window and we notice that a lot of things have been added, and now we can click on the Properties box and we’ll see that we have different components to create the particle:
Properties: Define the properties of the particles. The most important ones are:
Max Particles:The maximum number of particles that will display.​
Initial Particles: The number of particles that are created from the start.​
Material: The material of the particle.​
Renderer: Define how your particles get drawn. There is 4 types:
Render Animated Sprites: Renders floating animated sprites.​
Render Rope: Renders all particles in the system into one continuous “rope”.​
Render Screen Velocity Rotate: Renders each particle’s rotation according to their direction of movement.​
Render Sprite Trail: Renders animated sprites with their length of trails based on their velocity.​
Operator: Carry out a function upon each particle for every frame that it exists. The ones I find the most useful:
Alpha Fade and Decay: Fades a particle’s alpha value to specified values over a specified time, then kills the particle.​
Color Fade: Fades the color of a particle to a target color over a given amount of time.​
Cull when crossing sphere: Prevents particles from existing beyond this sphere.​
Lifespan Decay: Deletes a particle when its lifespan expires.​
Movement Basic: Allows for basic movement of the particle through space.​
Movement Rotate Particle Around Axis: Rotates all active particles around a given axis.​
Radius Scale: Scales the radius of the particle over time.​
Rotation Spin Roll: Adds rotational spin to individual particles​
Rotation Spin Yaw: Adds rotational spin to individual particle’s yaw axis.​
Initializer: Set up the starting state for each particle that is created. The ones I find the most useful:
Alpha Random: Applies a random alpha value from 0 to 255.​
Color Random: Causes each particle’s color to be picked from a specified range of values​
Lifetime Random: Sets the lifetime of a particle within a given range.​
Position Within Sphere Random: Initializes the particles inside of a sphere with a certain speed.​
Radius Random: Initializes the particles with a random radius.​
Rotation Random: Randomly offsets the particle a certain number of degrees.​
Emitter: Define how many particles are created over what period of time. There is 3 types:
Emit Noise: Emits particles over a specified period of time.​
Emit Continuously: Emits particles continuously over a specified period of time.​
Emit Instantaneously: Emits particles in one instantaneous burst.​
Children: Allows you to use multiple particles in the same one, this is good for complex particles.
ForceGenerator: Forces are a variation on operators that affect motion of the particle.
Constraint: Prevent particles from passing through certain areas.

Don’t worry if you dont understand this, basically what you need to know is that in order to create a basic particle you need:
Properties > Select any material you want
Renderer > Render Animated Sprites
Emitter > Emit Continuously
Initializer > Position Within Sphere Random (with a bigger distance_max)
Operator > Movement Basic (with gravity set) + Alpha Fade and Decay

From here you can edit or add components to get different results.

Particle Result.gif


Conclusion​

I hope this super quick guide was helpful, obviously this is just a start, now it’s up to you to try out all sort of things here to create an amazing particle. Also you can always check the game particles to see how they work and use it as reference for your own particles.

Also if you have any suggestions in how to improve this guide, please let me know!
 
Last edited:

heyyou

L4: Comfortable Member
Aug 19, 2009
191
121
Thanks for this. Where do you place the particles once you are done or does that matter anymore? Just pack them in, doesn't matter where they are stored? Thanks.
 

Lacry

L6: Sharp Member
Feb 25, 2019
339
253
Thanks for this. Where do you place the particles once you are done or does that matter anymore? Just pack them in, doesn't matter where they are stored? Thanks.
Oooops, forgot to say that, the particle file has to be stored in tf/custom/"Any name you want"/particles, and that's it.

Note: You have to create a particle file for your map of course, writting down the particles used in the map.
 
Last edited: