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
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