Before moving to the light editor section let’s go through the particle section UI in more detail, explaining the various parameters and so on. Much of this is actually also available as in the in-editor tutorial, you access it by pressing the hat icon in the top right corner of Eden, just left of the close Eden (X) button.
There you will find the tutorials section for Emitter 3Ditor.
Let’s look at Prefs (Preferences) first before we go any further.
NOTE that when data validation is disabled you have to press enter after entering the data into the param field for it to get updated “into” the emitter. Otherwise it does nothing.
USE AT YOUR OWN RISK!
IF YOU ENTER FAULTY DATA YOU MAY CORRUPT THE TOOL’S DATABASES AND FUP YOUR SCENARIO.
Does not affect the position fine tuning with Global attached emitters, that is still controlled by Surface Snapping.
For the purposes of explaining the data you see on the tool UI, insert a single emitter and select MediumDestructionFire from the Emitter Class list. The Basic Params leaf should look like this (and flames should be emitting from the emitter):
Sprite, nTieth, FSIndex, Loop and Count:
Sprite is particle model that is used for the given particle class/effect. This also determines the texture used for the particle. nTieth, FSIndex, Loop and Count are tied with the sprite so they need to be explained as a whole here.
This is quite convoluted for the end-user: The particle texture is usually made out of small images in a row for several rows, in case of flame or explosion for example the images are basically stills of a single flame in different phases of it’s “life”. The Biki calls this “animation” meaning the animation of the particle effect. So think of a flame or explosion as an old school step animation. I will be referring to animation during the rest of this wiki so it means this.
In case of the MediumDestructionFire the effect uses the sprite called “Universal”. And it uses a texture called “universal”. Note that sometimes the name of the texture is nowhere near what the sprite name is, many of them use the same texture.
The texture “universal” looks like this:
nTieth doesn't say much. According to the Biki, the value is a coefficient of the texture size (in pixels): 2048/coef. Which still doesn’t say that much (I guess it tells the game the row height is 2048/XX pixels).
In case of “universal” the “coef” is 16, which comes from the fact that the texture is comprised of 16 frames horizontal and 16 frames vertical. This can differ between different particle sprites so basically to know what divisor to use here you have to know which texture the effect is using and how and where to find it (vanilla ones reside at \A3\data_f\particleeffects\). To know which sprite model uses which texture you have to be able to open the sprite p3d model somewhere and check what texture is applied to it.. Really really user friendly stuff this, especially since the models are binarized, meaning it’s not too simple to get them open.
However, this tool provides functionality to check the vanilla particle effect’s textures: select a sprite from the list and press CTRL + ALT + WINDOWSKEY and if the sprite has an actual texture it is shown (some sprites use procedural textures instead). To close the preview press SHIFT + ALT + WINDOWSKEY, or ESC.
FSIndex means the index (or number) of the vertical row of frames. The index number starts from 0 (zero) like with arrays, so 0 is the topmost row, 1 is the next down etc.
Count means the amount of frames to play starting from the given row of frames defined with FSIndex. In case of MediumDestructionFire the count is 32, which is two full rows, and as you can see in the image below, starting from row 10 all the next 32 frames are all of the same flame.
Loop means that the animation will loop, as in if the particle is still alive and the 32 frames is reached it will start over and will keep playing though the 32 frames until the particle dies. When the box is checked the animation will loop.
This also works in lieu of the animation discussed in Basic Params.
The animation is also affected by the lifetime of the particle, so when dealing with the animation all the following parameters play together: Sprite, nTieth, Index, Count, Loop, Lifetime, Scale and Anim Speed.
If the particle lifetime is longer than the animation and the animation is not looped the last frame of the animation is shown until the particle dies.
NOTE that the parameters you see are individual parameters for each frame.
Scroll through frames with the arrow < > buttons, add or remove frames with the + and - buttons.
NOTE that a new frame is always added as the last frame of the frame list and when removing frames it removes the last frame on the list.
Color and Emissive Color:
Self-explanatory I guess. Color gives a color to the particle on given frame. Emissive Color is used to 'light' up the particles so that they glow in the dark. The glow color is of course defined with the Emissive Color property.
Which color is being displayed and edited with the sliders is selected by checking the box next to Color or Emissive Color.
The resulting color array is shown under the respective colors.
The sliders are what they say they are. R = red, G = green, B = blue and A = alpha (transparency)
The color preview shows the color, not 100% 1:1 with actual color of the particle as Alpha has no effect to this preview..
Luminance:
Switches the alpha channel slider (A) between alpha and luminance.
Luminance determines how visible the particle is in Night Vision and Thermal Imaging.
This is the MediumdestructionFire in Thermals with 0 luminance, then with a little bit of luminance (-0.111299) and full luminance:
Alpha of course means transparency, the lower the value the more transparent the particle is.
On particles a negative value as alpha translates to particle luminance value, the lower the number the higher the luminance.
In NV the effect is really subtle though, depending on the color of the particle (lighter particle shows this effect a little better). The range of the slider is from -0.1 to -10, beyond that there seems to be no visual difference. This depends on the particle.
So, when this box is checked changing the alpha slider value changes the luminance of the particle and vice versa. It's either or, can't be both at the same time.
Color preset:
Has some “factory presets” for colors, selecting one will “insert” that color for the given frame (changes the color sliders etc). You can also save and delete your own color presets.
Deleting a preset is done by selecting the preset from the list and pressing Delete. “Factory presets” can not be deleted.
Saving a preset is simple, just use the sliders to doctor yourself a color and press Save Preset button. It will open a new sub leaf where you can (must) give a name for your preset.
Pressing Save saves the preset, Back returns you to the main Render Params leaf.
NOTE that names can only include English alphabet letters, no number as first letter of the name and only one kind of special character, underscore, is allowed.
Keyboard shortcuts:
ENTER = Save
ESC = Back
Here you can randomize some of the parameters applied in Basic Params and Render Params.
These are parameters you would apply to a particle emitter with the setParticleRandom scripting command.
Parameters you would apply to a particle emitter with the setParticleCircle scripting command.
Parameters which you would apply to particles with the setParticleFire scripting command.
Perhaps a bit dumb name for this leaf but whatever, this houses a few special attributes.
Made optional because starts a looping script on each object this is used with.
Import modules:
If the scenario in question has BI Particle effect module(s), this button becomes active.
By pressing this button you can import the module(s) into the tool. Note that the module is deleted from the scenario once it has been imported. The module is replaced with an emitter.
You can then edit those emitters the same way you can edit the emitters placed with INSERT.
Related to this, if this tool is running and you load a scenario into the editor which has the BI particle effect module(s) present the tool will ask whether you want to import them. More on this covered in Particle Editor Section -> Examples -> Import Module
Export is here if for some reason need to cook up parameters and paste them into a script instead of just placing them with this tool into the scenario. It’s is possible if you need to have the emitters do something specific with an object other than just stay on it.
To export in config/description.ext format press and hold down CTRL on your keyboard when pressing the Export button.
Import stands for “pasting” parameters from a script “into” the emitter placed with this tool.
In here you can also save and load your own parameter presets.
Export Sqf/Cfg:
Pressing this button will export the parameters shown on the “export data fields” onto the clipboard for pasting into a separate script/text file. The parameters are pasted exactly as they’re shown on the fields. By default exports in sqf format, by holding down CTRL while pressing this button will export in config format.
Export current only checkbox:
If this is checked the export button will export only the parameters shown on the fields, if it is unchecked export will export parameters for all emitters in the scenario.
Exclude light emitters means that if checked and you are exporting a set of emitters which includes a light emitter its parameters won’t get exported, as in export particle parameters only.
The horizontal list of particles below the “export fields” relates also to the emitter sets. It lists the emitters in the selected emitter set.
With this list you can scroll through the individual emitters in the given set, the “export fields” showing the currently shown emitter’s parameters.
Lock export fields disables the “auto-filling” of the export fields when selecting emitters. Handy if you wish to “paste” parameters into several different emitters/emitter sets for example. Or are just annoyed by the auto-filling..
NOTE that obviously the parameters have to be valid, no expressions of any kind are supported.
NOTE that when saving sets as presets importing them requires equal amount and equal types of emitters placed as a set in the same exact order as the saved preset set was.
NOTE that when loading a single emitter preset you can only load particle presets “into” a particle emitter.
Keyboard shortcuts:
ENTER = Save
ESC = Back
Load Preset:
Opens up a separate sub leaf for “loading” particle presets into emitters.
Presets which are emitter sets are in red color so as explained above they will need the same amount of emitters and same exact types in the same exact order in a set to load into.
So let’s say the set you save as a preset has two particle emitters and a light emitter; particle_1 – particle_2 – light_3.
To load that preset into a set the set must consist of particle emitter – particle emitter – light emitter.
You can also delete unwanted presets here, just select the preset you want to remove and press Delete.
Keyboard shortcuts:
ENTER = Load
ESC = Back
DELETE = Delete