"Karakter szem-pislogás animálása"
Részletek a hírekben!
 
   
 
 
Naprakész hírek...                                         240 fórumozó...                                         Számos magyar oktatóanyag...                                         Videóanyagok magyarul is...                                         Letölthető fájlok...                                         Textúrák...                                         Összegyűjtött linkek...
 
  Rólunk
Hírek
Fórum
Kihívás
Kapcsolatok
Galéria
Aktuális, 2015
2014, 2013
2012, 2011
2010, 2009
Leírások
Kezdő leckék
Haladó leckék
Egyéb leírás
Billentyűk
Videóanyagok
Kezdő videók
Haladó videók
Egyéb videók
Tippek, trükkök
Letöltés
BLEND fájlok
Textúrák
Linkajánló
Archivum
Projektek
BlendRace SokoTruck
Flipper MB game
 
 

Blender leírások és oktató anyagok

 
LightMap Tutorial

Forrás: http://www.continuousphysics.com/lightmap/LightMapTutorial.html

Készítő: stewet (2007)

Verzió: 2.43

LightMap Tutorial

Hamarosan közeleg a Blender 2.43 verziójának kiadása. Sok-sok újdonsággal rukkoltak elő a programozó fiúk, melyből itt a LightMap-ot szeretném közkinccsé tenni.

Amíg az Interneten fellelhető fényekkel, árnyékolással, bevilágításokkal foglalkozó tutorialok többsége a realisztikusabb, de statikus kép megjelenítését szolgálja, úgy a LightMap inkább a beépített Game Engine (Játékmotor - továbbiakban GE) iránt érdeklődő felhasználóknak nyújt hihetetlen nagy segítséhet. Persze nem azt mondom, hogy az UV textúrázáskor egy-egy jelenetben ne lehetne kihasználni eme lehetőséget, ha szükség van a textúrán lévő árnyékra, de ezen tutorial inkább a GE-ben való felhasználásra helyezi a hangsúlyt, remélve, hogy a leírás után mindenki érteni fogja, mit is vehettünk kézbe az újab Blender verzióban.

Előzmények:

Létezett korábban egy python script, a textúra "égetésére" - ennekgrafikus felületét láthatod itt jobbra.

Értsd: a textúrára vetülő fény/árnyék érzékletét az eredeti textúra módosításával érte el, létrehozva egy új textúrát a rajta lévő világosabb/sötétebb árnyalatokkal. A folyamat hosszadalmas volt, nem beszélve arról, hogy nem mindig a várt eredménnyel járt. Ilyenkor kezdődhetett minden előlről.

Egy kis GE elmélet:

Köztudott, hogy a játékok készítésénél az alkotók a modelleket (akár mozgatható, akár statikus) elég alacsony polygonból igyekeznek felépíteni. Ezen "megjelenítési hátrányt" a textúrázással próbálják kompenzálni az alkotók, vagyis a modell felületét (face) síkra kivetítik, és erre festett, rajzolt képet húznak.

A Blenderbe a 2.23 verzió óta a programozók beépítettek egy un. játék-motort. (Volt idő, amikor ezt kivették, de a felhasználók kérésére visszatették, javítottak rajta és azóta szerves része a programnak.) A GE lényege, hogy a virtuális 3D világban megtervezett eseményeket felhasználói beavatkozással is ellátták, mely érzékelőkön (Sensors), vezérlőkön (Controllers) és végrehajtó (Actuators) elemeken keresztül valósítja meg az interaktivítást.

A GE legfőbb hátránya: a virtuális térben nem képzi le a fény/árnyék viszonyokat. Ennek okáról elég nagy irodalom áll rendelkezésre (többnyire angolul), a kiváncsi olvasóra bízom, hogy utánanéz e ennek! :-) Elég legyen itt annyit megjegyezni, hogy pl.: a sugárkövetéses kép (raytracing) leképzése (lásd pl.: renderelés) mennyi időt felemészt. A GE-ben viszont pillanatról pillanatra változik a kép, melynek megjelenítésével a hardvernek bírnia kell. Nem beszélve a vertexek, textúrák állandó újraszámolásáról, és ha ezt a virtuális térben mozogva, RealTime-ban (valós időben) képzeljük el, máris világos lesz, hogy nincs az a processzor, ami ezt képes feldolgozni.

Kezdeti megoldásként az alkotók a modellen alkalmazni kívánt textúrát a jelenet fényviszonyainak figyelembevételével megfestették.Ennél jobb megoldást jelentett a Radiosity eljárás, melyben az emittáló (fénykibocsájtó) objektum fénye és ennek leképzése már valósághűbb eredményt adott. Nagy hátránya viszont, hogy hozzányúl a mesh-háló felosztásához, növelve a polygonok számát és elvéve, de legalábbis megnehezítve az újratextúrázás lehetőségét. Később a bevezetőben említett script-et lehetett használni minden előnyével és hátrányával együtt. Viszont most itt van a 2.43-as verzió, ahol megoldódni látszik a vetett árnyék textúrában való megjelenítése. A továbbiakban ezt nevezzük LightMap-nak. Hurrááá... :-)

Apró megjegyzés: a tutorial írásának idején még a hivatalos 2.43-as verzió nem érhető el, helyette a 2.42a RC1-ben (és érdekes, a tutor írása közben jött ki az RC2) tesztelhető a továbbiakban ismertetésre kerülő lehetőség. (Az RC egy rövidítés: Release Candidate, vagyis az Új Változat Jelöltje) - További megjegyzés: az elérhető legújabb Blender verzió: 2.5 alpha2! - stewet

Utolsó megjegyzés: Mivel a LightMap újonnan került be az alkalmazásba, elég nehéz volt hozzá megfelelő tutorialt találni, vagyis, a sok-sok kísérletezgetések és próbák árán jöttem rá a működés alapjaira, nem kis segítséget kapva meridian és --Laszlo-- barátaimtól, akik nagyban hozzájárultak e munka létrejöttében. A Mindentbele oldal legutolsó pályázatának nyertese - NeverI - alkotását fogom felhasználni az elmondottak illusztrálásához, az Ő beleegyezésével. Itt köszönöm meg közreműködésüket!

 

...és a Tutorial...

Nem gondoltam, hogy a jelenet elkészítése része legyen a tutornak, ezért csak röviden vázolom, hogy ez miből áll. Fontos!! A Blender RC1-es (RC2) verzióját indítsd! Az alapkocka törlése után File->Import->Wavefront (obj)-al betöltöttem NeverI objektumát. []-el picit átmétereztem (növeltem) és az alapbeállításon lévő kamera felé fordítottam []. Hozzáadtam a jelenethez egy kockát, - ő képviseli a modell környezetét - (Space->Add->Mesh->Cube) - melyet úgy méreteztem []-el, hogy az a tér nagyságát reprezentálja, helyet hagyva a kamera interaktív mozgatására, illetve az árnyéknak.

Edit Mode-ban - [TAB] - az összes vertex kijelölésével, a [] -> Flip Normals alkalmazásával befelé forgattam a kocka normal-ját, mert egyébként nem lenne látható a rajta lévő textúra. Az egyetlen lámpát (Lamp) kiegészítettem egy Spot fénnyel, illetve egy Hemi-vel. A beállításokra és pozíciókra jobb, ha mutatok wire-t, illetve 2 kamerából renderelt képet.

 

A Spot alap-beállításai.

Később rátérek a lámpa "hangolására", most csak a Slider-ek (csúszkák) szerepéről ejtenék néhány szót.

SpotSi: A lámpából kilépő irányított fény kúpjának nyílásszöge:

SpotBl: a fénykör él-peremének lágysága

ShadowBufferSize: Az árnyék simítás számításának tároló mérete. Alatta a 3 gomb, a filter, mely különböző módozatok alapján végzi az antialiasing (élsimító) eljárást. (lásd később)

Sample: Mintavétel (lásd később)

Soft: Lágyság (lásd később)

 

A jelenet drótvázas képe (Scene Wire)

 

A Wire-ben látható bal oldali kamerából renderelt solid kép:

 

A Wire-ben látható jobb oldali kamerából renderelt solid kép

 
Megjegyzés: amikor a jelenettel készen lettem, az objektumokat Append-al átvittem abba a fájlba, ahol a kamera-mozgatás is hozzáadódott. Ezért láthatsz majd más induló képet az interaktív (GE) fájlban, mert a renderelt képet az alap-kamerából vettem, a futtatható fájl viszont az irányítható kamerából látható. A sarokban látható lámpatest imitálja a fényforrás helyét. (lehetett volna szebbet is készíteni, de a tutorial mondanivalójához ez is elég) :-)

Kezdjük a munkát, a helyiség textúrázásával, amit később árnyékolni fogunk, tehát lássuk! Az egyszerűség (és hatékonyság) kedvéért szeretnék bemutatni egy olyan script-et, ami hihetetlenül egyszerűvé teszi a modellek kiterítését. Nem biztos, hogy mindenkinek elnyeri tetszését, hiszen az alkotók szeretik maguk megalkotni az UV hálót, ha másért nem, hát azért, mert akkor tudják, hogy mi hol van rajta, de bízom benne, hogy adott esetben egy összetett jelenetnél jó ha kéznél van a script, ami - mondanom sem kell - full free!

A script neve: autouv.py. Osztd meg a képernyőt - Split Area - válaszd az egyik panelen a Text Editor-t és a File->Open parancsával tallózd ki a script-et. Legyen a helyiséget jelentő kocka kijelölve. A Text Editor ablakában nyomj egy JobbEgérGomb-ot (továbbiakban ) és futtasd a kódot! (click az utolsó menüpontra, ahogy az ábra is mutatja)

Látszólag nem történt semmi, pedig a háttérben a script felosztotta és kiterítette a kockát, méghozzá a lehető legjobb kiterítést alkalmazva. Nézzük meg az eredményt - A Text Editor ablakban válts UV/Image Editor nézetre. Az egeret vidd a 3D View ablakra és nyomj []-t, vagyis UV Face Select mód. Láss "csodát", a kocka kiterített képe megjelent. Bravó!!

Csupán zárójelben jegyezném meg, hogy a saját kiterítés után egy checker-t célszerű használni, ami nem más, mint egy ellenőrző kép - többnyire pepita mintás - amivel a kiterített mesh-hálók egymáshoz viszonyított arányait ellenőrizhetjük le, hogy a végleges textúra sehol ne nyúljon meg nagyon. Én is alkalmaztam ezt a script által kiterített hálón és rájöttem, felesleges, mert kiválóan terítette ki a kockát, sőt más összetettebb modellen is jól vizsgázott, nevesítve, NeverI szekerén. Ez utóbbit csak a kiváncsiság kedvéért végeztem el, hiszen, mint azt később leírom, az obj fájl NeverI kiterítését már tartalmazta.

 

A kocka script által kiterített UV térképe

Gyorsan mentsük el az UV háló képét. UVs->Scripts->Save UV Face Layout. Én egyetlen adatot módosítottam: a mentendő kép felbontását 1024 pixelre. (Alapértelmezetten 512 px) A kimentett kép formátuma *.tga lesz és alapértelmezetten a relatív útvonalra menti, a blend-fájl és az objektum nevének összeállításából, valamint jelezvén, hogy textúra, hozzábiggyeszti a Tex nevet. (Nálam ez LM_Tutor_cubeText.tga lett - később látni fogod, hogy a textúra-kép elnevezése fontos lehet!)

 
 
Tehát készen van a kiterített modell UV Map-je. Egy grafikai programba, mely rétegeket is kezel (Gimp, PS stb.) betölthető a tga fájl és kezdődhet a kiterített felületek megfestése, magyarul textúrázás. Itt most eltekintenék ennek a leírásától, inkább lássuk az eredményt:
 

"Húzzuk" rá - szakszerűen VETÍTSÜK - a képet a kockára. A 3D View-ben nyomj []-t, vagyis UV Face Select Mode. Az UV ablakban az Image->Open parancsával

az elkészített képet tallózd ki, és töltsd be. Ha látni szeretnéd az eredményt, a 3D View ablakban nyomj egy []-t (Draw Mode) és válaszd Textured Solid menüt. Igazításra nincs szükség, válts vissza Object Mode-ba -> [].

Ezzel a módszerrel húztam rá a textúrát a modellre (szekér), azzal a különbséggel, hogy NeverI által készített textúrát használtam. Nem volt szükség a kiterítésre sem, mert az obj fájl tartalmazta (ha jól készíti az alkotó) a kiterített UV-háló helyét. Minden további szöveg helyett lássuk, mi a vége. (Igazán még nem végeztünk, most kezdünk belelendülni.)

 
 
Mint az jól látható, a kép nem renderelve van, csupán kiloptam a Blender kamera-nézetéből. Ahhoz, hogy renderben is meg tudjam mutatni, el kell végezni néhány egyszerű műveletet. Rövid magyarázattal és képekkel illusztrálom a folyamatot, hogy mielőbb rátérhessünk a lényegre. (hogy mi a lényeg? - ragadjon a bélyeg - Bocs, nem tudtam kihagyni ezt a poént) :-))
 
Tehát... Jelöld ki a kockát és adj neki anyagot - [] - Shading és Material Button - A bal oldali ikoncsoport középső ikonja a Shading, a jobb oldali ikoncsoport a hozzá kiválasztható műveleteké. Nekünk most a piros gömböcske kell, az a Material. Kattints az Add New gombra. Ezzel anyagot adtál a kiválasztott tárgynak alapértékekkel - most a helyiségnek, ami egy kocka. A jobb oldali ábrán látható, hogy azokat a paneleket, amelyekre nincs szükség az érthetőség kedvéért lezártam a sarkában lévő fehér nyilacskával.

 

 

Jöhet az [] - Texture Button - Click az Add New gombra. A TE: mezőben elnevezheted a textúrát, hogy esetleg később jobban tudd azonosítani, ha valamilyen műveletet végzel rajta. (én a hangzatos enviroText nevet írtam be, jelezvén, hogy ez a környezet textúrája - Ugye világos, hogy ez nem azonos a kép-textúrával, amit az előbb leírtam, ez a modellen jelzi, hogy van rajta textúra)

Vedd észre, hogy 10 textúra húzható 1 modellre. (Persze a lehetőségek szinte határtalanok, amióta a Node-ot (csomópont) beépítették a Blenderbe.) Mi a kockán két textúrát fogunk használni, hiszen az árnyékos textúrát is ide töltjük be, de még ne szaladjunk ennyire előre!

 

 
Nos, ezután a textúra típusát válaszd ki. Kattints a None melletti gombra és a menüből az Image-t válaszd ki. Ekkor kiegészül a panelsor, újabb lehetőségekkel. Most annyit tegyél, hogy az Image panelen a Load-al töltsd be a kockára ráhúzandó képet. (Ezt mutatja a jobb oldali ábra - ugye említettem, hogy a textúra-kép elnevezése fontos?! Most láthatod, hogy miért, hiszen a szekérre ráhúzott kép neve is szerepel a listán)
Kattints vissza a Material Button-ra, hiszen most meg kell határozni a betöltött textúra vetítési módját. Nem része a tutorialnak a különböző vetítések megbeszélése, most is csupán annyit mondanék róla, hogy a módozatok közül nekünk az UV gomb kell a Map Input Panelen. (alapértelmezetten az Orco gomb van bekapcsolva)
 
Nincs más hátra, jöhet a render (Ugye tudod?!! A szekérrel is el kell végezni a fentebb említett műveleteket, egyébként a renderben szürke marad szegény modell. ) Megmutatom a renderelt képet a szekéren is elvégzett folyamat után.
 
 

Elég hosszadalmas volt eljutni idáig, de remélem nem hiábavaló. :-) Amint az a képen is látható, a renderben szépen kirajzolódik a szekér padlóra vetett árnyéka. Nos, ha ezt a scene-t betenném a GE-be, csupán a két UV textúra látszódna, - a helyiségé és a szekéré - a padlón lévő árnyék nem. Erre nyújt megoldást a LightMap, vagy nevezhetjük UV Layer-nek, UV rétegnek.

 

A következő részben picit felgyorsulnak az események, hiszen nincs más dolgunk, el kell készíteni a helyiség-textúrán az árnyékolást, ahogy azt a render képén láthatjuk. Igenám, de hogyan? A tárgyon (Cube) már van egy textúra! Ezt a textúrát fessük újra? Neeem...erre találták ki a LightMap-et.

Legyen a kocka kijelölve és kapcsolj Editing-re [] és nézd meg, az új Blenderben picit módosult a Mesh Panel.

 

Bal oldalt a "régi" Mesh Panel - Jobb oldalt az új Mesh Panel látható

 
A jobb oldali panelen számunkra az UV Texture felirat az érdekes. Alatta már szerepel egy réteg, UVTex néven (ez átnevezhető) és a zöld kis gombbal aktivizálva is van. Kattints a New gombra és nevezd el az új UV réteget Shadow-nak. A létrejöttekor azonnal aktív lesz.
 
 

Maradjon a kocka kijelölve, - a 3D View ablakba válts át UV Face Select Mode-ba []. Az UV ablakba megjelenik a kiterített mesh-háló, a ráhúzott textúrával. Ez eddig OK. Maradjunk is az UV ablakon, mert itt van dolgunk.

Nem elég, hogy új UV réteget hoztunk létre, az árnyékot új képre kell leképezni. Na ez nem ördöngősség, csak figyelj! Az új képet maga a Blender készíti!

Image menü->New (új képet hozunk létre a rétegen)

Az alapértelmezett felbontás 256x256 px. - ezt módosítottam a tárgyra ráhúzott textúra méretéhez igazítva, vagyis - mint az a képen is látható - 1024x1024 px-re. Az OK után, az általunk hozzáadott rétegre (amit Shadow-nak neveztünk) létrehoz egy képet. Ne ijedj meg, hogy a már felhúzott textúra helyén egy barnás árnyalatú képet látsz, ez az a kép, mely tartalmazni fogja az árnyékot, tehát figyelj továbbra is! Most jön a másik újdonság!

A felső menüben láthatsz egy Render menüpontot. - Gőrdítsd le és válaszd a Bake-Render Meshes-t. Íme, a felkínált lehetőségek:

A Full Render-t válaszd ki. (Az Ambient Occlusion használatához a jelenetben be kellett volna állítani az AO-t - [] - érdemes ezt is kipróbálni. Meridian készített ezzel a módszerrel képet, nézd meg a galériában!)

A Normals és a Texture Only eredményét a hivatalos oldalon megtalálhatod. Amikor a Full Render-t kiválasztod, a renderelés elindul. Gépfüggő, hogy mennyi időt vesz igénybe a textúra leképzése. Nekem, egy 3GHz Pentiumot használva kb 3-4 sec-ig tartott, igaz, a modell sem volt túl bonyolult. Mutatom az ereményt és rátérhetünk a finom-hangolásra:

 
 
Mondhatni, készen vagyunk... vagy mégsem? Én azt hittem kész, vége, de hamar kiderült, tévedtem. A szekér által a padlón létrejövő árnyék szegélye, közelről - hisz ne feledjük, a GE-ben a kameramozgatáskor a nézetet az egérrel vezéreljük, és mint ilyen, akár lenézhetünk a padlóra is, és amit ott látnánk, lehet, hogy padlót fognánk. :-) - pixeles lett. Mutatom (nagyítva és más szögből), hogy miről beszélek:
 
 
A megoldásra László barátom vezetett rá. Először is: - Ha jobban szemügyre vesszük a Render Panelt, [] - egészen eldugva - talán ezért nem vettem észre, de ez nem igaz :-) - megtalálhatjuk az élsimító eljáráshoz rendelt Filtereket, mely több módot kínál fel. Nálam alapértelmezetten a Gaus volt beállítva, ezt módosítottam Tent-re, mint az látható. A Filter méretét - e mellett - hagytam 1.00-án. (max értéke 1.5 lehet, min. 0.50)
 
 
Ugye emlékeztek még, hogy a jelenetben van 3 lámpa, melyek közül az egyik Spot beállítású? No, nézzük meg újra ennek a paramétereit, mert itt kell a jobb eredmény érdekében módosítani 1-2 dolgot. Írtam is, hogy ide vissza fogunk térni később, hát eljött az idő!
 

A Spot Beállítása

 

Érdekes! Ha észreveszed, a ShadowBufferSize alatti gombok közül, 3 ismerősnek látszik. Hol is találkoztunk velük? Ááá... a Rendernél is van Box megTent - ott ezt választottuk ki - és Gaus. Következtetés: a Blender, a kép renderelésénél is és az árnyék-kép leképzésénél a Gaus módszerrel végezte az élsimítást. Viszont az eredmény nem kielégítő, tehát lépjünk tovább...

Sok-sok próbálgatás után találtam meg a jó (jobb) megoldást, vagyis - gondolom már sejted - a Spot-nál is a Tent kapcsolót kell aktivizálni. ...és még nincs vége! A Sample (minavétel) értéke max. 16 lehet. Én 8-as értékűre állítottam és a Soft-ot, ami az árnyék peremének lágyságáért felel - max értéke 100 lehet - 30-ra módosítottam.

Újra kezdtem az UV-réteg hozzáadásától a műveletsort - most ettől tekintsünk el, - csupán a végeredményt mutatnám meg, ami a fentebb leírt módosításokkal ezt produkálta és innen folytatom...

Csak a könnyebb összehasonlíthatóság kedvéért tettem egymás alá a két képet:

 
 

Ja... és még mindig nincs vége, de ráfordultunk a célegyenesre :-) tehát folytatom...

Az új UV rétegre, ha a megadott méretű (1024x1024) új képet rátetted és a Bake-Render-el elkészítetted az árnyékosított textúrát, és azt jónak találod, a képet el kell menteni. Ezt jelzi az UV ablak Image menüje melletti kis csillag.

Az egyszerűség kedvéért nevezzük shadowText-nek. Az elmentett képet, mint új textúrát hozzá kell adni a jelenethez és elvégezni a már fentebb leírt textúrázási műveletsort. Új textúrát az []-el, és a már a tárgyon lévő textúra alatti következő gomb aktivizálásával lehet.

 
 

Add New->Texture Type-nál az Image-t választani és a Load-al betölteni az elmentett képet. Aztán vissza a Material Panel-re és a Map Input-on a vetítés módja legyen szintén UV.

Megjegyzés a vége előtt: Ha nagyon ráérnék, a szekéren is elkészíteném az árnyékos textúrát és ezzel a módszerrel újra textúráznám, - látható lenne az ülésen a háttámla bordázott árnyéka, mint azt az elején renderelt solid képen már megmutattam -, de úgy gondolom, hogy az eddig leírtakból világos a LightMap használata. Van egy jó hírem... :-)

... most vagyunk készen! Ami ezután jön, már nem része a tutorialnak, vagyis futtatható fájlt készíteni a .blend-ből. Ezenkívül a lámpa textúrázása is megtörtént, tehát nincs más hátra, letölteni a futtatható fájl(oka)t és megtekinteni az eredményt.

 

Nem tudom megitélni, hogy első olvasásra érthető volt e minden, mert annak ellenére, hogy igyekeztem tematikusan felépíteni a mondanivalót, ez így együtt lehet, hogy "emészthetetlen". Többször meg nincs idő elolvasni... :-) Sok információt meg sem magyaráztam, hogy mit miért - pl.: az élsimító eljárások - de akit érdekel a működése, utánanézhet a Net-en. (akár magyarul is)

Ezért kitérők nélkül, összefoglalnám a mondanivaló lényegét, feltételezve, hogy az RC1 (RC2) verziót használjuk, a scene (jelenet) készen van és az árnyékolni kívánt modell fel van UV-textúrázva. Próbából UV-textúra nélkül is kipróbálható a LightMap, ilyenkor a létrehozott kép szürkeárnyalatos lesz, viszont jól levehető róla a lámpa és a render különböző beállításának eredménye. Végülis a legjobb képet kell elmenteni és ráhúzni a tárgyra.

 

Összefoglalás:

[] - A Mesh Panelen új UV réteget létrehozni és átnevezni

 

UV/Image Editor ablak Image->New alkalmazásával új képet létrehozni. Ennek méretét célszerű a tárgyon lévő textúra méretéhez igazítani.

[] - A Render Panelen módosítani az élsimító eljárás Filterét.

(Érdemes több variációt kipróbálni a jó eredmény érdekében)

Lámpa kijelölés - [] - és módosítani a paramétereket.

(Érdemes több variációt kipróbálni a jó eredmény érdekében)

 

Felső menü->Render kiválasztása

 

Az elkészült textúrát elmenteni és a modellre vetíteni

Ha a modellen még nincs anyag (Material)

[] ->Add New

Megjegyzés: ha már van anyaga a modellnek, akkor ez a lépés kimarad, következhet a textúrázás.

 

 

 

 

 

 

 

[] -> Texture

 

 

 

 

 

Texture Tye -> Image

Load

 

 

 

 

[] -> Map Input -> UV

 

Érdekes... Így, utólag átolvasva, kezdhettem volna az összefoglalással is :-))

Bízom benne, hogy a bemutatott LightMap sok felhasználónak nyújt segítséget és alkalmazni is fogják. Nincs más hátra, mint a letölthető verziókban a leírás eredményét megtekinteni (Linux és Window verzió egyaránt - W-A-S-D irányítás, click - nézelődés)

Sok sikert kívánok a jövőben elkészítendő munkákhoz. Ha kérdésed van, a Fórumban vagy a Chat-en megtalász ezen a nick-en.

 
Többszöri átolvasás után, ha maradtak volna helyesírási hibák, úgy azért elnézést kérek, de a segítő szándék vezetett! :-)
 

Futtatható Fájlok Letöltése

Linux OS
Windows
Simple File - 3,7 MB
Shadow File - 6,4 MB
 
Simple File = Árnyék nélküli verzió
Shadow File = Árnyékkal készült verzió