- Feb 25, 2019
- 359
- 287
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.
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
Once we create a new file, or we open one, we found ourselves with 4 windows:
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:
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:
From here you can edit or add components to get different results.
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!
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.
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.
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: