Strobe Modding
Welcome to our site! Please take a moment to register or if you already have an account, LOG IN now.

 
 
HomeCalendarGalleryFAQSearchMemberlistUsergroupsRegisterLog in

Share | 
 

 [TUT] How To Create Particle Effects

View previous topic View next topic Go down 
AuthorMessage
Reckless
Admin
avatar

Posts : 74
Join date : 2012-03-19
Age : 22
Location : Los Angeles, CA

PostSubject: [TUT] How To Create Particle Effects   Fri Mar 23, 2012 2:17 pm

Hello there... as I said, here is the tut for creating new particle effects, I will explain also the structure of them (or well, the parameters)

You need to know how to export 2dfx with DexX script, I wont explain it here...


So first, open your effects.fxp file that is in models folder. that file can be opened with notepad and such, lets copy one of the existing files, I used PRT_sand.

Copy from the start to the end, It usually starts on:
Code:


[table border=0 cellSpacing=1 cellPadding=3 width="95%" align=center]

[tr]
[td][b]CODE[/b] [/td][/tr]
[tr]
[td id=CODE]FILENAME: X:\SA\FxTools\Data\effects\gta_pc\particles/prt_sand.fxs
NAME: prt_sand[/td][/tr][/table]

and end with:
Code:


[table border=0 cellSpacing=1 cellPadding=3 width="95%" align=center]

[tr]
[td][b]CODE[/b] [/td][/tr]
[tr]
[td id=CODE]LODSTART: 30.000
LODEND: 50.000
OMITTEXTURES: 0
TXDNAME: NOTXDSET

FX_SYSTEM_DATA:
109[/td][/tr][/table]
Paste it where you want, just be sure it doesnt 'cut' any other particle system, then rename it to your one:
Code:



[table border=0 cellSpacing=1 cellPadding=3 width="95%" align=center]

[tr]
[td][b]CODE[/b] [/td][/tr]
[tr]
[td id=CODE]FILENAME: X:\SA\FxTools\Data\effects\gta_pc\particles/prt_JV.fxs
NAME: prt_JV[/td][/tr][/table]

Notice: The filename is ignored, its a path on R*s network disk but can help for identifying the particle system.

Now you have your particle system created, nice. lets spawn it then edit.

Go to your 3d max script folder, and find the SAparticle.ini: open it with notepad or any of those and search for:

Code:



[table border=0 cellSpacing=1 cellPadding=3 width="95%" align=center]

[tr]
[td][b]CODE[/b] [/td][/tr]
[tr]
[td id=CODE]
numparticlesys=82[/td][/tr][/table]
Thats the number of particle systems in the game, so just change it to 83

Search again for [particlesystems], you will see a list of particle effects, go to the end and add your one:
Code:


[table border=0 cellSpacing=1 cellPadding=3 width="95%" align=center]

[tr]
[td][b]CODE[/b] [/td][/tr]
[tr]
[td id=CODE]psys83=prt_JV[/td][/tr][/table]

Done. save the ini and launch 3d Studio Max, now you will see your effect in the particle rollout you should go test it so you're sure it worked.

I will explain now the structure of the particle system....

Code:


[table border=0 cellSpacing=1 cellPadding=3 width="95%" align=center]

[tr]
[td][b]CODE[/b] [/td][/tr]
[tr]
[td id=CODE]FILENAME: X:\SA\FxTools\Data\effects\gta_pc\particles/prt_JV.fxs
NAME: prt_JV
LENGTH: 5.000
LOOPINTERVALMIN: 0.000
LENGTH: 5.000
PLAYMODE: 2
CULLDIST: 50.000
BOUNDINGSPHERE: 0.0 0.0 0.0 0.0
NUM_PRIMS: 1
FX_PRIM_EMITTER_DATA:[/td][/tr][/table]
filename and name explained before. Those lenghts parameters and loop I dont know what are... I tried changing playmode without any effect and same with culldist. NUM_PRIMS looks like the number of particle effects in each system (you can have more than one, like over explosions you have the fire and the dark smoke)

Code:
 
[table border=0 cellSpacing=1 cellPadding=3 width="95%" align=center]

[tr]
[td][b]CODE[/b] [/td][/tr]
[tr]
[td id=CODE]FX_PRIM_BASE_DATA:
NAME: ParticleEmitter
MATRIX: 1.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000
TEXTURE: fireball
TEXTURE2: NULL
TEXTURE3: NULL
TEXTURE4: NULL
ALPHAON: 1
SRCBLENDID: 4
DSTBLENDID: 5[/td][/tr][/table]
I dont know what is the matrix for, not the position/rotation.
DexX explained to me sometime ago something about the textures.. I dont remember well, its just texture used, they are in effectsPC.txd in your models folder, dont know if it can load from other TXDs
The alphaon parameter is easy: if 1, alpha loaded, if 0: no alpha
http://i144.photobucket.com/albums/r161/Jo.../noalphalol.jpg (http://i144.photobucket.com/albums/r161/JostVice/noalphalol.jpg)

the two 'blendid' parameters looks like D3d blend types:
http://msdn2.microsoft.com/en-us/library/b...508(VS.85).aspx (http://msdn2.microsoft.com/en-us/library/bb172508(VS.85).aspx)
Code:


[table border=0 cellSpacing=1 cellPadding=3 width="95%" align=center]

[tr]
[td][b]CODE[/b] [/td][/tr]
[tr]
[td id=CODE]NUM_INFOS: 6
FX_INFO_EMLIFE_DATA:
LIFE:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 1
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 9.000
BIAS:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 1
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 5.000[/td][/tr][/table]
Thats the 'life' of the particle (time in ms for the particle to be killed (usually it fades))
For example this effect are 9000 ms, I dont know what is the bias for.
Code:


[table border=0 cellSpacing=1 cellPadding=3 width="95%" align=center]

[tr]
[td][b]CODE[/b] [/td][/tr]
[tr]
[td id=CODE]FX_INFO_EMROTATION_DATA:
ANGLEMIN:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 1
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 0.000
ANGLEMAX:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 1
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 360.000[/td][/tr][/table]
Thats the rotation of the texture (in degress)
Code:


[table border=0 cellSpacing=1 cellPadding=3 width="95%" align=center]

[tr]
[td][b]CODE[/b] [/td][/tr]
[tr]
[td id=CODE]FX_INFO_FORCE_DATA:
TIMEMODEPRT: 1
FORCEX:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 1
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 0.050
FORCEY:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 1
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 0.000
FORCEZ:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 1
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 0.150[/td][/tr][/table]
The force is the direction of the particle. You can check here that a X force of 0.050 and a Z force of 0.150 make this:
You can also change the 'force' via time. Just increase the num_keys
Code:
 
[table border=0 cellSpacing=1 cellPadding=3 width="95%" align=center]

[tr]
[td][b]CODE[/b] [/td][/tr]
[tr]
[td id=CODE]FX_INFO_ROTSPEED_DATA:
TIMEMODEPRT: 1
MINCW:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 1
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 50.000
MAXCW:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 1
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 100.000
MINCCW:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 1
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 50.000
MAXCCW:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 1
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 100.000[/td][/tr][/table]

Thats the rotation speed, I didnt test with it yet.

Code:
 
[table border=0 cellSpacing=1 cellPadding=3 width="95%" align=center]

[tr]
[td][b]CODE[/b] [/td][/tr]
[tr]
[td id=CODE]FX_INFO_COLOUR_DATA:
TIMEMODEPRT: 1
RED:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 4
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 255.000
FX_KEYFLOAT_DATA:
TIME: 0.100
VAL: 255.000
FX_KEYFLOAT_DATA:
TIME: 0.600
VAL: 255.000
FX_KEYFLOAT_DATA:
TIME: 0.900
VAL: 0.000
GREEN:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 4
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 255.000
FX_KEYFLOAT_DATA:
TIME: 0.100
VAL: 215.000
FX_KEYFLOAT_DATA:
TIME: 0.600
VAL: 210.000
FX_KEYFLOAT_DATA:
TIME: 0.900
VAL: 0.000
BLUE:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 4
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 255.000
FX_KEYFLOAT_DATA:
TIME: 0.100
VAL: 84.000
FX_KEYFLOAT_DATA:
TIME: 0.600
VAL: 0.000
FX_KEYFLOAT_DATA:
TIME: 0.900
VAL: 0.000
ALPHA:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 4
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 0.000
FX_KEYFLOAT_DATA:
TIME: 0.100
VAL: 255.000
FX_KEYFLOAT_DATA:
TIME: 0.600
VAL: 0.000
FX_KEYFLOAT_DATA:
TIME: 0.900
VAL: 0.000[/td][/tr][/table]
Thats the code (in RGB) and alpha. Check that they are on 'frames' as in time 0.000 there is an value and in 0.600 another one.

Code:
 
[table border=0 cellSpacing=1 cellPadding=3 width="95%" align=center]

[tr]
[td][b]CODE[/b] [/td][/tr]
[tr]
[td id=CODE]FX_INFO_SIZE_DATA:
TIMEMODEPRT: 1
SIZEX:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 2
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 0.500
FX_KEYFLOAT_DATA:
TIME: 1.000
VAL: 3.000
SIZEY:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 2
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 0.500
FX_KEYFLOAT_DATA:
TIME: 1.000
VAL: 3.000
SIZEXBIAS:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 2
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 0.500
FX_KEYFLOAT_DATA:
TIME: 1.000
VAL: 1.500
SIZEYBIAS:
FX_INTERP_DATA:
LOOPED: 0
NUM_KEYS: 2
FX_KEYFLOAT_DATA:
TIME: 0.000
VAL: 1.000
FX_KEYFLOAT_DATA:
TIME: 1.000
VAL: 1.500[/td][/tr][/table]

The size of particle effect, you can also change the value via the time like in color and force so you have that at the start its pretty small and then get bigger.

Well, i'm done. I hope I didnt miss something and that all was clear, anyway if need help or you foind that i'm wrong on something i will like to know

_________________


Strobe Modding Owner/Founder Arrow Forum Head Administrator
Click the spoiler for an insta-boner. (56k ALERT!!)
Spoiler:
 

Back to top Go down
http://strobemodding.nstars.org
 
[TUT] How To Create Particle Effects
View previous topic View next topic Back to top 
Page 1 of 1
 Similar topics
-
» CREATE a new battlenet account?
» Looking for someone to create a logo...
» Terrain Texture Links & Interesting Effects
» After Effects Tutorial - Organic Cell Edges
» Create a semitransparent object - Creare un oggetto semitrasparente

Permissions in this forum:You cannot reply to topics in this forum
Strobe Modding :: GTA SA Modding :: GTA SA Tool Box-
Jump to: