Fények Ebben a tutorban a fényekről lesz szó! Ígyekeztem úgy összeállítani, hogy a haladóknak is legyen benne egy-két újabb rész! :) De főleg az elején egyszerűbb dolgokat is leírok, hogy a kezdőknek se törjön bele a bicskájuk!
UOban 3 féle módszerrel lehet fényeket beállítani: • Worldspawn - Erről egy külön tutorialban olvashattok • Statikus fényforrások • Dinamikus fényforrások
Kiegészítés: ez előtt kérlek olvassad át legalább röviden a worldspawnról szóló leírásomat Illetve minimális gyakorlat a Graydinat használatában szukságes. (A bemutatott képek 0.3-as ambient és sunlight, (255, 255, 255) értékű _color és suncolor értékek mellett készültek. És a flare: -extra –modelshadow –modelalphashadow értékekkel számolt)
Statikus fényforrások Azért hívom én ezeket, statikusnak, mert a leadott fényük és a vetett árnyékuk a map fordítása során a flare kalkulálja bele a bsp-be. Ennek következménye az, hogy sajnos ezeket nem lehet dinamikusan változtatni. (Egy kicsi dinamizmus még is van benne, ha modelt mozgatunk a tartományában arra a motor rávetíti a fényt! Már ha az options menüben engedélyezve vannak a dinamikus fények.)
1. első fény Graydiant->milliméter-papír (jobb klikk)->light Most hozzuk fel a fényhez tartozó entity ablakot!
Olvassuk el a kis súgónkat, hogy milyen kulcsokat és értékeket adhatunk meg:
2. Corona használata
Gondolom ti is szoktatok, látni egy "fényernyűt" egy-egy világító test körül (ez főleg ködös időben fordul elő) Nos ezt a jelenséget próbálja utánozni a corona (egész ügyesen). |
Beszúrás: milliméter-papír jobb klikk->corona, helyezzük a fény közepébe. Megjelent egy kicsi zöld kocka… |
Beállítás: Az entity ablakban a coronát még be is kell állítani • állítsuk be a színét (mint az előbb a fényét) – célszerű a fénnyel megegyez? értéket adni neki • állítsuk be a méretét a scale-> szám kulcssal • START_OFF kapcsoló: a nevéből adódóan kikapcsolt állapotban indul a corona (ha jól néztem akkor nincsen a normál spawn korlátozás – tehát ha látja a player nem spawnol)
|

|
3. Spot fény
Az eddig tárgyalt fények ugye minden irányban azonos módon viálgított! Azonban pl: ha egy utcai lámpát akarunk modellezni oda irányított fényre lesz szükségünk! |
Szúrjunk be: info->null objektumot (ha jól tudom a többivel is meg lehet csinálni, de ezzel nem terheljük a GameState változót, hiszen ezek az objektumok a játék alatt törlődnek – de a fény irányítása megmarad) Jelöljük ki a fényt majd utána a null objektumot és kössük össze CTRL+K-val. Majd a null-t heléyezzük oda ahova azt akarjuk, hogy a fény világítson. |
  |
Dinamikus fényforrások Mint a nevük is mutatja, dinamikusak, tehát futás időben lehet be, illetve kikapcsolni őket! Hiányosságuk: a motor nem számol hozzá árnyékot, tehát ha egy falat csak egy dinamikus fény világít meg akkor, az nem fog árnyékot vetni!
Dinamikus fényeket nagyon egyszerű kezelni effektekből lehet őket scripttel hívni!
(Erről egy külön effect készítős tutorial fog szólni.)
Adott egy megírt effect: pl:

ez annyit tesz, hogy egy piros fény játszik le 0,11 másodpercig.
Ezt scripttel nagyon egyszerűen: playfx (self.effect, cel.origin); hívással le lehet játszani és már készen is van a fényünk! Erre egy példa a villogó lámpa tutorialom! Egy kis kitérő a dinamikus árnyékokra Hivatalosan a CODUOban nincsennek dinamikus árnyékok, azonban vannak jelek, hogy a fejlesztők ezt elkezdték fejleszteni csak le lett állítva… Ha kíváncsi vagy rá akkor indíts el egy mappot developer módban: devmap <map neve> Majd: cg_shadows 2

Szóval láthatjátok, hogy neki álltak, de sajnos felfüggesztették.
De a legnagyobb probléma, ha script brushmodell-t akarsz mozgatni annak sincsen árnyéka… Volt próbálkozás, hogy legyen egy másik modell is amit shadowcaster borít, de az sem akart működni… Illetve mint q3-ban megadni entityben, hogy árnyékot vessen a model…
Ha valaki ez ügyben sikert ér el az érdekelne: Szendvics – eandr2[kukac]gmail[pont]com
Összegezve nagyon úgy tűnik, hogy nincsennek dinamikus árnyékok!
Szóval, ha modelleket, brush_modelleket mozgatunk erre igyekezzünk figyelni!
|