ParticleTemplates: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "[[Image:" to "[[File:")
 
(16 intermediate revisions by 5 users not shown)
Line 1: Line 1:
=Introduction=
{{TOC|side|0.9}}{{Feature|obsolete|For later titles ({{arma2}}, {{arma3}}), see {{Link|Particles Tutorial#Full examples}}.|arma2|1.00}}
Listed on this page are several basic particle effects, that can be used as they are, or as templates for further customization.
Listed on this page are several basic particle effects, that can be used as they are, or as templates for further customization.


To use these examples a variable named <tt>_OBJ</tt> has to exist, which points to an in-game object (a Game Logic, for example) to define the location of the effect.
To use these examples a variable named {{hl|_OBJ}} has to exist, which points to an in-game object (a Game Logic, for example) to define the location of the effect.
_OBJ = GameLogicOne;
<sqf>_OBJ = GameLogicOne;</sqf>
In addition, a particle source has to be defined:
In addition, a particle source has to be defined:
_PS = "#particlesource" createVehicleLocal getpos _OBJ;
<sqf>_PS = "#particlesource" createVehicleLocal getPos _OBJ;</sqf>
After this the following commands can then be used.
After this the following commands can then be used.




==BIS Burning Vehicle Fire Look-Alike==
== BIS Burning Vehicle Fire Look-Alike ==
[[Image:PE_BurningVehicleLookAlike.jpg|left|100px]]
 
[[File:PE_BurningVehicleLookAlike.jpg|left|100px]]
This one requires 3 particle sources, 1 for the fire and 2 smokes.  They should all be attached to the same object.
This one requires 3 particle sources, 1 for the fire and 2 smokes.  They should all be attached to the same object.


Fire:
Fire:
_PS1 setParticleCircle [0, [0, 0, 0]];
<sqf>
_PS1 setParticleRandom [0.2, [1, 1, 0], [0.5, 0.5, 0], 1, 0.5, [0, 0, 0, 0], 0, 0];
_PS1 setParticleCircle [0, [0, 0, 0]];
_PS1 setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 2, 6], "", "Billboard", 1, 1, [0, 0, 0], [0, 0, 0.5], 1, 1, 0.9, 0.3, [1.5], <nowiki>[[1, 0.7, 0.7, 0.5]]</nowiki>, [1], 0, 0, "", "", _obj];
_PS1 setParticleRandom [0.2, [1, 1, 0], [0.5, 0.5, 0], 1, 0.5, [0, 0, 0, 0], 0, 0];
_PS1 setDropInterval 0.03;
_PS1 setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 2, 6], "", "Billboard", 1, 1, [0, 0, 0], [0, 0, 0.5], 1, 1, 0.9, 0.3, [1.5], [[1, 0.7, 0.7, 0.5]], [1], 0, 0, "", "", _obj];
 
_PS1 setDropInterval 0.03;
</sqf>


Smoke Part 1:
Smoke Part 1:
_PS2 setParticleCircle [0, [0, 0, 0]];
<sqf>
_PS2 setParticleRandom [0, [0, 0, 0], [0.33, 0.33, 0], 0, 0.25, [0.05, 0.05, 0.05, 0.05], 0, 0];
_PS2 setParticleCircle [0, [0, 0, 0]];
_PS2 setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 0, 1], "", "Billboard", 1, 10, [0, 0, 0.5], [0, 0, 2.9], 1, 1.275, 1, 0.066, [4, 5, 10, 10], [[0.3, 0.3, 0.3, 0.33], [0.4, 0.4, 0.4, 0.33], [0.2, 0.2, 0, 0]], [0, 1], 1, 0, "", "", _obj];
_PS2 setParticleRandom [0, [0, 0, 0], [0.33, 0.33, 0], 0, 0.25, [0.05, 0.05, 0.05, 0.05], 0, 0];
_PS2 setDropInterval 0.5;
_PS2 setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 0, 1], "", "Billboard", 1, 10, [0, 0, 0.5], [0, 0, 2.9], 1, 1.275, 1, 0.066, [4, 5, 10, 10], [[0.3, 0.3, 0.3, 0.33], [0.4, 0.4, 0.4, 0.33], [0.2, 0.2, 0, 0]], [0, 1], 1, 0, "", "", _obj];
_PS2 setDropInterval 0.5;
</sqf>


Smoke Part 2:
Smoke Part 2:
_PS3 setParticleCircle [0, [0, 0, 0]];
<sqf>
_PS3 setParticleRandom [0, [0, 0, 0], [0.5, 0.5, 0], 0, 0.25, [0.05, 0.05, 0.05, 0.05], 0, 0];
_PS3 setParticleCircle [0, [0, 0, 0]];
_PS3 setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 15, [0, 0, 0.5], [0, 0, 2.9], 1, 1.275, 1, 0.066, [4, 5, 10, 10], [[0.1, 0.1, 0.1, 0.75], [0.4, 0.4, 0.4, 0.5], [1, 1, 1, 0.2]], [0], 1, 0, "", "", _obj];
_PS3 setParticleRandom [0, [0, 0, 0], [0.5, 0.5, 0], 0, 0.25, [0.05, 0.05, 0.05, 0.05], 0, 0];
_PS3 setDropInterval 0.25;
_PS3 setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 15, [0, 0, 0.5], [0, 0, 2.9], 1, 1.275, 1, 0.066, [4, 5, 10, 10], [[0.1, 0.1, 0.1, 0.75], [0.4, 0.4, 0.4, 0.5], [1, 1, 1, 0.2]], [0], 1, 0, "", "", _obj];
_PS3 setDropInterval 0.25;
</sqf>


Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
<br clear=all />
{{Clear}}


==Fire==
[[Image:PE fire.jpg|left|100px]]
_PS setParticleCircle [0, [0, 0, 0]];
_PS setParticleRandom [0.2, [ 1, 1, 0], [2, 2, 1], 0.2, 0.2, [0, 0, 0, 0], 0, 0];
_PS setDropInterval 0.05;
_PS setParticleParams [["\ca\data\ParticleEffects\FireAndSmokeAnim\FireAnim", 8, 2, 7], "", "Billboard", 1, 1, [random 0.5, random 0.5, 0], [0, 0, 2], 1, 1, 0.9, 0.3, [4,6],[[1,1,1,0.7],[1,1,1,0.5],[1,1,1,0]], [0,1], 1, 1, "", "", _obj];
_PS1 = "#particlesource" createVehicleLocal getpos _obj;
_PS1 setParticleCircle [0, [0, 0, 0]];
_PS1 setParticleRandom [0.5, [1, 1, 0.4], [0, 0, 4], 0, 0.5, [0, 0, 0, 0], 0, 0];
_PS1 setDropInterval 0.01;
_PS1 setParticleParams [["\ca\data\ParticleEffects\FireAndSmokeAnim\FireAnim", 8, 2, 1], "", "Billboard", 1, 2, [0, random 0.5, random 1], [0, 0, 1], 10, 1, 0.9, 0.3, [1],[[1,1,1,0.5],[1,1,1,0.2],[1,1,1,0]], [0.5,0.5,0], 1, 1, "", "", _obj];
Contributor: '''Lost [OTK]''' (simplified, full version [http://www.flashpoint.ru/forum/archive/index.php/t-43552.html here])
<br clear=all />


== Fire ==


==Floating orb==
[[File:PE fire.jpg|left|100px]]
[[Image:PE_FloatingOrb.jpg|left|100px]]
<sqf>
(this one is actually pretty usefull for figuring out the shapename and associated numbers you want)
_PS setParticleCircle [0, [0, 0, 0]];
_PS setParticleCircle [0, [0, 0, 0]];
_PS setParticleRandom [0.2, [1, 1, 0], [2, 2, 1], 0.2, 0.2, [0, 0, 0, 0], 0, 0];
_PS setParticleRandom [0, [0, 0, 0], [0, 0, 0], 0, 0, [0, 0, 0, 0], 0, 0];
_PS setDropInterval 0.05;
_PS setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 3.0141, [0, 0, 2], [0, 0, 0], 1, 1.275, 1, 0, [6, 6], [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]], [1], 1, 0, "", "", _OBJ];
_PS setParticleParams [["\ca\data\ParticleEffects\FireAndSmokeAnim\FireAnim", 8, 2, 7], "", "Billboard", 1, 1, [random 0.5, random 0.5, 0], [0, 0, 2], 1, 1, 0.9, 0.3, [4,6],[[1,1,1,0.7],[1,1,1,0.5],[1,1,1,0]], [0,1], 1, 1, "", "", _obj];
_PS setDropInterval 3.0;
</sqf>
 
<sqf>
_PS1 = "#particlesource" createVehicleLocal getpos _obj;
_PS1 setParticleCircle [0, [0, 0, 0]];
_PS1 setParticleRandom [0.5, [1, 1, 0.4], [0, 0, 4], 0, 0.5, [0, 0, 0, 0], 0, 0];
_PS1 setDropInterval 0.01;
_PS1 setParticleParams [["\ca\data\ParticleEffects\FireAndSmokeAnim\FireAnim", 8, 2, 1], "", "Billboard", 1, 2, [0, random 0.5, random 1], [0, 0, 1], 10, 1, 0.9, 0.3, [1],[[1,1,1,0.5],[1,1,1,0.2],[1,1,1,0]], [0.5,0.5,0], 1, 1, "", "", _obj];
</sqf>
Contributor: '''Lost [OTK]''' (simplified, full version {{Link|http://www.flashpoint.ru/forum/archive/index.php/t-43552.html|here}})
{{Clear}}
 
 
== Floating orb ==
[[File:PE_FloatingOrb.jpg|left|100px]]
(this one is actually pretty useful for figuring out the shapename and associated numbers you want)
<sqf>
_PS setParticleCircle [0, [0, 0, 0]];
_PS setParticleRandom [0, [0, 0, 0], [0, 0, 0], 0, 0, [0, 0, 0, 0], 0, 0];
_PS setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 3.0141, [0, 0, 2], [0, 0, 0], 1, 1.275, 1, 0, [6, 6], [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]], [1], 1, 0, "", "", _OBJ];
_PS setDropInterval 3.0;
</sqf>
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
<br clear=all />
{{Clear}}




==Heavy Oily Smoke Small==
== Heavy Oily Smoke Small ==
[[Image:PE_HeavyOilySmokeSmall.jpg|left|100px]]
 
_PS setParticleCircle [0, [0, 0, 0]];
[[File:PE_HeavyOilySmokeSmall.jpg|left|100px]]
_PS [0, [0.25, 0.25, 0], [0.175, 0.175, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0];
<sqf>
_PS setParticleParams setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 1, 8], "", "Billboard", 1, 12.5, [0, 0, 0], [0, 0, 0.75], 0, 10, 7.9, 0.075, [1.2, 2, 4], [[0.1, 0.1, 0.1, 1], [0.25, 0.25, 0.25, 0.5], [0.5, 0.5, 0.5, 0]], [0.08], 1, 0, "", "", _OBJ];
_ps setParticleCircle [0, [0, 0, 0]];
_PS setDropInterval 0.05;
_ps setParticleRandom [0, [0.25, 0.25, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0];
_ps setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 1, 8], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 1.5], 0, 10, 7.9, 0.066, [1, 3, 6], [[0.1, 0.1, 0.1, 1], [0.25, 0.25, 0.25, 0.5], [0.5, 0.5, 0.5, 0]], [0.125], 1, 0, "", "", _OBJ];
_ps setDropInterval 0.05;
</sqf>
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
<br clear=all />
{{Clear}}
 
 
== Heavy Oily Smoke Medium ==


==Heavy Oily Smoke Medium==
[[File:PE_HeavyOilySmokeMedium.jpg|left|100px]]
[[Image:PE_HeavyOilySmokeMedium.jpg|left|100px]]
<sqf>
_PS setParticleCircle [0, [0, 0, 0]];
_ps setParticleCircle [0, [0, 0, 0]];
_PS setParticleRandom [0, [0.25, 0.25, 0], [0.175, 0.175, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0];
_ps setParticleRandom [0, [0.25, 0.25, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0];
_PS setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 1, 1], "", "Billboard", 1, 12.5, [0, 0, 0], [0, 0, 0.75], 0, 10, 7.9, 0.075, [1.2, 1.2], [[0.1, 0.1, 0.1 ,1], [0.25, 0.25, 0.25, 0.5], [0.5, 0.5, 0.5, 0]], [0, 1], 1, 0, "", "", _OBJ];
_ps setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 1, 8], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 2.5], 0, 10, 7.9, 0.066, [2, 6, 12], [[0.1, 0.1, 0.1, 1], [0.25, 0.25, 0.25, 0.5], [0.5, 0.5, 0.5, 0]], [0.125], 1, 0, "", "", _OBJ];
_PS setDropInterval 0.03;
_ps setDropInterval 0.1;
</sqf>
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
<br clear=all />
{{Clear}}
 


== Heavy Oily Smoke Large ==


==Heavy Oily Smoke Large==
[[File:PE_HeavyOilySmokeLarge.jpg|left|100px]]
[[Image:PE_HeavyOilySmokeLarge.jpg|left|100px]]
<sqf>
_PS setParticleCircle [0, [0, 0, 0]];
_ps setParticleCircle [0, [0, 0, 0]];
_PS setParticleRandom [0, [0.25, 0.25, 0], [0.33, 0.33, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0];
_ps setParticleRandom [0, [0.5, 0.5, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0];
_PS setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 5, 0], "", "Billboard", 1, 13, [0, 0, 0], [0, 0, 0.75], 0, 10, 7.9, 0.075, [2, 2], [[0.1, 0.1, 0.1 ,1], [0.25, 0.25, 0.25, 0.5], [0.5, 0.5, 0.5, 0]], [0, 1], 1, 0, "", "", _OBJ];
_ps setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 1, 6], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 4.5], 0, 10, 7.9, 0.5, [4, 12, 20], [[0.1, 0.1, 0.1, 0.8], [0.25, 0.25, 0.25, 0.5], [0.5, 0.5, 0.5, 0]], [0.125], 1, 0, "", "", _OBJ];
_PS setDropInterval 0.03;
_ps setDropInterval 0.1;
</sqf>
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
<br clear=all />
{{Clear}}
 


== Light Wood Smoke Small ==


==Light Wood Smoke Small==
[[File:PE_LightWoodSmokeSmall.jpg|left|100px]]
[[Image:PE_LightWoodSmokeSmall.jpg|left|100px]]
<sqf>
_PS setParticleCircle [0, [0, 0, 0]];
_ps setParticleCircle [0, [0, 0, 0]];
_PS setParticleRandom [0, [1, 1, 0], [0.5, 0.5, 2], 0, 0.25, [0.05, 0.05, 0.05, 0.05], 0, 0];
_ps setParticleRandom [0, [0.25, 0.25, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0];
_PS setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 5, [0, 0, 0], [0, 0, 0.05], 1, 1.2, 1, 0.2, [2, 2], [[1, 1, 1 ,0.4], [1, 1, 1, 0.2], [1, 1, 1, 0]], [0, 1], 1, 0, "", "", _OBJ];
_ps setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 1.5], 0, 10, 7.9, 0.066, [1, 3, 6], [[0.5, 0.5, 0.5, 0.15], [0.75, 0.75, 0.75, 0.075], [1, 1, 1, 0]], [0.125], 1, 0, "", "", _OBJ];
_PS setDropInterval 0.04;
_ps setDropInterval 0.05;
</sqf>
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
<br clear=all />
{{Clear}}




==Light Wood Smoke Medium==
== Light Wood Smoke Medium ==
[[Image:PE_LightWoodSmokeMedium.jpg|left|100px]]
 
_PS setParticleCircle [0, [0, 0, 0]];
[[File:PE_LightWoodSmokeMedium.jpg|left|100px]]
_PS setParticleRandom [0, [3, 3, 0], [1, 1, 2], 0, 0.5, [0.05, 0.05, 0.05, 0.05], 0, 0];
<sqf>
_PS setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 10, [0, 0, 0], [0, 0, 0.05], 1, 1.2, 1, 0.2, [4, 4], [[1, 1, 1 ,0.4], [1, 1, 1, 0.2], [1, 1, 1, 0]], [0, 1], 1, 0, "", "", _OBJ];
_ps setParticleCircle [0, [0, 0, 0]];
_PS setDropInterval 0.04;
_ps setParticleRandom [0, [0.25, 0.25, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0];
_ps setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 2.5], 0, 10, 7.9, 0.066, [2, 6, 12], [[0.5, 0.5, 0.5, 0.3], [0.75, 0.75, 0.75, 0.15], [1, 1, 1, 0]], [0.125], 1, 0, "", "", _OBJ];
_ps setDropInterval 0.1;
</sqf>
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
<br clear=all />
{{Clear}}




==Light Wood Smoke Large==
== Light Wood Smoke Large ==
[[Image:PE_LightWoodSmokeLarge.jpg|left|100px]]
 
_PS setParticleCircle [0, [0, 0, 0]];
[[File:PE_LightWoodSmokeLarge.jpg|left|100px]]
_PS setParticleRandom [0, [5, 5, 0], [1, 1, 2], 0, 0.5, [0.05, 0.05, 0.05, 0.05], 0, 0];
<sqf>
_PS setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 15, [0, 0, 0], [0, 0, 0.05], 1, 1.2, 1, 0.2, [6, 6], [[1, 1, 1 ,0.4], [1, 1, 1, 0.2], [1, 1, 1, 0]], [0, 1], 1, 0, "", "", _OBJ];
_ps setParticleCircle [0, [0, 0, 0]];
_PS setDropInterval 0.04;
_ps setParticleRandom [0, [0.5, 0.5, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0];
_ps setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 4.5], 0, 10, 7.9, 0.5, [4, 12, 20], [[0.5, 0.5, 0.5, 0.5], [0.75, 0.75, 0.75, 0.25], [1, 1, 1, 0]], [0.125], 1, 0, "", "", _OBJ];
_ps setDropInterval 0.1;
</sqf>
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
<br clear=all />
{{Clear}}




==Mixed Smoke Small==
== Mixed Smoke Small ==
[[Image:PE_MixedSmokeSmall.jpg|left|100px]]
 
  _PS setParticleCircle [0, [0, 0, 0]];
[[File:PE_MixedSmokeSmall.jpg|left|100px]]
_PS setParticleRandom [0, [1, 1, 0], [0.33, 0.33, 0], 0, 0.25, [0.05, 0.05, 0.05, 0.05], 0, 0];
This one requires 2 particle sources, both smokes. They should both be attached to the same object.
_PS setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 5, 1], "", "Billboard", 1, 7, [0, 0, 0], [0, 0, 0], 1, 1.2, 1, 0.1, [2, 2], [[0.7, 0.7, 0.7 ,0.4], [0.5, 0.5, 0.5, 0.2], [0.2, 0.2, 0.2, 0]], [0, 1], 1, 0, "", "", _OBJ];
<sqf>
_PS setDropInterval 0.04;
_ps1 setParticleCircle [0, [0, 0, 0]];
_ps1 setParticleRandom [0, [0.25, 0.25, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0];
_ps1 setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 1, 8], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 1.5], 0, 10, 7.9, 0.066, [1, 3, 6], [[0.2, 0.2, 0.2, 0.45], [0.35, 0.35, 0.35, 0.225], [0.5, 0.5, 0.5, 0]], [0.125], 1, 0, "", "", _OBJ];
_ps1 setDropInterval 0.1;
</sqf>
<sqf>
_ps2 setParticleCircle [0, [0, 0, 0]];
_ps2 setParticleRandom [0, [0.25, 0.25, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0];
_ps2 setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 1.5], 0, 10, 7.9, 0.066, [1, 3, 6], [[0.33, 0.33, 0.33, 0.8], [0.66, 0.66, 0.66, 0.4], [1, 1, 1, 0]], [0.125], 1, 0, "", "", _OBJ];
_ps2 setDropInterval 0.1;
</sqf>
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
<br clear=all />
{{Clear}}




==Mixed Smoke Medium==
== Mixed Smoke Medium ==
[[Image:PE_MixedSmokeMedium.jpg|left|100px]]
 
  _PS setParticleCircle [0, [0, 0, 0]];
[[File:PE_MixedSmokeMedium.jpg|left|100px]]
_PS setParticleRandom [0, [1.75, 1.75, 0], [0.54, 0.54, 0], 0, 0.25, [0.05, 0.05, 0.05, 0.05], 0, 0];
This one requires 2 particle sources, both smokes. They should both be attached to the same object.
_PS setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 5, 1], "", "Billboard", 1, 10, [0, 0, 0], [0, 0, 0], 1, 1.2, 1, 0.1, [3.5, 3.5], [[0.7, 0.7, 0.7 ,0.4], [0.5, 0.5, 0.5, 0.2], [0.2, 0.2, 0.2, 0]], [0, 1], 1, 0, "", "", _OBJ];
<sqf>
_PS setDropInterval 0.04;
_ps1 setParticleCircle [0, [0, 0, 0]];
_ps1 setParticleRandom [0, [0.25, 0.25, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0];
_ps1 setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 1, 8], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 2.5], 0, 10, 7.9, 0.066, [2, 6, 12], [[0.2, 0.2, 0.2, 0.3], [0.35, 0.35, 0.35, 0.2], [0.5, 0.5, 0.5, 0]], [0.125], 1, 0, "", "", _OBJ];
_ps1 setDropInterval 0.2;
</sqf>
<sqf>
_ps2 setParticleCircle [0, [0, 0, 0]];
_ps2 setParticleRandom [0, [0.25, 0.25, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0];
_ps2 setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 2.5], 0, 10, 7.9, 0.066, [2, 6, 12], [[0.33, 0.33, 0.33, 0.8], [0.66, 0.66, 0.66, 0.4], [1, 1, 1, 0]], [0.125], 1, 0, "", "", _OBJ];
_ps2 setDropInterval 0.2;
</sqf>
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
<br clear=all />
{{Clear}}




==Mixed Smoke Large==
== Mixed Smoke Large ==
[[Image:PE_MixedSmokeLarge.jpg|left|100px]]
 
  _PS setParticleCircle [0, [0, 0, 0]];
[[File:PE_MixedSmokeLarge.jpg|left|100px]]
_PS setParticleRandom [0, [2.5, 2.5, 0], [0.75, 0.75, 0], 0, 0, [0.05, 0.05, 0.05, 0.05], 0, 0];
This one requires 2 particle sources, both smokes. They should both be attached to the same object.
_PS setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 5, 1], "", "Billboard", 1, 13, [0, 0, 0], [0, 0, 0.5], 1, 1.2, 1, 0.1, [5, 5], [[0.7, 0.7, 0.7 ,0.4], [0.5, 0.5, 0.5, 0.2], [0.2, 0.2, 0.2, 0]], [0, 1], 1, 0, "", "", _OBJ];
<sqf>
_PS setDropInterval 0.04;
_ps1 setParticleCircle [0, [0, 0, 0]];
_ps1 setParticleRandom [0, [0.4, 0.4, 0], [0.4, 0.4, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0];
_ps1 setParticleParams [["\ca\data\particleeffects\fireandsmokeanim\smokeanim.p3d", 8, 1, 6], "", "billboard", 1, 8, [0, 0, 0], [0, 0, 4.5], 0, 10, 7.9, 0.5, [4, 12, 20], [[0.2, 0.2, 0.2, 0.3], [0.35, 0.35, 0.35, 0.2], [0.5, 0.5, 0.5, 0]], [0.125], 1, 0, "", "", _OBJ];
_ps1 setDropInterval 0.2;
</sqf>
<sqf>
_ps2 setParticleCircle [0, [0, 0, 0]];
_ps2 setParticleRandom [0, [0.4, 0.4, 0], [0.4, 0.4, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0];
_ps2 setParticleParams [["\ca\data\particleeffects\fireandsmokeanim\smokeanim.p3d", 8, 3, 1], "", "billboard", 1, 8, [0, 0, 0], [0, 0, 4.5], 0, 10, 7.9, 0.5, [4, 12, 20], [[0.33, 0.33, 0.33, 0.8], [0.66, 0.66, 0.66, 0.4], [1, 1, 1, 0]], [0.125], 1, 0, "", "", _OBJ];
_ps2 setDropInterval 0.2;
</sqf>
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
<br clear=all />
{{Clear}}
 


== Rock Shower ==


==Rock Shower==
[[File:PE_RockShower.jpg|left|100px]]
[[Image:PE_RockShower.jpg|left|100px]]
<sqf>
_PS setParticleCircle [0, [0, 0, 0]];
_PS setParticleCircle [0, [0, 0, 0]];
_PS setParticleRandom [0, [10, 10, 0], [0.25, 0.25, 0], 0, 1.5, [0, 0, 0, 0], 0, 0];
_PS setParticleRandom [0, [10, 10, 0], [0.25, 0.25, 0], 0, 1.5, [0, 0, 0, 0], 0, 0];
_PS setParticleParams [["\Ca\Data\ParticleEffects\Pstone\Pstone.p3d", 8, 3, 1], "", "SpaceObject", 1, 10, [0, 0, 30], [0, 0, -2], 1, 10, 1, 0.2, [2, 2], [[1, 1, 1 ,1], [1, 1, 1, 1], [1, 1, 1, 1]], [0, 1], 1, 0, "", "", _OBJ];
_PS setParticleParams [["\Ca\Data\ParticleEffects\Pstone\Pstone.p3d", 8, 3, 1], "", "SpaceObject", 1, 10, [0, 0, 30], [0, 0, -2], 1, 10, 1, 0.2, [2, 2], [[1, 1, 1 ,1], [1, 1, 1, 1], [1, 1, 1, 1]], [0, 1], 1, 0, "", "", _OBJ];
_PS setDropInterval 0.04;
_PS setDropInterval 0.04;
</sqf>
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
Contributor: [[User:ColonelSandersLite|ColonelSandersLite]]
[[Category: Particle System]]

Latest revision as of 00:09, 21 November 2023

🕖
The following information is obsolete as of Arma 2 v1.00. Reason: For later titles (Arma 2, Arma 3), see Particles Tutorial - Full examples.

Listed on this page are several basic particle effects, that can be used as they are, or as templates for further customization.

To use these examples a variable named _OBJ has to exist, which points to an in-game object (a Game Logic, for example) to define the location of the effect.

_OBJ = GameLogicOne;

In addition, a particle source has to be defined:

_PS = "#particlesource" createVehicleLocal getPos _OBJ;

After this the following commands can then be used.


BIS Burning Vehicle Fire Look-Alike

PE BurningVehicleLookAlike.jpg

This one requires 3 particle sources, 1 for the fire and 2 smokes. They should all be attached to the same object.

Fire:

_PS1 setParticleCircle [0, [0, 0, 0]]; _PS1 setParticleRandom [0.2, [1, 1, 0], [0.5, 0.5, 0], 1, 0.5, [0, 0, 0, 0], 0, 0]; _PS1 setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 2, 6], "", "Billboard", 1, 1, [0, 0, 0], [0, 0, 0.5], 1, 1, 0.9, 0.3, [1.5], [[1, 0.7, 0.7, 0.5]], [1], 0, 0, "", "", _obj]; _PS1 setDropInterval 0.03;

Smoke Part 1:

_PS2 setParticleCircle [0, [0, 0, 0]]; _PS2 setParticleRandom [0, [0, 0, 0], [0.33, 0.33, 0], 0, 0.25, [0.05, 0.05, 0.05, 0.05], 0, 0]; _PS2 setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 0, 1], "", "Billboard", 1, 10, [0, 0, 0.5], [0, 0, 2.9], 1, 1.275, 1, 0.066, [4, 5, 10, 10], [[0.3, 0.3, 0.3, 0.33], [0.4, 0.4, 0.4, 0.33], [0.2, 0.2, 0, 0]], [0, 1], 1, 0, "", "", _obj]; _PS2 setDropInterval 0.5;

Smoke Part 2:

_PS3 setParticleCircle [0, [0, 0, 0]]; _PS3 setParticleRandom [0, [0, 0, 0], [0.5, 0.5, 0], 0, 0.25, [0.05, 0.05, 0.05, 0.05], 0, 0]; _PS3 setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 15, [0, 0, 0.5], [0, 0, 2.9], 1, 1.275, 1, 0.066, [4, 5, 10, 10], [[0.1, 0.1, 0.1, 0.75], [0.4, 0.4, 0.4, 0.5], [1, 1, 1, 0.2]], [0], 1, 0, "", "", _obj]; _PS3 setDropInterval 0.25;

Contributor: ColonelSandersLite


Fire

PE fire.jpg

_PS setParticleCircle [0, [0, 0, 0]]; _PS setParticleRandom [0.2, [1, 1, 0], [2, 2, 1], 0.2, 0.2, [0, 0, 0, 0], 0, 0]; _PS setDropInterval 0.05; _PS setParticleParams [["\ca\data\ParticleEffects\FireAndSmokeAnim\FireAnim", 8, 2, 7], "", "Billboard", 1, 1, [random 0.5, random 0.5, 0], [0, 0, 2], 1, 1, 0.9, 0.3, [4,6],[[1,1,1,0.7],[1,1,1,0.5],[1,1,1,0]], [0,1], 1, 1, "", "", _obj];

_PS1 = "#particlesource" createVehicleLocal getpos _obj; _PS1 setParticleCircle [0, [0, 0, 0]]; _PS1 setParticleRandom [0.5, [1, 1, 0.4], [0, 0, 4], 0, 0.5, [0, 0, 0, 0], 0, 0]; _PS1 setDropInterval 0.01; _PS1 setParticleParams [["\ca\data\ParticleEffects\FireAndSmokeAnim\FireAnim", 8, 2, 1], "", "Billboard", 1, 2, [0, random 0.5, random 1], [0, 0, 1], 10, 1, 0.9, 0.3, [1],[[1,1,1,0.5],[1,1,1,0.2],[1,1,1,0]], [0.5,0.5,0], 1, 1, "", "", _obj];

Contributor: Lost [OTK] (simplified, full version here)


Floating orb

PE FloatingOrb.jpg

(this one is actually pretty useful for figuring out the shapename and associated numbers you want)

_PS setParticleCircle [0, [0, 0, 0]]; _PS setParticleRandom [0, [0, 0, 0], [0, 0, 0], 0, 0, [0, 0, 0, 0], 0, 0]; _PS setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 3.0141, [0, 0, 2], [0, 0, 0], 1, 1.275, 1, 0, [6, 6], [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]], [1], 1, 0, "", "", _OBJ]; _PS setDropInterval 3.0;

Contributor: ColonelSandersLite


Heavy Oily Smoke Small

PE HeavyOilySmokeSmall.jpg

_ps setParticleCircle [0, [0, 0, 0]]; _ps setParticleRandom [0, [0.25, 0.25, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0]; _ps setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 1, 8], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 1.5], 0, 10, 7.9, 0.066, [1, 3, 6], [[0.1, 0.1, 0.1, 1], [0.25, 0.25, 0.25, 0.5], [0.5, 0.5, 0.5, 0]], [0.125], 1, 0, "", "", _OBJ]; _ps setDropInterval 0.05;

Contributor: ColonelSandersLite


Heavy Oily Smoke Medium

PE HeavyOilySmokeMedium.jpg

_ps setParticleCircle [0, [0, 0, 0]]; _ps setParticleRandom [0, [0.25, 0.25, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0]; _ps setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 1, 8], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 2.5], 0, 10, 7.9, 0.066, [2, 6, 12], [[0.1, 0.1, 0.1, 1], [0.25, 0.25, 0.25, 0.5], [0.5, 0.5, 0.5, 0]], [0.125], 1, 0, "", "", _OBJ]; _ps setDropInterval 0.1;

Contributor: ColonelSandersLite


Heavy Oily Smoke Large

PE HeavyOilySmokeLarge.jpg

_ps setParticleCircle [0, [0, 0, 0]]; _ps setParticleRandom [0, [0.5, 0.5, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0]; _ps setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 1, 6], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 4.5], 0, 10, 7.9, 0.5, [4, 12, 20], [[0.1, 0.1, 0.1, 0.8], [0.25, 0.25, 0.25, 0.5], [0.5, 0.5, 0.5, 0]], [0.125], 1, 0, "", "", _OBJ]; _ps setDropInterval 0.1;

Contributor: ColonelSandersLite


Light Wood Smoke Small

PE LightWoodSmokeSmall.jpg

_ps setParticleCircle [0, [0, 0, 0]]; _ps setParticleRandom [0, [0.25, 0.25, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0]; _ps setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 1.5], 0, 10, 7.9, 0.066, [1, 3, 6], [[0.5, 0.5, 0.5, 0.15], [0.75, 0.75, 0.75, 0.075], [1, 1, 1, 0]], [0.125], 1, 0, "", "", _OBJ]; _ps setDropInterval 0.05;

Contributor: ColonelSandersLite


Light Wood Smoke Medium

PE LightWoodSmokeMedium.jpg

_ps setParticleCircle [0, [0, 0, 0]]; _ps setParticleRandom [0, [0.25, 0.25, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0]; _ps setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 2.5], 0, 10, 7.9, 0.066, [2, 6, 12], [[0.5, 0.5, 0.5, 0.3], [0.75, 0.75, 0.75, 0.15], [1, 1, 1, 0]], [0.125], 1, 0, "", "", _OBJ]; _ps setDropInterval 0.1;

Contributor: ColonelSandersLite


Light Wood Smoke Large

PE LightWoodSmokeLarge.jpg

_ps setParticleCircle [0, [0, 0, 0]]; _ps setParticleRandom [0, [0.5, 0.5, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0]; _ps setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 4.5], 0, 10, 7.9, 0.5, [4, 12, 20], [[0.5, 0.5, 0.5, 0.5], [0.75, 0.75, 0.75, 0.25], [1, 1, 1, 0]], [0.125], 1, 0, "", "", _OBJ]; _ps setDropInterval 0.1;

Contributor: ColonelSandersLite


Mixed Smoke Small

PE MixedSmokeSmall.jpg

This one requires 2 particle sources, both smokes. They should both be attached to the same object.

_ps1 setParticleCircle [0, [0, 0, 0]]; _ps1 setParticleRandom [0, [0.25, 0.25, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0]; _ps1 setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 1, 8], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 1.5], 0, 10, 7.9, 0.066, [1, 3, 6], [[0.2, 0.2, 0.2, 0.45], [0.35, 0.35, 0.35, 0.225], [0.5, 0.5, 0.5, 0]], [0.125], 1, 0, "", "", _OBJ]; _ps1 setDropInterval 0.1;
_ps2 setParticleCircle [0, [0, 0, 0]]; _ps2 setParticleRandom [0, [0.25, 0.25, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0]; _ps2 setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 1.5], 0, 10, 7.9, 0.066, [1, 3, 6], [[0.33, 0.33, 0.33, 0.8], [0.66, 0.66, 0.66, 0.4], [1, 1, 1, 0]], [0.125], 1, 0, "", "", _OBJ]; _ps2 setDropInterval 0.1;

Contributor: ColonelSandersLite


Mixed Smoke Medium

PE MixedSmokeMedium.jpg

This one requires 2 particle sources, both smokes. They should both be attached to the same object.

_ps1 setParticleCircle [0, [0, 0, 0]]; _ps1 setParticleRandom [0, [0.25, 0.25, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0]; _ps1 setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 1, 8], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 2.5], 0, 10, 7.9, 0.066, [2, 6, 12], [[0.2, 0.2, 0.2, 0.3], [0.35, 0.35, 0.35, 0.2], [0.5, 0.5, 0.5, 0]], [0.125], 1, 0, "", "", _OBJ]; _ps1 setDropInterval 0.2;
_ps2 setParticleCircle [0, [0, 0, 0]]; _ps2 setParticleRandom [0, [0.25, 0.25, 0], [0.2, 0.2, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0]; _ps2 setParticleParams [["\Ca\Data\ParticleEffects\FireAndSmokeAnim\SmokeAnim.p3d", 8, 3, 1], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, 2.5], 0, 10, 7.9, 0.066, [2, 6, 12], [[0.33, 0.33, 0.33, 0.8], [0.66, 0.66, 0.66, 0.4], [1, 1, 1, 0]], [0.125], 1, 0, "", "", _OBJ]; _ps2 setDropInterval 0.2;

Contributor: ColonelSandersLite


Mixed Smoke Large

PE MixedSmokeLarge.jpg

This one requires 2 particle sources, both smokes. They should both be attached to the same object.

_ps1 setParticleCircle [0, [0, 0, 0]]; _ps1 setParticleRandom [0, [0.4, 0.4, 0], [0.4, 0.4, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0]; _ps1 setParticleParams [["\ca\data\particleeffects\fireandsmokeanim\smokeanim.p3d", 8, 1, 6], "", "billboard", 1, 8, [0, 0, 0], [0, 0, 4.5], 0, 10, 7.9, 0.5, [4, 12, 20], [[0.2, 0.2, 0.2, 0.3], [0.35, 0.35, 0.35, 0.2], [0.5, 0.5, 0.5, 0]], [0.125], 1, 0, "", "", _OBJ]; _ps1 setDropInterval 0.2;
_ps2 setParticleCircle [0, [0, 0, 0]]; _ps2 setParticleRandom [0, [0.4, 0.4, 0], [0.4, 0.4, 0], 0, 0.25, [0, 0, 0, 0.1], 0, 0]; _ps2 setParticleParams [["\ca\data\particleeffects\fireandsmokeanim\smokeanim.p3d", 8, 3, 1], "", "billboard", 1, 8, [0, 0, 0], [0, 0, 4.5], 0, 10, 7.9, 0.5, [4, 12, 20], [[0.33, 0.33, 0.33, 0.8], [0.66, 0.66, 0.66, 0.4], [1, 1, 1, 0]], [0.125], 1, 0, "", "", _OBJ]; _ps2 setDropInterval 0.2;

Contributor: ColonelSandersLite


Rock Shower

PE RockShower.jpg

_PS setParticleCircle [0, [0, 0, 0]]; _PS setParticleRandom [0, [10, 10, 0], [0.25, 0.25, 0], 0, 1.5, [0, 0, 0, 0], 0, 0]; _PS setParticleParams [["\Ca\Data\ParticleEffects\Pstone\Pstone.p3d", 8, 3, 1], "", "SpaceObject", 1, 10, [0, 0, 30], [0, 0, -2], 1, 10, 1, 0.2, [2, 2], [[1, 1, 1 ,1], [1, 1, 1, 1], [1, 1, 1, 1]], [0, 1], 1, 0, "", "", _OBJ]; _PS setDropInterval 0.04;

Contributor: ColonelSandersLite