New Particle Studio

Discussion for Level editing, modeling, programming, or any of the other technical aspects of Quake
$NulL
Posts: 100
Joined: Wed Mar 27, 2002 8:00 am

New Particle Studio

Post by $NulL »

  • Post updated on 2nd June 2011
ImageImageImage

Ok not quite done.

It appears not sleeping has turned me into a blatant liar, I've added a couple of new features. Firstly for building waterfalls, you can now make the top of the waterfall emit from the emitter quad by setting the zBase slider in Dynamics 1 to -1. This will shift the whole shader down by 100%, so the top of the waterfall is located at the emitter and not some point high above the emitter. This was originally causing problems as people had to bury the emitter deep within their brush work, to get their waterfalls in the correct location.

Secondly I've added arbitrary rotation controls for the whole system in the systems tab, so you can spin your systems into any orientation you like.

You should still be able to load in previous individual particle systems using the load button, but the multi-system settings file has changed format too much for you to be able to import older multi-system files. Sorry.

Downloads and source updated, have fun.

Download 2.0.b3
Examples
Source



Features:
  • Can make many different particle systems, such as:
    • Smoke & steam
    • Explosions & fireworks
    • Fountains & Waterfalls
    • And more.
  • Realtime 3D preview
    • Ability to load external textures.
    • Pan and zoom camera around the particle effect.
    • Toggleable showing of info_player_start for relative scale.
  • Dynamics Controls
    • Number of particles
    • Particle size
    • Height
    • Radius
    • Angle constraints around Z axis.
    • Waveform controls for Z axis and XY plane.
    • Phase grouping, aka 'spurtyness'
  • Blending controls:
    • Supports all quake 3's blend modes.
    • Full rgben control.
    • Full alphagen control.
  • Texture Dynamics:
    • Stretching
    • Rotation
  • 2.0 Additions:
    • Multi-Particle support
    • Exporting of ASE format prefab
    • Control of render sort order
    • Ability to move particle emitters around the scene

Export Guide

Once you have setup your particle system, see detailed guide below, click the export button in the lower right. If you have set a base path, then it will export to your scripts/ folder. Otherwise it will export to the folder ps2.exe is in. You will have to rename it from .txt to .shader, this is intentional so it doesnt overwrite anyones shader files.

When you load your shaders in radiant, you'll notice one shader named by the name you picked, the rest begin with 'zz' and end in a number. You should ignore the shaders begining with zz. Add your shader to one side of a brush, with the rest of its sides textured in common/nodraw.

Additionally the program can create an ASE model of the scene that you can import strait into radiant that has all sizes and positions of the emitters already set. You will given the option to export a model when you select the export button.

Make sure you add the name of the shader file to the shaderlist.txt before you compile.

Detailed Editing Guide

There are 5 tabs along the bottom: File, Dynamics 1, Dynamics 2, Blending, TcMod & Export.

Note: Right click on a slider to type in an exact value.

FILE TAB

Base Path:
Set this to your baseq3 folder, ie D:\games\quake3\baseq3. If you use the find button, select any file in your basepath.

Shader Name:
This will be the name of the shader when its exported. It must contain a path name and a shader name separated by a '/', ie 'test/name'. NOTE: If your using a foreign keyboard and cannot find '/' use space instead.

Texture Name:
The name of your texture relative to baseq3/, ie 'textures/common/caulk'.

Experimental Firework Mode:
See Section at bottom of this guide.




DYNAMICS 1 TAB

Image

# Particles:
The Number of particles in your system.

Z Waveform:
The wave form that controls motion on the z axis(up/down). Sine is good for fountains, sawtooth is good for smoke effects.

Height:
The height particles will rise to, in game units.

Natural:
When creating fountain effects it sets the height to match the frequency, so that the particles accelerate approximately at 9.81ms-2.

Var:
The variation of height in game units.

Base Var:
Variation along the Z axis of the particle's emitter.

Frequency:
The number of cycles per second.

Natural:
As above.

Phase Grouping:
Controls the 'spurtyness' of the effect. 1 is continuous flow, below 1 creates spurts, above 1 creates inverted spurts. A value like 0.1 - 0.2 is quite nice.

Master Phase:
The master phase of the whole system, most of the time you wont need to use this.

Size:
Particle size, this is just for use in the studio. The actual size in game will be the size you create your brush in radiant.




DYNAMICS 2 TAB

Image

Radius:
The distance a particle will move away from the emitter in the x/y plane.

Var:
The variation in radius, in game units.

Base Var:
Random variation along the x/y plane of the particle's emitter.

XY Waveform:
The wave function of motion in the x/y plane.

XY Phase:
Additional phase added to the xy waveform.

Start & End Angles:
Angle constraints for x/y motion.

Grouping:
Pulls the particles towards the centre angle. Doesn't work as well as I hoped.




BLENDING TAB

Image

SRC *:
Source blend option.

DST *:
Destination blend option.

RGB1 & RGB2:
For sawtooth, square and inverse sawtooth waves, these set the initial and final vertex rgb values. For sine and triangle waves, these set the base and amplitude of the wave function respectively.

Wave:
Waveform option.

Phase:
Phase for the rgbgen waveform.

Alphagen controls are the same.




TcMod TAB

Scale1 & 2:
For sawtooth, square and inverse sawtooth waves, these set the initial and final tcMod stretch values. For sine and triangle waves, these set the base and amplitude of the wave function respectively.

Wave:
Waveform option. Sawtooth or disabled are probably the only options you will need.

Phase:
Phase for the TcMod stretch waveform.

Rotate Speed:
The speed at which the texture rotates. degrees/second

Var:
The variance in rotation speed.




SYSTEMS TAB

Active:
The active buttons activate, select and disable particle systems. To enable a system click on a grey button; this system will now become your active edit. To disable a system, select the system then click the active button again.

Name
The name of the particle systems.

Sort
The q3 render sort order of the system. The default setting of 0 doesn't set a sort order in the shader.

XYZ
The X/Y/Z sliders move the particle emitter around the scene. The sliders go between ± 512, but you can specify a larger value by right clicking the slider.



Experimental Firework Mode
This mode allows the creation of realistic explosions. To create an explosion effect, set both Z Waveform and X/Y Waveform to Sawtooth. Set the height to 0, but the height variance to the same as the radius (256 to match default radius). Set the phase grouping to a very low number, so the particles all emit at the same time. You will notice that if firework mode is off, the particles explode in a cylindrical shape, rather than a sphere.

NulL



------------------------------------------------------------------------------------------------------------

Hello yet again!

I've been rather slack with keeping you updated, and the program updated for that matter. Since last time I've added some of the suggestions that have been made. The export button brings up a save dialog so you can name the shader file anything you want. The save buttons now ask before overwriting an existing file. I've implemented a multi-system load and save, you can minimize the window or pause the program by hitting F5, if you want your cpu back :) The timer also resets when you click on it, which is useful if you want to do multi-system explosions and similar. There is an 800x600 and 1024x768 version, a real programmer would have just let you scale the window, but no ones ever been foolish enough to confuse me with a real programmer :)

Have fun

------------------------------------------------------------------------------------------------------------
Hi

I've added everything I think is needed, so I'm going it call this final. Ive added the ability to save/load settings. Also every slider's value can be manually typed in by right clicking on it to open an edit dialog. I didn't get round to picking a new name, with apologies.

Download 1.0
Mirror
------------------------------------------------------------------------------------------------------------

Hi

Beta 2 is ready, I've added a few of the things people have outlined below; not all yet though.

Download beta 0.2

ADDED:
  • Browse buttons for base path & texture path.
  • Background Colour Picker
  • Ability to show relative player size (red info_player_start box)
  • TcMod Tab
  • -- TcMod Stretch Controls
  • -- TcMod Rotate Controls


UPDATED:
  • Export Code no longer dependent on pak0.pk3, so it should work correctly for mods.
  • Height and radius variance code changed.
  • Drop-down lists no longer fall off the screen.


STILL TODO:
  • Loading and Saving settings.
  • Allow users to type in slider values.
  • I'm going to reduce the floating point slider precision.
  • I'll consider an alternative name.




------------------------------------------------------------------------------------------------------------


Hi

This is beta 1 of my quake3 engine particle studio. I still have some functionality to add, such as a tcMod tab for stretching and rotating textures.

Download beta 0.1

Things still todo:

  • Add Functionality to control tcMod stretch.
  • Add Functionality to control tcMod rotate.
  • I'm going to rewrite the variance code for height and radius.
  • I may add the option of allowing a background image to be loaded.
Last edited by $NulL on Thu Jun 02, 2011 9:08 pm, edited 15 times in total.
squirell man
Posts: 61
Joined: Sat Jan 13, 2007 10:10 pm

Re: New Particle Studio

Post by squirell man »

How lovely!

$null pwns!
obsidian
Posts: 10970
Joined: Mon Feb 04, 2002 8:00 am

Re: New Particle Studio

Post by obsidian »

Awesome. I'll try it out and have some feedback as soon as I have any. :up:
[size=85][url=http://gtkradiant.com]GtkRadiant[/url] | [url=http://q3map2.robotrenegade.com]Q3Map2[/url] | [url=http://q3map2.robotrenegade.com/docs/shader_manual/]Shader Manual[/url][/size]
a13n
Posts: 1672
Joined: Thu Feb 10, 2005 2:08 am

Re: New Particle Studio

Post by a13n »

incredible!
Grenader
Posts: 202
Joined: Sun Oct 08, 2006 11:38 am

Re: New Particle Studio

Post by Grenader »

This looks amazing ;>

Runs perfect in wine too :D

Now to see if they actually look that awesome in-game... :O
User avatar
Hipshot
Posts: 1538
Joined: Sun Jan 20, 2002 8:00 am

Re: New Particle Studio

Post by Hipshot »

This was really cool. The output code seems a lot more smooth than of the old particle studio.

One thing, I maybe it could be possible to have some kind of in game world relation of sizes, I mean, like being able to show the red cube (player_start) or similar next to the particle or something...

And to be able to use textures in the editor so that you can see directly almost how it will look without starting the game =)
Q3Map2 2516 -> http://www.zfight.com/misc/files/q3/q3map_2.5.16_win32_x86.zip
Q3Map2 FS_20g -> http://www.zfight.com/misc/files/q3/q3map2_fs_20g.rar
GtkRadiant 140 -> http://www.zfight.com/misc/files/q3/GtkRadiantSetup-1.4.0-Q3RTCWET.exe
$NulL
Posts: 100
Joined: Wed Mar 27, 2002 8:00 am

Re: New Particle Studio

Post by $NulL »

Hipshot wrote:One thing, I maybe it could be possible to have some kind of in game world relation of sizes, I mean, like being able to show the red cube (player_start) or similar next to the particle or something...
Yeah, Ive been thinking about this too. Will add to next version.

Hipshot wrote:And to be able to use textures in the editor so that you can see directly almost how it will look without starting the game =)
You can, but it wont load images inside pk3 files. If you've set the base path and texture path, it should load your image automatically.
obsidian
Posts: 10970
Joined: Mon Feb 04, 2002 8:00 am

Re: New Particle Studio

Post by obsidian »

Still testing, so more feedback on the way. I'm still trying to understand what everything does and what it relates to back in the shader. Awesome work though. Here are a few of my initial thoughts:

I don't think it needs a background texture loader, just a colour picker will do.

Type in dialogs for some of the slider values (so you can type in specific figures), it's hard to get that slider right where you want it.

Import menu to open existing particle shader files.

Browse button on the file tab so you can just navigate to the directories and texture files.

Ability to specify and store a default base path so you don't have to type it in every single time... or maybe just use the last used base path when starting up the program.

Blending > Alpha Wave function drop down menu falls below the window's edge, so you can't see the last two options in the drop down menu.

The generated shader's qer_editorImage and map values seem to always be textures/common/caulk.tga


It also doesn't seem to load my texture (32-bit TGA). I'm working in a mod directory.
BASE PATH: D:/gamedev/quake3/blastburn
SHADER NAME: textures/obsidian_particles/smoke
TEXTURE NAME: textures/obsidian_particles/smoke
[size=85][url=http://gtkradiant.com]GtkRadiant[/url] | [url=http://q3map2.robotrenegade.com]Q3Map2[/url] | [url=http://q3map2.robotrenegade.com/docs/shader_manual/]Shader Manual[/url][/size]
User avatar
Hipshot
Posts: 1538
Joined: Sun Jan 20, 2002 8:00 am

Re: New Particle Studio

Post by Hipshot »

The UI doesn't seem to work with my keyboard, that's not good, I can't set a path for anything since it won't find : and \ I tried c/p didn't work either. It could be good if the app could adapt to every layout like other apps do (using a Swedish kb here - yes I tried typing as I would in english, I found : where I have ö but not the \ which usually is besides / right?)
Q3Map2 2516 -> http://www.zfight.com/misc/files/q3/q3map_2.5.16_win32_x86.zip
Q3Map2 FS_20g -> http://www.zfight.com/misc/files/q3/q3map2_fs_20g.rar
GtkRadiant 140 -> http://www.zfight.com/misc/files/q3/GtkRadiantSetup-1.4.0-Q3RTCWET.exe
User avatar
Hipshot
Posts: 1538
Joined: Sun Jan 20, 2002 8:00 am

Re: New Particle Studio

Post by Hipshot »

To be honest I don't really need it, I can just replace the paths in the shader later, but if other peeps really want it.
Q3Map2 2516 -> http://www.zfight.com/misc/files/q3/q3map_2.5.16_win32_x86.zip
Q3Map2 FS_20g -> http://www.zfight.com/misc/files/q3/q3map2_fs_20g.rar
GtkRadiant 140 -> http://www.zfight.com/misc/files/q3/GtkRadiantSetup-1.4.0-Q3RTCWET.exe
$NulL
Posts: 100
Joined: Wed Mar 27, 2002 8:00 am

Re: New Particle Studio

Post by $NulL »

obsidian wrote:I don't think it needs a background texture loader, just a colour picker will do.
I can add 3 sliders for red, green and blue easy enough.
obsidian wrote:Type in dialogs for some of the slider values (so you can type in specific figures), it's hard to get that slider right where you want it.
Yeah, this will almost certainly be added at some point. You can nudge sliders now with the arrow buttons, for fine tuning.
obsidian wrote:Import menu to open existing particle shader files.
Reading back from an actual shader file would probably be a disaster, but i can write/read a file that holds all the current settings.
obsidian wrote:Browse button on the file tab so you can just navigate to the directories and texture files.
I will defiantly do this, it should solve hipshot's problems also.
obsidian wrote:Ability to specify and store a default base path so you don't have to type it in every single time... or maybe just use the last used base path when starting up the program.
Yeah, saving the last used basepath can be done.
obsidian wrote:Blending > Alpha Wave function drop down menu falls below the window's edge, so you can't see the last two options in the drop down menu.
I'll see what I can do. Again you can use the arrows for now ;)
obsidian wrote:The generated shader's qer_editorImage and map values seem to always be textures/common/caulk.tga
Thats odd, I though I had it setup to only use caulk if the texture path field was empty. Ill look into it.
obsidian wrote:It also doesn't seem to load my texture (32-bit TGA). I'm working in a mod directory.
BASE PATH: D:/gamedev/quake3/blastburn
SHADER NAME: textures/obsidian_particles/smoke
TEXTURE NAME: textures/obsidian_particles/smoke
Ahh, i have it setup to only recognize paths containing pak0.pk3, this is probably a mistake.


Thanks for the rundown, I'll get working on fixes.
^misantropia^
Posts: 4022
Joined: Sat Mar 12, 2005 6:24 pm

Re: New Particle Studio

Post by ^misantropia^ »

Out of curiosity, what is it written in?
$NulL
Posts: 100
Joined: Wed Mar 27, 2002 8:00 am

Re: New Particle Studio

Post by $NulL »

C++ / OpenGL
obsidian
Posts: 10970
Joined: Mon Feb 04, 2002 8:00 am

Re: New Particle Studio

Post by obsidian »

BTW, you should probably call it something else other than Particle Studio, which adds to the confusion of Particle Studio by Digimation, and the original Q3A Particle Studio.

Particle Lab?
Petrifying Pixel Particle Preview Popper Program?
[size=85][url=http://gtkradiant.com]GtkRadiant[/url] | [url=http://q3map2.robotrenegade.com]Q3Map2[/url] | [url=http://q3map2.robotrenegade.com/docs/shader_manual/]Shader Manual[/url][/size]
User avatar
Hipshot
Posts: 1538
Joined: Sun Jan 20, 2002 8:00 am

Re: New Particle Studio

Post by Hipshot »

Particle Arena =)
Q3Map2 2516 -> http://www.zfight.com/misc/files/q3/q3map_2.5.16_win32_x86.zip
Q3Map2 FS_20g -> http://www.zfight.com/misc/files/q3/q3map2_fs_20g.rar
GtkRadiant 140 -> http://www.zfight.com/misc/files/q3/GtkRadiantSetup-1.4.0-Q3RTCWET.exe
a13n
Posts: 1672
Joined: Thu Feb 10, 2005 2:08 am

Re: New Particle Studio

Post by a13n »

Just a few thoughts.
1. Particle Generator
2. Particle Manipulator
3. Particle Configurator
rgoer
Posts: 798
Joined: Sun Aug 17, 2003 7:00 am

Re: New Particle Studio

Post by rgoer »

"$NulLParticle"

also, cool tool :up:
User avatar
seremtan
Posts: 36007
Joined: Wed Nov 19, 2003 8:00 am

Re: New Particle Studio

Post by seremtan »

cool! btw Q3 isn't the only game crying out for a WYSIWYG 'emitter' maker. UT2/3?
$NulL
Posts: 100
Joined: Wed Mar 27, 2002 8:00 am

Re: New Particle Studio

Post by $NulL »

Hi

Beta 2 is ready, I've added a few of the things outlined above; not all yet though.

Download

ADDED:
  • Browse buttons for base path & texture path.
  • Background Colour Picker
  • Ability to show relative player size (red info_player_start box)
  • TcMod Tab
  • -- TcMod Stretch Controls
  • -- TcMod Rotate Controls
UPDATED:
  • Export Code no longer dependent on pak0.pk3, so it should work correctly for mods.
  • Height and radius variance code changed.
  • Drop-down lists no longer fall off the screen.
STILL TODO:
  • Loading and Saving settings.
  • Allow users to type in slider values.
  • I'm going to reduce the floating point slider precision.
  • I'll consider an alternative name.
$NulL
Posts: 100
Joined: Wed Mar 27, 2002 8:00 am

Re: New Particle Studio

Post by $NulL »

Hi

I've added everything I think is needed, so I'm going it call this final. Ive added the ability to save/load settings. Also every slider's value can be manually typed in by right clicking on it to open an edit dialog. I didn't get round to picking a new name, with apologies.

Download

Source:
Dev-C++
Visual Studio 2008
fKd
Posts: 2478
Joined: Sat Jun 03, 2006 2:54 am
Location: Wellington
Contact:

Re: New Particle Studio

Post by fKd »

this is fantastic! i just added some smoke to my level and it looks great. good job
Grenader
Posts: 202
Joined: Sun Oct 08, 2006 11:38 am

Re: New Particle Studio

Post by Grenader »

Screenshots gone? Download gone?
Silicone_Milk
Posts: 2237
Joined: Sat Mar 12, 2005 10:49 pm

Re: New Particle Studio

Post by Silicone_Milk »

massive bump
obsidian
Posts: 10970
Joined: Mon Feb 04, 2002 8:00 am

Re: New Particle Studio

Post by obsidian »

Someone didn't pay his bills.
[size=85][url=http://gtkradiant.com]GtkRadiant[/url] | [url=http://q3map2.robotrenegade.com]Q3Map2[/url] | [url=http://q3map2.robotrenegade.com/docs/shader_manual/]Shader Manual[/url][/size]
User avatar
Hipshot
Posts: 1538
Joined: Sun Jan 20, 2002 8:00 am

Re: New Particle Studio

Post by Hipshot »

obsidian wrote:Someone didn't pay his bills.
levelmakers joke?
Q3Map2 2516 -> http://www.zfight.com/misc/files/q3/q3map_2.5.16_win32_x86.zip
Q3Map2 FS_20g -> http://www.zfight.com/misc/files/q3/q3map2_fs_20g.rar
GtkRadiant 140 -> http://www.zfight.com/misc/files/q3/GtkRadiantSetup-1.4.0-Q3RTCWET.exe
Post Reply