ParticleTemplates
From Bohemia Interactive Community
Introduction
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
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
_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
(this one is actually pretty usefull 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
_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
_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
_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
_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
_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
_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
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
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
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
_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

