Komplexní geometrie - Generování terénu - Generovaná množina I - Generovaná množina II
Vedle modelování založeném na obecné geometrii se často setkáme i se situacemi, kdy potřebujeme použít námi vytvořené tvary v širším kontextu modelování. K tomu slouží kategorie nástrojů - modifikátorů, zde v programu CaZaBa nazvaná jako Komplexní geometrie. Najdeme ji na levém panelu na kartě Komplexní geometrie hned vedle Kamer / Světel, 3D modelů a 2D modelů.
Při rozbalení roletky na kartě Komplexní geometrie uvidíte řadu funkcí. Všechny tyto funkce jsou podrobně popsány v dokumentaci obsažené v instalaci programu. Všechny nám pomohou vytvořit snadno a rychle mnohem složitejší - tedy komplexní modely jen díky nastavení několika jejich parametrů. Například zvažme scenérii velkoměsta, kde je zapotřebí vytvořit terénní reliéf a rozmístit na něm budovy a to vše s určitou náhodností, aby výsledek působil přirozeně. Každou budovu a každý detail by sice šlo nastavit jednotlivě, ale to by bylo příliš zdlouhavé a pracné. My si v následujících dvou tutoriálech ukážeme, jak vše zařídit mnohem rychleji.
Pro následující práci si opět stáhněte zde potřebné materiály, abychom nezačínali úplně od nuly. V archivu jsou k dispozici model obytného domu, model mrakodrapu, textury pro ně a ještě textura povrchu města a textura pro dálnici.
Jako první si vytvoříme terén, na kterém bude město stát. Samotný model generování terénu vždy potřebuje nějaký vstupní model podle jehož tvaru vytvoří výsledný terén. Nemusí tedy jít jen o rovinu, ale i o Válec, Elipsoid nebo kterýkoliv jiný tvar. Pro naše město potřebujeme výchozí model, kterým bude Panel z karty 3D modely a který si nastavíme například takto:
Nyní k samotnému terénu. Na kartě Komplexní geometrie na levém panelu vyberte Terén a stiskněte tlačítko Vytvořit. Zdánlivě se neobjevilo nic, ale to není pravda. Generátor terénu se vytvořil prázdný, protože nejdříve potřebuje vědět na jakém tvaru má terén vygenerovat a jak. Máme-li stále model terénu vybraný, tak v dolní polovině levého panelu se zobrazuje několik příslušných parametrů. Hned první parametr je Vstupní model. Klikněte na jeho tlačítko [...] a v následujícím seznamu modelů vyberte Panel, který jsme vytvořili před chvílí.
Parametr TexCoord ponechte beze změny. Aby mohla tato funkce generovat terén skutečně na jakémkoliv tvaru, tak místo prostorových souřadnic využívá souřadnice mapování povrchu. Pokud bychom tedy změnili mapování vrcholů v jedné vrstvě UV, můžeme zde pro generování terénu zvolit některou z ostatních UV vrstev. Ostatní parametry nastavte tak, aby nám vzniknul mírně zvlněný terén. Třeba následovně:
Po nastavení terénu vidíme, že se v prostoru objevil nový panel deformovaný podle výše zmíněných parametrů. Zatím je ale bez materiálu, a proto mu jeden nastavíme. Na panelu nástrojů tlačítkem Materiály otevřete paletu materiálů. V ní hned u prvního materiálu klikněte na tlačítko Difuzní pod řadou šedých rámečků. Otevře se dialogové okno nastavení difuzní textury, kde klikněte na tlačítko Otevřít... a nalistujte texturu Citybed_01.png, kterou jsme si stáhli výše. Okno difuzní textury opět zavřete. U tohoto materiálu ještě nastavíme velmi jemný odlesk nastavením Spekulárního exponentu na 10. Dvojklikem na barevný čtverec Spekulární složky materiálu pak otevřete její nastavení a její barvu nastavte na hodnotu RGB = 3;3;3 (téměř černá). Máme-li model terénu stále vybraný, tak nyní tlačítkem Přidat přiřadíme materiál modelu.
Nyní v našem modelu města vytvoříme zástavbu obytných domů. K tomu nám pomůže další funkce z karty Komplexní geometrie nazvaná Generovaná množina, která umožňuje rozmístit kopie zadaného modelu po povrchu jiného modelu. Stejně jako funkce pro generování terénu, ani tato nemá žádnou podobu dokud nedostane vstupní model - modely domů. Pojďme tedy importovat modely domů, které jste stáhli se všemi zdroji pro tento tutoriál.
Použijte volbu Model - Import... a nalistujte modely Condo.obj a Skyscraper.obj (nutno importovat jednotlivě). Pozor: Až vás program vyzve zda importovat i materiály, tak zvolte NE. To z toho důvodu, že import materiálů by vždy přepsal paletu těch aktuálních včetně materiálu pro vygenerovaný terén, který jsme již nastavili. Materiály pro domy nastavíme ručně takto:
Materiál Condo:
Materiál Skyscraper:
Stejně jako v případě terénu vyberte postupně každý model domu a tlačítkem Přidat v paletě materiálů jim přiřaďte každému jeho odpovídající materiál.
Nyní konečně půjdeme generovat. Na kartě Komplexní geometrie vyberte Generovaná množina a stiskněte tlačítko Vytvořit. Nový model je opět prázdný, protože očekává několik vstupních modelů. První je Model normál. Ten nám udává jednak původní tvar a jednak jakým směrem v každém vrcholu míří normálový vektor, podle kterého se orientuje i rozmísťovaný model. Zde zvolte původní model Panel. Další vstupní model je Model výšek. Ten udává skutečný reliéf a sem patří nastavit model Terén. Poslední je Model prvku, tedy toho, jehož kopie bude funkce rozmisťovat po povrchu a to bude nyní model obytného domu Condo.
Další parametry nastavte takto:
Tip: Generování prvků v Generované množině je řízeno funkcí pseudonáhodných čísel. Ta vychází z hodnoty Seed. Chcete-li, aby se prvky generovaly v jiném sledu, můžete zkusit nastavit hodnotu Seed jinou než nula.
Jak vidno, funkce rozmístí 400 domů přičemž se budou lišit v umístění nad terénem až do výšky +/- 1 jednotka a ve velikosti až do +/- 50 procent. Dál také vidíme, že pokud měl model prvku přiřazené nějaké materiály, tak funkce Generovaná množina je automaticky převezme na sebe. Pozor: Generovaná množina je samostatný model. Aby byl správně umístěný na terénu, s jehož pomocí je Generovaná množina tvořená, musí být oba umístěny ve stejném bodě v prostoru.
Pro rozmístění mrakodrapů použijeme opět Generovanou množinu, ale s trochu jiným nastavením. Zatímco obytné domy tvoří většinu města, mrakodrapy bývají často situovány do sevřené skupiny v centru. Vytvořte si výše popsaným způsobem novou Generovanou množinu. Nyní jí přiřaďte model Skyscraper a nastavte tyto parametry:
Oproti první Generované množině jsme nyní použili parametr Generovat ohniska. Ve spojení s hodnotou Počet ohnisek funkce nejdříve vygeneruje body na povrchu terénu, kolem kterých se následně rozmístí Model prvku. Díky tomu lze generovat různé podobné skupinové útvary jako zmíněné mrakodrapy nebo lesy, skupiny keřů, kamenů atd. Jelikož jsme zapnuli Generovat ohniska a nastavili Počet ohnisek = 1, vygenerovala se jen jedna skupinka mrakodrapů. Kdybychom zvolili jiný počet ohnisek, například 3, vytvoří se v naší scenérii tři skupinky, atd.
Tip: Při práci s Generovanou množinou jsme minuli parametr Kolmo k povrchu. Jde vlastně o přepínač, který říká, jestli se mají Modely prvků orientovat podle normálového vektoru Modelu normál, tedy kolmo k horizontu a nebo Modelu výšek, tedy kolmo k povrchu v daném bodě.
Pro pokračování si prosím otevřete tutoriál Komplexní geometrie - Úvod II.