Java týden Java týden
Pouze tento týden sleva až 80 % na celý Java e-learning!
Brno? Vypsali jsme pro vás nové termíny školení OOP v Brně!

Pozor, padá hvězda!

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

Přej si něco, padá hvězda! A co když to není hvězda, ale kometa? Pak máme dvakrát štěstí - za prvé, že jsme ji viděli, a za druhé, že se do nás nestrefila. Takže si ji raději namodelujeme v našem virtuálném světě. V klidu a teple domova, aniž se za ní musíme štrachat do Betléma.

Opět se vrátíme k našemu minulému programu se Zemí. Naše kometa se bude skládat ze 4 objektů. Prvním je samotné tělo komety, což je obyčejná koule. Pak bude mít ohon, což bude komolý kužel pokrytý průhlednou texturou. Zvýšíme efekt tím, že kometa bude osvětlovat okolní objekty. Toho docílíme vytvořením objektu světla a jeho připojením ke kometě. A to vše bude sloučeno do jedné společné skupiny.

Nejdříve si proto připravíme 4 číselné proměnné, s názvy ID světla od komety, ID ohonu komety, ID komety a ID skupiny komety. Dále budeme potřebovat texturu ohonu komety. Základem textury je černá barva, na kterou nasprejujeme žluté tečky. Měly by budit dojem jisker. Nazvěte ji textura ohonu komety. Případně k downloadu na konci lekce.

Na konec inicializace programu přidejte skupinu vytvoření komety. Bude obsahovat další 4 vložené skupiny, světlo od komety, ohon komety, tělo komety a skupina komety.

První objekt, světlo od komety, vytvoříme jako bodové světlo s jasně žlutou barvou. Abychom si to ujasnili, objekt světla ve 3D grafice není vidět. Je to jen bod v prostoru s určitými světelnými parametry, ze kterých se počítá osvětlení okolních objektů. Proto ho můžeme přidat k objektu komety. Nevadí, že bude umístěn ve středu komety. Ve 3D grafice nedochází ke stínění světla objekty. Naopak, stíny od objektů je nutné náročně programově vytvářet.

Kromě námi vytvořeného bodového zdroje světla máme ve scéně ještě jeden zdroj světla. Je to implicitní zdroj světla, který je automaticky vytvářen při spuštění programu. Jedná se o směrové světlo bílé barvy, svítící na scénu z levého horního rohu. U směrového světla nezáleží na poloze zdroje, pouze na směru, kterým svítí. Pokud bychom chtěli manipulovat s implicitním zdrojem světla, vybrali bychom aktivní objekt číslo 2.

Kromě dvou uvedených je možné používat ještě třetí typ zdroje světla - kuželové světlo. Je to typ osvětlení podobný reflektoru. Kromě polohy a směru se u něj udává ještě rozměr kužele a dosvit.

Vytvoříme ohon komety. Jak jsme se již zmínili, jako ohon použijeme komolý kužel. Nejdříve zvolíme poměrně nízkou složitost objektu 4, protože u ohonu komety není třeba přesnost tvaru. Vypneme přepínače pro vytváření hodní a dolní podstavy kužele. Tím bude kužel nahoře a dole děravý.

Při vytváření objektu kužele zvolíme průměr horní podstavy 0.5. Nastavíme texturu ohonu komety a změníme měřítko ve směrech X a Z na 1.8, měřítko ve směru Y na 2.5. Kužel bude tedy protáhlý. Rotací kolem osy Z o 90 stupňů zajistíme správné otočení ohonu, protože kometa bude létat zprava doleva. Proto ještě posuneme ohon o 1 doprava (ve směru X), aby ohon vlál až za kometou.

Zapneme viditelnost pro obě strany objektu. Asi by vypadalo nepřirozeně vidět jiskry jen z vnější strany a ne z vnitřní strany ohonu.

U ohonu využijeme novou vlastnost - průhlednost. Průhlednost je operace kombinující barvu objektu s barvou předmětů nacházejících se za objektem. Například nastavením průhlednosti na kód 11 se barvy grafických bodů sčítají, podobně jako když hoří oheň. Ještě vypneme osvětlení objektu, jinak by bylo na ohonu vidět stínování od okolního světla, což u zářícího objektu není přirozené.

Dalším objektem bude vlastní tělo komety. Bude to opět koule. Její složitost nastavíme na 6. Barvu na jasně žlutou a osvětlení vypnuté, ze stejného důvodu jako u ohonu. Velikost zvolíme 0.1. Posunutím na -0.8 ve směru Z zajistíme potřebnou výšku komety nad povrchem Země. K tělu komety připojíme objekt světla od komety a objekt ohonu komety.

Posledním objektem bude skupina komety. Je to jen skupina, ke které je připojen objekt komety. Abychom zajistili obíhání komety kolem Země po šikmé dráze, natočíme o kousek celou soustavu kolem osy Z.

A ještě nakonec musíme kometu rozhýbat. Ohon budeme animovat tak, že budeme jednoduše náhodně nastavovat rotaci kolem osy Y, čímž zajístíme náhodné blikání jisker v ohonu komety. Celou skupinou komety budeme otáčet kolem osy Y podobně jako s Měsícem, jen rychlost zvolíme 0.06.

A teď už můžeme program spustit. Měli bychom vidět krásnou kometu, neboli staročesky létavici.

Náš skvělý, ale naprosto neužitečný program se pomalu blíží k naprosté dokonalosti. Ale - co by to bylo za Zemi bez jediného mráčku? Mraky nám ještě chybí k realističtějšímu vzhledu Země.

Základem textury mraků bude průhledná barva, na kterou nasprejujeme barevné skvrny. Nebo downloadujeme hotovou texturu na konci lekce.

Dále potřebujeme číselný prvek ID mraků. Objekt mraků vytvoříme v samostatné skupině vytvoření mraků předtím, než vytvoříme objekt Země. Podobně jako u Země, nejdříve zvolíme složitost objektu 10, vytvoříme objekt mraků jako kouli a nastavíme měřítko ve všech směrech na 1.05, čili mraky budou mírně nad povrchem Země. Poznamenejme, že všechny objekty se vytváří s rozměry 1. Dále nastavíme texturu mraků a zvolíme průhlednost číslo 54. Tento typ průhlednosti používá alfa kanál textury, což znamená průhlednou barvu. Body vyplněné průhlednou barvou zůstanou průhledné, ostatní body budou viditelné.

Před nastavením textury nastavíme parametr vyhlazení textur na hodnotu 2. Vyhlazení textur nám udává, jak moc se obraz textury rozmázne. Rozmáznutí se realizuje tak, že textura se zmenší v měřítku podle zadaného čísla. Přitom je třeba počítat s tím, že zpravidla (v závislosti na grafické kartě) se zmenšení provede na rozměry nejbližší násobku mocniny 2. Rozmáznutí textury zajistí, že okraje mraků budou poloprůhledné, s plynulým přechodem, a ne hranaté.

Po nastavení přepínače vyhlazení textur se tento přepínač uplatňuje i dále, u dalších nastavovaných textur. U textury Země je stupeň vyhlazení textury 2 v pořádku, jinak bychom viděli zrnitý povrch. U textury Měsíce zvolíme raději zrnitost a proto před nastavením textury Měsíce nastavíme vyhlazení textur na 1.

Pokud tutoriál zkoušíte v Lite verzi Petra tak nebudete pozorovat žádný rozdíl při doplnění přepínače vyhlazení textur. Je to z toho důvodu, že textury jsou v Lite verzi interně omezeny na rozměr 128 x 128 grafických bodů. Jedná se přitom o rozměr po vyhlazení textury. Textury byly připraveny tak, aby vyhovovaly stejně jak Lite verzi tak plné verzi, takže po vyhlazení nepřesahují rozměr podporovaný Lite verzí. Lite verze provedla vyhlazení textur jakoby automaticky.

Poslední úpravou bude připojení mraků k objektu Země.

Spustíte-li program, měli byste vidět Zemi zahalenou v oblacích. Mraky se přitom pohybují souhlasně se Zemí.

Nádhera? No a už je to snad konečně vše. Nebo ještě ne? No jasně! Co by to bylo za Vesmír bez hvězd!

No a není nic jednoduššího. Připravte si texturu oblohy, třeba jen černou plochu s pár bílými tečkami, a nastavte ji do prvku textura pozadí scény.

No a už jen spustit...

A to je vše, přátelé!

 

Stáhnout

Staženo 269x (318.73 kB)
Aplikace je včetně zdrojových kódů v jazyce Petr Lite (jsou obsaženy v EXE souboru, který lze v programu přímo otevřít)

 

 

Aktivity (1)

 

 

Komentáře

Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Daniel Vítek:14.1.2012 14:19

jej mě se to hrozně líbí :D nešel by z toho nějak udělat spořič ?? :D

Odpovědět 14.1.2012 14:19
Na síti působím už pěknou řádku let. Pokud budeš něco potřebovat, písni mi, pokusím se ti poradit :)
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Daniel Vítek
David Čápka:15.1.2012 14:33

Ano, udělat spořič by mělo být jednoduché, stačí změnit příponu souboru z EXE na SCR (nutno zapnout zobrazování přípon v nastavení Windows). Potom se soubor chová jako spořič obrazovky a stačí na něj kliknout pravým tlačítkem a zvolit Nainstalovat. Bude nutné doplnit nastavení celoobrazovkového režimu a aby se po pohnutí myši nebo stisku klávesy program ukončil, ale to jistě zvládnete :)

Odpovědět 15.1.2012 14:33
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na David Čápka
Daniel Vítek:15.1.2012 14:53

Dobrý den,
celoobrazovkový režim jsem si tam dal hned jak jsem si to stáhnul :D
Jinak děkuji za radu,funguje jako spořič :)

Odpovědět 15.1.2012 14:53
Na síti působím už pěknou řádku let. Pokud budeš něco potřebovat, písni mi, pokusím se ti poradit :)
Avatar
Šimon Raichl
Překladatel
Avatar
Odpovídá na Daniel Vítek
Šimon Raichl:16.8.2014 10:43

Jinak spořiče na dnešních LCD obrazovkách nemají smysl

 
Odpovědět 16.8.2014 10:43
Avatar
Odpovídá na Šimon Raichl
Michal Štěpánek:16.8.2014 13:16

Kdy jsi na takovou volovinu přišel??? Je vidět, že jsi toho o LCD monitorech mnoho nečetl. Když tam necháš stále svítit to samé, tak se ti to na monitor krásně vypálí a pak na něj můžeš koukat i když máš PC vypnutý... 8-)
Spořič nefunguje POUZE jako šetřič monitoru, ale i jako bezpečnostní prvek, pokud tam máš heslo...

Odpovědět  +1 16.8.2014 13:16
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Šimon Raichl
Překladatel
Avatar
Odpovídá na Michal Štěpánek
Šimon Raichl:16.8.2014 15:20

Nepleteš si to s CRT?

 
Odpovědět 16.8.2014 15:20
Avatar
Šimon Raichl
Překladatel
Avatar
Odpovídá na Michal Štěpánek
Šimon Raichl:16.8.2014 15:39

S tvou odpovědí souhlasím jenom 2/3 posledního souvětí.

 
Odpovědět 16.8.2014 15:39
Avatar
Odpovídá na Šimon Raichl
Michal Štěpánek:16.8.2014 15:42

Jsem na světě už nějakej ten pátek, zhruba 20 let se živím jako "ajťák" a poměrně dost LCD monitorů s vypáleným obrázkem nebo textem jsem již viděl...

Odpovědět  +1 16.8.2014 15:42
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Šimon Raichl
Překladatel
Avatar
Šimon Raichl:16.8.2014 15:54

Upřímně řečeno, já ne. Možná to bylo dřív, ale dneska si myslim, že by se nic na LCD moňák nic nevypálilo.

Editováno 16.8.2014 15:56
 
Odpovědět 16.8.2014 15:54
Avatar
Odpovídá na Šimon Raichl
Neaktivní uživatel:16.8.2014 15:59

Michal Štěpánek má pravdu. Často to bývá tam, kde je na počítači často nehybná plocha nebo třeba domovská stránka prohlížeče, takže typicky kanceláře a firmy, občas školy a další.

Odpovědět  +1 16.8.2014 15:59
Neaktivní uživatelský účet
Avatar
Odpovídá na Šimon Raichl
Michal Štěpánek:16.8.2014 16:03

Až se budeš pohybovat v IT aspoň tolik let, kolik ti je teď, zjistíš, že do těch tvých patnácti let jsi vlastně ještě skoro nic neviděl...
I když za patnáct let už asi moc LCD monitorů fungovat nebude, protože budou nahrazeny modernějšími technologiemi...

Odpovědět 16.8.2014 16:03
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Šimon Raichl
Překladatel
Avatar
Odpovídá na Michal Štěpánek
Šimon Raichl:16.8.2014 16:17

No, když to říkáš tak jistě, tak ti snad budu věřit.

 
Odpovědět 16.8.2014 16:17
Avatar
Panda38
Redaktor
Avatar
Odpovídá na Šimon Raichl
Panda38:16.8.2014 18:57

S vypalováním LCD bývá velká potíž u výherních automatů. Zůstat na obrazovce svítit stejný motiv několik dnů, to dokáže monitor docela pohřbít. Proto se musí obraz co nejvíc měnit, např. prokládáním reklam a dema.

 
Odpovědět 16.8.2014 18:57
Avatar
Šimon Raichl
Překladatel
Avatar
Odpovídá na Panda38
Šimon Raichl:16.8.2014 21:23

CRTcka jsou ale nachylnejsi, ne?

 
Odpovědět 16.8.2014 21:23
Avatar
Panda38
Redaktor
Avatar
Odpovídá na Šimon Raichl
Panda38:16.8.2014 21:43

To už nevím jistě (a nevím jak LCD v porovnání s LED), připadá mi že CRT byly snad i odolnější než LCD proti přepalu.

 
Odpovědět  +1 16.8.2014 21:43
Avatar
Šimon Raichl
Překladatel
Avatar
Odpovídá na Panda38
Šimon Raichl:16.8.2014 22:15

to si prave myslim,ze ne.

 
Odpovědět 16.8.2014 22:15
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Odpovídá na Šimon Raichl
Adam Ježek:16.8.2014 23:26

Já měl CRTeček hned několik a ani jednou se mi nestalo, že by na ní něco zůstalo, ačkoliv mi u jedný vždy v hornim rohu svítil neustále nápis AV1, odešla až po několika letech, kdy na ní někdo nechal magnet a přešla do odstínů fialové. LCD mám teď, a na ní když pozastavím přehrávání, tak po pár minutách celá zčerná a jezdí po ní nápis "pro návrat stiskněte OK", takže bude asi hodně náchylná.

Odpovědět 16.8.2014 23:26
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Šimon Raichl
Překladatel
Avatar
Odpovídá na Adam Ježek
Šimon Raichl:16.8.2014 23:38

Já nvm, někdy nechávam jen tak moňák bežet, a nic se mu nestalo.

 
Odpovědět 16.8.2014 23:38
Avatar
Odpovídá na Šimon Raichl
Neaktivní uživatel:16.8.2014 23:41

Tak ho nech běžet třeba měsíc v kuse a pak uvidíš :)

Odpovědět 16.8.2014 23:41
Neaktivní uživatelský účet
Avatar
Šimon Raichl
Překladatel
Avatar
 
Odpovědět 16.8.2014 23:43
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 20 zpráv z 20.