Train_Light_map _with_Diffuse. Fx
-
- Moderátor a modelář
- Příspěvky: 806
- Registrován: sob 28. bře 2009 13:37:36
- Bydliště: Proboštov / Teplice
- Kontaktovat uživatele:
Train_Light_map _with_Diffuse. Fx
Tento shader je určen především pro modely budov. Využívají dvou mapovacích kanálů, kdy v jednom je hlavní difusní textura a ve druhém tzv. světelná mapa. Světelná mapa (lightmaps) má za cíl dodat modelu stín v místech, kam nedopadá přímě světlo. Nejedná se tedy o klasický stín, který generuje hra. Rozdíl je jasně patrný na těchto dvou snímcích. Na prvním vidíme objekt s použitím klasického "Texdiff" shaderu, na druhém je stejný objekt, ale s použitím našeho shaderu (Train_Light_map _with_Diffuse. Fx)
Na těchto screenech je jasně vidět, že druhá textura neovlivňuje jen diffúzní stín v místech pod střechou, u země či u dveří, ale také celkové světlo dopadající ve hře na objekt. V návodu se pokusím vysvětlit, jak tuto světelnou mapu vytvořit.
1) Takto vypadá cvičný objekt při použití jednoduchého shaderu
2) Nyní si načteme náš shader, který obsahuje dva sloty. Do prvního načteme hlavní texturu a namapujeme na objekt. Postup je stejný jako u jednoduchého shaderu ( např. Texdiff). Do druhého později načteme světelnou mapu ( příště jen LM ). Tu nyní vytvoříme a zároveń namapujeme na objekt.
3) Spojíme všechny objekty, u kterých chceme použít tento shader a to pomocí příkazu „Attach“ . Ten najdeme v záložce "Edit Geometry"
Zde bych se zastavil. Důvodem, proč jsem spojil všechny objekty ve scéně je fakt, že se jedná o jednoduchý objekt, který bude používat pouze jeden materiál s tímto shaderem, takže budu vytvářet jen jednu texturu pro druhý slot. Může ale nastat situace, kdy je objekt podstatně složitější.
U takových objektů je nezbytné, abyste si vše předem jasně naplánovali. Pakliže stavíte nádraží s osmi budovami, řekněme A,B,C,D,E,F,G,H, tak vytvářejte základní textury chronologicky. Textura_1 pro objekty „A“ a „B“, Textura_2 pro objekt „C“ apod. Pakliže bude "Textura_1" uspořádaná tak, že na ní bude něco z budovy A, ale taky B,C,D a H, tak při snaze o vytvoření textury pro druhý slot tohoto materiálu skončíte, nebo se nejdřív zblázníte a pak skončíte. Více plánování s vytvořením textur, LODů se tady rozhodně vyplatí.
4) Vytvoříme nový materiál, nikoliv však Kuju materiál, ale běžný „Standart“. Odemkněte „Ambient“ a „Diffuse“ a změňte barvy podle screenu. První a třetí nechávám stejné, prostřední (Diffuse) změním na hodnotu 220. Můžete ale experimentovat, osobně to jen opakuji podle jiného návodu. Tento materiál aplikujte na objekt.
5) Nyní vytvoříme mapování pro LM. Mezi modifikátory vybereme „Unwrap UWV“ a v poli pro „Map Chanal „ zadáme číslo 2!!!!!!! V nabídce modifikátoru vybereme mapování podle ploch (Face), stiskneme Ctrl+A, čímž se nám automaticky vyberou všechny plochy.
V poli "Parameters" klikneme na "Edit...". Otevře se nám okno "Edit UVWs". Zde v záložce "Mapping" vybereme "Flatten mapping". Změníme pouze pole "Spacing" na 0,002. Nyní máme všechny klastry rovnoměrně rozložené. Žádný se nesmí překrývat.
6) Vložíme do scény světlo. Vše je na znázorněno na screenu. U tohoto světla je jedno, v jakém místě scény ho umístíte.
7) Scénu máme prakticky připravenou. Kdo chce, může ještě přidat jednoduchý objekt ( plane ), který při renderování simuluje zem. Přejdeme k renderování scény. Záložka Rendering/Render To Texture...
Otevře se nám okno "Render To Texture". Nejprve klikneme na tlačítko "Setup".
Vpravo nahoře vybereme "Advanced Lighting" a potom "Light Tracer" ( přesně podle screenu).
Uděláme zkušební render. Vpravo dole klikneme na tlačítko "Render". Mělo by se vám objevit něco podobného.
Takto bude vypadat rozložení stínů a světel na našem objektu. Teď zavřeme toto okno a přejdeme k "Render To Texture". Opět přesně podle screenu. Vybereme objekt ve scéně, v políčku "Chanell" dáme "2". Klikneme na "Add..." a vybereme "CompleteMap".
V poli "Name" si můžete změnit název textury, File Name and Type určuje místo, kam si uložíte LM. Element Background určuje barvu pozadí u textury Lm. Nenechávejte černou, ale dejte světle šedou barvu. Nakonec zadejte velikost textury. Co jsem viděl, tak byla používána velikost maximálně 256x256 px, u RW3 možná i 512 x 512 px, ale nejsem si tím jistý.
Nakonec klikneme na tlačítko "Render" a vytvoříme tím naší texturu (LM). V náhledu vypadá takto. Pozadí zůstává černé, ale v samotné textuře je pozadí takové, jaké jsme si nastavili.
V posledním kroku si tuto texturu uložím do složky "Texture" ve formátu "ACE" a načtu do druhého slotu materiálu. To je vše a nyní můžeme objekt exportovat do hry.
To je vše. Na první pohled se to zdá asi složité, ale je to jen otázka praxe. Je to opakování stále toho samého.
Na těchto screenech je jasně vidět, že druhá textura neovlivňuje jen diffúzní stín v místech pod střechou, u země či u dveří, ale také celkové světlo dopadající ve hře na objekt. V návodu se pokusím vysvětlit, jak tuto světelnou mapu vytvořit.
1) Takto vypadá cvičný objekt při použití jednoduchého shaderu
2) Nyní si načteme náš shader, který obsahuje dva sloty. Do prvního načteme hlavní texturu a namapujeme na objekt. Postup je stejný jako u jednoduchého shaderu ( např. Texdiff). Do druhého později načteme světelnou mapu ( příště jen LM ). Tu nyní vytvoříme a zároveń namapujeme na objekt.
3) Spojíme všechny objekty, u kterých chceme použít tento shader a to pomocí příkazu „Attach“ . Ten najdeme v záložce "Edit Geometry"
Zde bych se zastavil. Důvodem, proč jsem spojil všechny objekty ve scéně je fakt, že se jedná o jednoduchý objekt, který bude používat pouze jeden materiál s tímto shaderem, takže budu vytvářet jen jednu texturu pro druhý slot. Může ale nastat situace, kdy je objekt podstatně složitější.
U takových objektů je nezbytné, abyste si vše předem jasně naplánovali. Pakliže stavíte nádraží s osmi budovami, řekněme A,B,C,D,E,F,G,H, tak vytvářejte základní textury chronologicky. Textura_1 pro objekty „A“ a „B“, Textura_2 pro objekt „C“ apod. Pakliže bude "Textura_1" uspořádaná tak, že na ní bude něco z budovy A, ale taky B,C,D a H, tak při snaze o vytvoření textury pro druhý slot tohoto materiálu skončíte, nebo se nejdřív zblázníte a pak skončíte. Více plánování s vytvořením textur, LODů se tady rozhodně vyplatí.
4) Vytvoříme nový materiál, nikoliv však Kuju materiál, ale běžný „Standart“. Odemkněte „Ambient“ a „Diffuse“ a změňte barvy podle screenu. První a třetí nechávám stejné, prostřední (Diffuse) změním na hodnotu 220. Můžete ale experimentovat, osobně to jen opakuji podle jiného návodu. Tento materiál aplikujte na objekt.
5) Nyní vytvoříme mapování pro LM. Mezi modifikátory vybereme „Unwrap UWV“ a v poli pro „Map Chanal „ zadáme číslo 2!!!!!!! V nabídce modifikátoru vybereme mapování podle ploch (Face), stiskneme Ctrl+A, čímž se nám automaticky vyberou všechny plochy.
V poli "Parameters" klikneme na "Edit...". Otevře se nám okno "Edit UVWs". Zde v záložce "Mapping" vybereme "Flatten mapping". Změníme pouze pole "Spacing" na 0,002. Nyní máme všechny klastry rovnoměrně rozložené. Žádný se nesmí překrývat.
6) Vložíme do scény světlo. Vše je na znázorněno na screenu. U tohoto světla je jedno, v jakém místě scény ho umístíte.
7) Scénu máme prakticky připravenou. Kdo chce, může ještě přidat jednoduchý objekt ( plane ), který při renderování simuluje zem. Přejdeme k renderování scény. Záložka Rendering/Render To Texture...
Otevře se nám okno "Render To Texture". Nejprve klikneme na tlačítko "Setup".
Vpravo nahoře vybereme "Advanced Lighting" a potom "Light Tracer" ( přesně podle screenu).
Uděláme zkušební render. Vpravo dole klikneme na tlačítko "Render". Mělo by se vám objevit něco podobného.
Takto bude vypadat rozložení stínů a světel na našem objektu. Teď zavřeme toto okno a přejdeme k "Render To Texture". Opět přesně podle screenu. Vybereme objekt ve scéně, v políčku "Chanell" dáme "2". Klikneme na "Add..." a vybereme "CompleteMap".
V poli "Name" si můžete změnit název textury, File Name and Type určuje místo, kam si uložíte LM. Element Background určuje barvu pozadí u textury Lm. Nenechávejte černou, ale dejte světle šedou barvu. Nakonec zadejte velikost textury. Co jsem viděl, tak byla používána velikost maximálně 256x256 px, u RW3 možná i 512 x 512 px, ale nejsem si tím jistý.
Nakonec klikneme na tlačítko "Render" a vytvoříme tím naší texturu (LM). V náhledu vypadá takto. Pozadí zůstává černé, ale v samotné textuře je pozadí takové, jaké jsme si nastavili.
V posledním kroku si tuto texturu uložím do složky "Texture" ve formátu "ACE" a načtu do druhého slotu materiálu. To je vše a nyní můžeme objekt exportovat do hry.
To je vše. Na první pohled se to zdá asi složité, ale je to jen otázka praxe. Je to opakování stále toho samého.
Re: Train_Light_map _with_Diffuse. Fx
mno já už se to konečně naučil ... ale i tak díky. Když se něco nepovede mrknu sem. Pomohl si snad nejen mě
Re: Train_Light_map _with_Diffuse. Fx
Jen mám malý problém. Pro renderu mi stíny sedí ale jakmile texturu načtu do 2. slotu textury, a vyexportuju tak mi stíny nesedí jak mají ... dělá to i když mám renderovaný stín 256, 512 tak i když je stejný jako velikost textury...
-
- Moderátor a modelář
- Příspěvky: 806
- Registrován: sob 28. bře 2009 13:37:36
- Bydliště: Proboštov / Teplice
- Kontaktovat uživatele:
Re: Train_Light_map _with_Diffuse. Fx
Ukaž screen. Mapování máš ve druhém kanálu ? A ještě jedna věc. Modifikátor „Unwrap UWV“ musí zůstat po celou dobu.
Re: Train_Light_map _with_Diffuse. Fx
adult image hosting
Mapování jako takové mám chanel-1 a stíny co jsem renderoval mám chanel-2 jestli to myslíš takto
-
- Moderátor a modelář
- Příspěvky: 806
- Registrován: sob 28. bře 2009 13:37:36
- Bydliště: Proboštov / Teplice
- Kontaktovat uživatele:
Re: Train_Light_map _with_Diffuse. Fx
A tady si taky dal druhý mapovací kanál ?
http://imageshack.us/photo/my-images/835/89145086.jpg/
Jestli ano, tak mě ještě napadá to, co jsem psal prve. Musíš nechat modifikátor „Unwrap UWV“ v zásobníku až dokonce. Teprve když je render textury dokončen, tak vše sbalim do "EditPoly". Jestli to uděláš dříve, tak si program vytvoří pro render textury vlastní mapování, které nebude odpovídat tomu, co jsi před tím udělal ty.
http://imageshack.us/photo/my-images/835/89145086.jpg/
Jestli ano, tak mě ještě napadá to, co jsem psal prve. Musíš nechat modifikátor „Unwrap UWV“ v zásobníku až dokonce. Teprve když je render textury dokončen, tak vše sbalim do "EditPoly". Jestli to uděláš dříve, tak si program vytvoří pro render textury vlastní mapování, které nebude odpovídat tomu, co jsi před tím udělal ty.
Re: Train_Light_map _with_Diffuse. Fx
Pokud dám chanel 2 tak se mi vyrenderuje hotová textura se stíny.
-
- Moderátor a modelář
- Příspěvky: 806
- Registrován: sob 28. bře 2009 13:37:36
- Bydliště: Proboštov / Teplice
- Kontaktovat uživatele:
Re: Train_Light_map _with_Diffuse. Fx
Nerozumím. Nějaká textura se ti bude renderovat vždycky a je jedno, jestli máš zadaný druhý, nebo třetí mapovací kanál. Musíš mít zadán druhý mapovací kanál a v zásobníku mít aktivní modifikátor UVW. Máš tohle všechno nebo ne ? Jestli ne, tak si program vytvoří vlastní mapování a je jedno, že si udělal svoje.smekac píše:Pokud dám chanel 2 tak se mi vyrenderuje hotová textura se stíny.
A další věc. Když se ti vyrendruje hotová textura, tak ji porovnej se svým mapováním a musíš vidět jasný rozdíl. Tím se přiblížíš k místu, kde děláš chybu.
Re: Train_Light_map _with_Diffuse. Fx
K příspěvku výše. LM se obyčejně renderuje samostatně-bílé pozadí+šedá jako stín, v uvedeném případě se stín přímo vykreslí do puvodní textury.
EDIT:Večer se na to ještě mrknu ...
EDIT:Večer se na to ještě mrknu ...
Re: Train_Light_map _with_Diffuse. Fx
Jestli jsem to správně pochopil tak výstup z renderu je toto:
gif hosting
Když to pak vyexportuju do ACE a dám do slotu 2 tak mi to dělá to jak jsem ukazoval na screenu ↑
gif hosting
Když to pak vyexportuju do ACE a dám do slotu 2 tak mi to dělá to jak jsem ukazoval na screenu ↑
Re: Train_Light_map _with_Diffuse. Fx
Ano, modifikátor mě zustává, ale jak se tak dívám, vadí když jsem již dříve modifikátor použil a dal collpase all ?
-
- Moderátor a modelář
- Příspěvky: 806
- Registrován: sob 28. bře 2009 13:37:36
- Bydliště: Proboštov / Teplice
- Kontaktovat uživatele:
Re: Train_Light_map _with_Diffuse. Fx
Vadí. Mně se to co popisuješ stalo taky.
Re: Train_Light_map _with_Diffuse. Fx
Mno tak to je docela uplně v ..........
-
- Moderátor a modelář
- Příspěvky: 806
- Registrován: sob 28. bře 2009 13:37:36
- Bydliště: Proboštov / Teplice
- Kontaktovat uživatele:
Re: Train_Light_map _with_Diffuse. Fx
?
To musí jít, na 100%. Děláš něco špatně. Když tak mi to hoď do SZ. Ale to jde opravit, stoprocentně.
To musí jít, na 100%. Děláš něco špatně. Když tak mi to hoď do SZ. Ale to jde opravit, stoprocentně.
Re: Train_Light_map _with_Diffuse. Fx
Nevie niekto pomoct ak by som chcel vytienovat napr. podvozok ktory ma okolo 2500 poly = polovica podvozku (jedna strana). Mapoval som to cez planar map. Je postup uplne taky isty? Uz som nieco skusal ale bud som pravil chybu v mapovani alebo niekde inde lebo mi pri exporte hry ukazuje podivne veci na tej texture ktore nie su vidiet ani na tej tienovej mape.
-
- Moderátor a modelář
- Příspěvky: 806
- Registrován: sob 28. bře 2009 13:37:36
- Bydliště: Proboštov / Teplice
- Kontaktovat uživatele:
Re: Train_Light_map _with_Diffuse. Fx
S tolika polygony se tento podvozek udělat nedá ( s tímto shaderem myslím ). Pro začátek bych zkusil dát jednoduchý shader "Texdiff" a po exportu uvidíš, zda je problém v shaderu nebo v mapování.