Skriptovanie efektov
31.01.2007 - 17:39,
(Autor: tomoxm)
V Call Of Duty je pridávanie efektov ako je oheň alebo dym celkom jednoduché. Všetko záleží hlavne na skriptovaní. Pre niekoho to bude záhada, ale pridaním týchto efektov nemusíte meniť v mape nič, tým pádom nemusíte kompilovať znova vašu mapu ak sa vám niečo nepodarí (myslené s efektami). CoD obsahuje veľa efektov ktoré môžete nájsť v súbore pak5.pk3. Majú príponu .efx a nachádzajú sa v adresári fx. Ďalšie použitie efektov môžete nájsť v súbore maps/_fx.gsc v tom istom pk3 súbore.

Dobre, poďme si pridať nejaký oheň a dym do mapy. Ako prvé si otvoríme mapu do ktorej chceme naše efekty pridať a prejdeme s myšou na miesto kam chceme dať efekty. Na spodku CoD Radiantu vidíte X,Y a Z koordináty kde sa práve nachádza vaša myš. Tieto koordináty si zapíšte (musíte sa prepnúť do iných pohľadov aby ste mohli odčítať aj iné koordináty), neskôr si povieme ako ich použijeme.

addingfx1


To platí aj pre pozíciu Z :

addingfx2


Teraz si do mapy pridáme trochu atmosféry aby to vyzeralo tak že tam ten oheň naozaj je. Vytvorte nad miestom kde bude oheň svetlo. S ešte stále označeným svetlom stlačte klávesu "K". Otvorí sa vám okno s farbami, vyberte si nejakú ktorá bude pasovať ako svetlo ktoré "vypúšta" oheň, napríklad oranžovú :

addingfx3


Na to aby sme sa zranili pri prechode, resp. vstúpení do ohňa potrebujeme pridať trigger (spínač) hurt brush. Vytvorte brush veľkosti ohniska. Kliknite v 2D pohľade na tento brush (musí byť označený) pravým tlačítkom a vyberte Trigger>hurt (sú rôzne nastavenia pre tento trigger ale v tomto tutoriály sa nimi nebudeme zaoberať).
Nakoniec ešte otextúrujeme celý brush s textúrou Common>trigger. Teraz si môžeme našu mapu uložiť a skompilovať ju.

addingfx4


Ale pred tým než ju skúsime v hre ešte musíme náš oheň naskriptovať (musíme zavolať funkciu efektov). Budeme potrebovať naše X, Y a Z koordináty v mape kde tento oheň bude. Otvorte, alebo ak ešte nemáte žiadny tak vytvorte si váš .gsc súbor (musí mať názov ako je názov mapy napr ak máte test.map musí sa volať test.gsc). Pre pridanie ohňa vložte do skriptu tento kód:

level._effect<"fire"> = loadfx ("fx/fire/tinybon.efx"); maps\mp\_fx::loopfx("fire", (555, -435, 315), 0.6);

a pre dym :

level._effect<"smoke"> = loadfx ("fx/smoke/ash_smoke.efx"); maps\mp\_fx::loopfx("smoke", (555, -435, 370), 0.7);

Takže váš skript by mal vyzerať takto (funkcia main() je nutnosťou):

main()
{
level._effect<"fire"> = loadfx ("fx/fire/tinybon.efx");
maps\mp\_fx::loopfx("fire", (555, -435, 315), 0.6);
level._effect<"smoke"> = loadfx ("fx/smoke/ash_smoke.efx");
maps\mp\_fx::loopfx("smoke", (555, -435, 370), 0.7);
maps\mp\_load::main(); }


Pre lepšie pochopenie si pozriťe obrázok v ktorom je to popísané (bohužial zatiaľ len v ENG).

addingfx5


Na koniec uložte váš .gsc súbor vložte ho do toho istého adresára ako sa nachádza vaša mapa a vyskúšajte si v hre čo ste vytvorili.

addingfx6


 

Napísať otázku k tutoriálu

Meno: Dátum:
Kontrolný kód : 5 + sedem =