Šablony pro částicové efekty

Z Armed Assault nápověda

Přejít na: navigace, hledání

Obsah

Úvod

V tomto malom tutoriále je uvedených niekoľko príkladov ako si jednoducho a efektne vytvoriť (a samozrejme aj upraviť) niekoľko dymových efektov, oheň atď.

Najskôr si v editore vytvorte jednotku na ktorej mieste sa bude vytvárať daný efekt. V našom prípade to bude napríklad tzv. Logická jednotka.
Pomenujte ju ako logika1.

Nasledujúce dva riadky potom vždy dopíšte na začiatok každého skriptu pre vytvorenie daného efektu. Takto zadefinujete skriptu polohu logickej jednotky s názvom logika1, pričom za ňu bude v skripte predaná lokálna premenná _OBJ a tak sa na jej pozícii vytvorí daný efekt.

_OBJ = _this;
_PS = "#particlesource" createVehicleLocal position _OBJ; 

Tento postup zopakujte aj pri ostatných skriptoch ak si to efekt vyžaduje (obsahuje dva alebo viac skriptov). Ďalšiu časť efektu chceme predsa vytvoriť na tom istom mieste.

Samotný skript potom spustíte napríklad pomocou zápisu do inicializačného políčka nejakého spínača:

logika1 exec "smoke.sqs"

- smoke.sqs je názov skriptu s daným vytvoreným efektom

 !

Pozor !
Riadky nesmú byť v žiadnom prípade ručne zalomené pri zápise do skriptu.

Download

Malá ukážka efektov v misii (formát *.pbo)
Obsahuje: sneženie, oheň s dymom, padajúce kamene a hustý dym: Download

Horiace vozidlo

Tento efekt sa skladá z troch druhov efektov. Jeden slúži na vytvorenie ohňa a dva na rôzne druhy dymu.
Oheň:

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

1. druh dymu:

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

2. druh dymu:

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

Oheň

Tento efekt sa skladá z dvoch druhov efektov. Obidva sú iné druhy ohňa.
1. druh ohňa:

_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]; 

2. druh ohňa:

_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];

Mrak

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

Hustý olejový dym - malý

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

Hustý olejový dym - stredný

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

Hustý olejový dym - veľký

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

Riedky dym - malý

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

Riedky dym - stredný

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

Riedky dym - veľký

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

Prirodzený dym - malý

Tento efekt sa skladá z dvoch druhov efektov. Obidva sú rôzne druhy dymu.
1. druh dymu:

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

2. druh dymu:

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

Prirodzený dym - stredný

Tento efekt sa skladá z dvoch druhov efektov. Obidva sú rôzne druhy dymu.
1. druh dymu:

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

2. druh dymu:

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

Prirodzený dym - veľký

Tento efekt sa skladá z dvoch druhov efektov. Obidva sú rôzne druhy dymu.
1. druh dymu:

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

2. druh dymu:

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

Kamenný dážď

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

Sneh

_PS setParticleCircle [0.0, [0, 0, 0]];
_PS setParticleRandom [0, [30, 30, 15], [0, 0, 0], 0, 0.5, [0, 0, 0, 0.1], 0, 0];
_PS setParticleParams ["\Ca\Data\cl_water", "", "Billboard", 1, 7, [0,0,0], [0,0,0], 1, 0.000001, 0, 1.4, [0.05,0.05], [ [1,1,1,1] ], [0,1], 1.2, 1.2, "", "", _OBJ];
_PS setDropInterval 0.001;
Osobní nástroje