PDA

View Full Version : Editting and creating new particle effects



shifty157
10-20-2005, 00:42
This thread is the result of many hours of research and experimentation.

This tutorial is for using "descr_arrow_trail_effects_final.txt" (datef) to create your own particle effects that will work in game. Please note that this research has been done using RTW 1.2. I do not know how different BI may or may not be but I would assume that it won't be very different if at all.

All effects and their properties are defined in datef. To create a new effect use the following notation:

effect name
{
(this is wear the effect will go)
}

The name can only be one word so use underscores (_) instead of spaces. Otherwise you can name effects anything you want to.

Effects can be one of four types. These are particle, explosion, ribbon, and projectile. The effects and the necessary values for each are explained below. Simply take the code and place it within the {} of your new effect.

;;;;;;;;PARTICLE
Particle types create the smoke trails that you see behind seige missiles. I have not yet found out how to have them used in any other way although i am looking into this. Regardless, Particle types, for the most part, follow the format below.

type particle
{
texture path
path to etxture to be applied
size_range min, max
size range of particles(randomly chosen value within range for each particle)(multiplied by grow values for true starting/ending sizes)
age_range min, max
time for particle to grow to max size (randomly chosen value within range for each particle)(particles will wait for others to reach max before disappearing in groups)
grow_range start, end
starting/ending size multiples(multiplied by size value for true starting/ending sizes)
velocity min, max
I noticed no difference when I editted these values
colour value, value, value
Red, Green, Blue (0 to 255)
alpha_max value
maximum alpha value (0=invisible)(larger numbers=less alpha)
emitter distance
{
density value
number of particles emitted per meter
}
fade_time value
}

;;;;;;;;;EXPLOSION
The Explosion type is used for (you guessed it) explosions. The model used will start very small and will grow and fade out. Debris can also be added to explosions. Use the following notation.

type explosion
{
;MAIN EXPLOSION
(will begin growth at the point of impact)
model path
path to model
anim_time value
time particle takes to grow and fade
max_scale value
multiplied by max_particle_scale value for true max final size
max_particle_scale value
multiplied by max_scale value for true max final size
scale_time_bias value
dictates the speed of growth. value intended to be between 0 and 1 (larger number - faster growth, explosion slows down as it grows)(smaller number - slower growth, explosion slows down as it grows)(over 1 & under 0 - explosion speeds up as it grows to an obscene size and then slows down as it shrints back to max size)(1 - no growth, always max size)(0 - no growth, invisible)
alpha_time_bias value
dictates how quickly the particle fades. value intended to be between 0 and 1 (smaller number - starts fading later and fading accelerates)(larger number - starts fading sooner and fading deccelerates)(over 1 & under 0 - fades in, odd flickering, does not fade out)(1 - invisible)(0 - no fading)
;DEBRIS
(will originate at the point of impact and be launched realisticly in regards to the angle of the surface struck)(debris will always disappear upon contact with the ground regardless of its lifetime value)
debris_model path
path to debris model
debris_num_particles value
number of particles
debris_lifetime_range min, max
debris time in the air (value randomly chosen for each particle within range)(large numbers result in higher angles of launch)
debris_emit_angle value
angle in degrees to either side of direction of trajectory which the debris will go (numbers larger than 180 or smaller than 0 are redundant and unnecessary)
debris_time_bias value
value intended to be between 0 and 1 (larger number - particles will fade in air)
debris_velocity_range min, max
velocity which the debris is emitted
debris_scale_range min, max
size range for particles
}

;;;;;;;;;RIBBON
A ribbon is a single particle that will follow a projectile. Ribbons have a set length.

type ribbon
{
alpha_max value
Alpha value at start of ribbon
alpha_min value
Alpha value at end of ribbon
fade_start value
Distance from camera for ribbon to fade out
fade_end value
Distance from camera for ribbon to dissappear
head_width value
ending width of ribbon
tail_width value
starting width of ribbon
texture path
path to texture to be applied to ribbon
}

;;;;;;;;;PROJECTILE
The Projectile type is used to specify a model to use for a projectile.

type projectile
{
model path
path to model
fade_time value
time for projectile to disappear after impact
}

Once you have created your new effect, you need to create an effect_set. An effect_set is simply a grouping of individual effects. Each of the effects in the effect_set will be applied simultaneously when the effect_set is called by the game. Use this notation to create an effect set. There is no limit to the number of effects you can place within an effect_set.

effect_set name
{
lod 1000
{
(name of effect 1)
(name of effect 2)
}
}

Again remember that your name can only be one word. The effect names should be the same as the name you chose for your effect.


I will be releasing a future tutorial on how to create your own effect models in 3ds max. Be aware that you cant simply use just any model for an effect. Ill get into the details of this with the next tutorial which i should hopefully write up and release fairly soon.


- shifty

Sundjata Keita
10-20-2005, 09:31
Very cool tutorial Shifty ~:cheers:

Bwian
10-28-2005, 09:32
Unfortunately, this does not seem to work for BI ~:confused:

The file structure for BI splits the arrow trail and missile files into seperate directories, and any attempt to add a new effect name just gets ignored. You can edit and change the original effects, just not add any mew ones.

I will mess about with it some more, and see if I can find a way of making it work, but so far, it looks as though there is another issue here with BI. I know it's not my code ( actually...I used one of Shifty's effects ) and it fasiled to operate at all in BI. No trail, no particle, just visible evidence that the explosion effect ( in the missile bit ) was taking effect. The visible efffects were com[pletely ignored.

Pasted EXACTLY the same code into RTW, and the thing worked as expected. The tutorial is spot on for RTW, but the BI file structure is defeating it.

Lovasìjász
01-03-2006, 23:42
Is there any progress on this? As far as I know, RTW engine does not accept new effects only lets you modify the default ones. Even if you can create , how do you trigger an effect at a specific time in the game?

you guessed it :idea2: , how would you trigger a blood particle effect to happen, which would be displayed at the time of death of a unit?

Lord Dazed & Confused
01-04-2006, 17:34
Is this the file that I would need to edit to remove the arrow trail effects ?

shifty157
01-05-2006, 22:21
Is there any progress on this? As far as I know, RTW engine does not accept new effects only lets you modify the default ones. Even if you can create , how do you trigger an effect at a specific time in the game?

you guessed it :idea2: , how would you trigger a blood particle effect to happen, which would be displayed at the time of death of a unit?


Effects can only be triggered (due to the RTW engine restrictions) when a projectile is fired and when it hits. There are a few other times (such as marching) but they wouldnt help make a blood effect.

So the only time you could have blood is with projectiles. You couldnt have any in a general melee.



Is this the file that I would need to edit to remove the arrow trail effects ?
Yes it is.

Look in the file "descr_projectiles_new.txt" and find which effect sets are referenced by the arrow projectile. Then look into this file and find the corresponding effect set and see which effects it references and delete those effects and the effect set.




For future notice. If anyone has any questions please PM to notify me that you left a post. I dont check this very often so for the quickest response PM me to tell me that you posted.

Aenarion
01-12-2006, 13:32
Great tutorial! Thanks!