ˇ ENI´ TECHNICKE´ V BRNEˇ VYSOKE´ UC BRNO UNIVERSITY OF TECHNOLOGY
ˇ NI´CH TECHNOLOGII´ FAKULTA INFORMAC ˇ NI´CH SYSTE´MU ˚ ´ STAV INFORMAC U FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS
BUDOVA BOZˇETEˇCHOVA 1/2 V GOOGLE EARTH
ˇ SKA´ PRA´CE ´R BAKALA BACHELOR’S THESIS
AUTOR PRA´CE AUTHOR
BRNO 2010
PAVEL NAJMAN
ˇ ENI´ TECHNICKE´ V BRNEˇ VYSOKE´ UC BRNO UNIVERSITY OF TECHNOLOGY
ˇ NI´CH TECHNOLOGII´ FAKULTA INFORMAC ˇ NI´CH SYSTE´MU ˚ ´ STAV INFORMAC U FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS
BUDOVA BOZˇETEˇCHOVA 1/2 V GOOGLE EARTH THE BUILDING OF BOZˇETEˇCHOVA 1/2 IN GOOGLE EARTH
ˇ SKA ´R ´ PRA´CE BAKALA BACHELOR’S THESIS
AUTOR PRA´CE
PAVEL NAJMAN
AUTHOR
VEDOUCI´ PRA´CE SUPERVISOR
BRNO 2010
´S ˇ HRUSˇKA, CSc. prof. Ing. TOMA
Abstrakt Tato práce se zabývá tvorbou modelů budov pro Google Earth v aplikaci Google SketchUp. V úvodních kapitolách jsou vysvětleny principy modelování v Google SketchUp a nejčastěji používané nástroje pro tvorbu budov. V další kapitole jsou uvedeny dvě metody pro vytvoření budovy a její následné umístění do systému Google Earth. Hlavním cílem této práce je vytvořit model budovy, který splňuje kritéria přijetí do vrstvy 3D Budov.
Abstract This thesis deals with creating building models for Google Earth in Google SketchUp. The introductory chapters explain the principles of modeling in Google SketchUp and the most frequently used tools for building modeling. The next chapter provides two methods for creating a building and its subsequent placement in the Google Earth. The main objective of this work is to create a model of the building that meets the criteria for admission to the 3D Buildings layer.
Klíčová slova Google SketchUp, Google Earth, modelování budov, geo-modeling, 3D budovy
Keywords Google SketchUp, Google Earth, building modeling, geo-modeling, 3D buildings
Citace Pavel Najman: Budova Božetěchova 1/2 v Google Earth, bakalářská práce, Brno, FIT VUT v Brně, 2010
Budova Božetěchova 1/2 v Google Earth Prohlášení Prohlašuji, že jsem tuto bakalářskou práci vypracoval samostatně pod vedením prof. Ing. Tomáše Hrušky CSc. a uvedl jsem všechny literární prameny a publikace, ze kterých jsem čerpal. ....................... Pavel Najman 17. května 2010
Poděkování Rád bych poděkoval prof. Ing. Tomáši Hruškovi CSc. za vedení této bakalářské práce. Dále bych rád poděkoval Michaele Šromové za pomoc s nafocením budovy a za pomoc při úpravě fotek.
c Pavel Najman, 2010.
Tato práce vznikla jako školní dílo na Vysokém učení technickém v Brně, Fakultě informačních technologií. Práce je chráněna autorským zákonem a její užití bez udělení oprávnění autorem je nezákonné, s výjimkou zákonem definovaných případů.
Obsah 1 Úvod 1.1 Google SketchUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 Historie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Google Earth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Principy modelování objektů v Google 2.1 3D prostředí Google SketchUp . . . . 2.1.1 Orientace . . . . . . . . . . . . 2.1.2 Pohyb . . . . . . . . . . . . . . 2.1.3 Zobrazení . . . . . . . . . . . . 2.2 Reprezentace a modelování těles . . . 2.2.1 Základní nástroje . . . . . . . . 2.2.2 Nástroje pro modelování . . . . 2.2.3 Přesnost při modelování . . . . 2.3 Transformace těles . . . . . . . . . . . 2.3.1 Materiály . . . . . . . . . . . . 2.4 Google Earth nástroje . . . . . . . . . 2.5 Správa scény . . . . . . . . . . . . . . 2.5.1 Skrývání a zamykání objektů . 2.5.2 Vrstvy . . . . . . . . . . . . . . 2.5.3 Skupiny a komponenty . . . . .
. . . . . . . . . . . . . . .
4 4 4 6 6 7 7 8 8 9 9 10 11 12 12 12
3 Geomodeling pro Google Earth 3.1 Extruded Footprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Matched Photo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Implementace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17 17 24 26
4 Kritéria přijatelnosti budov 4.1 Problémy s přijetím modelu . . . . . . . . . . . . . . . . . . . . . . . . . . .
29 30
5 Závěr
31
A Obsah CD
33
1
SketchUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 2 2 3
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
Kapitola 1
Úvod Modelování patří mezi techniky pro zobrazení objektů reálného světa. Naším cílem je vytvořit 3D model budovy a poté tento model umístit do aplikace Google Earth. V kapitole 2 jsou rozebrány základní principy modelování v Google SketchUp. Tato kapitola obsahuje náhled na problematiku orientace ve 3D prostředí, popisuje geometrii modelů, transformace použitelné pro jejich vytvoření a rozebírá možnosti správy scény. Kapitola 3 představuje dvě metody, které se dají použít pro vytvoření modelu budovy a pro vložení vytvořeného modelu do systému Google Earth. Poslední kapitola shrnuje kritéria, které by měl model splňovat pro jeho umístění do vrstvy 3D Budov. Protože Google SketchUp není k dispozici v české lokalizaci, nepřekládal jsem zde názvy nástrojů ani názvy jednotlivých položek hlavní nabídky.
1.1
Google SketchUp
Model budovy můžeme vytvořit v různých programech, avšak asi nejvhodnější je použít Google SketchUp, který je z nich uživatelsky nejpřívětivější. Uživatelská přívětivost je dána jeho vlastnostmi, mezi které patří hlavně jeho cena, jednoduchost a dostupnost pro různé platformy. Sketchup je k dispozici zdarma ke stažení na stránkách http:// sketchup.google.com. Na stejných stránkách je také dostupná placená verze Pro, která oproti základní verzi nabízí další možnosti jako např. tvorbu stylů, dynamických komponent, rozšířené možnosti exportu modelů, nástroj LayOut pro tvorbu 2D prezentací a další. I přes veškerá rozšíření Pro verze je k vytvoření a sdílení modelu postačující verze základní. Obě verze jsou dostupné pro operační systémy Windows XP/Vista a Mac OS X (10.4+).
1.1.1
Historie
SketchUp byl vyvinutý v roce 1999 firmou @Last Software jako jednoduchý 3D modelovací program určený pro každého. Vzhledem k jeho jednoduchosti se s tímto programem šlo naučit pracovat rychleji než s ostatními programy určenými pro 3D modelování. Jeho hlavní nevýhodou byla cena, za kterou se prodával. V roce 2006 byla firma @Last Software odkoupena firmou Google, která program upravila pro snadnou tvorbu budov do vrstvy 3D Budovy aplikace Google Earth a nabídla ho volně ke stažení na svých stránkach. K dnešnímu dni jsou k dispozici stovky různých modelů a vznikají projekty pro převedení celých měst pro aplikaci Google Earth.
2
1.2
Google Earth
Google Earth je aplikace zobrazující planetu Zemi s využitím satelitních a leteckých snímků. Tato aplikace byla vytvořena firmou Keyhole a původně byla známá jako Earth Viewer. V roce 2004 Google odkoupil firmu Keyhole a z Earth Viewer se stal Google Earth. Aplikace s omezenou funkčností je volně k dispozici na stránkách http://earth.google.com. Na stejných stránkách je k dispozici i placená verze Pro s rozšířenou funkcionalitou. Aplikace obsahuje množství rozšíření například v podobě snímků noční oblohy, planet nebo historických snímků.
3
Kapitola 2
Principy modelování objektů v Google SketchUp Pokud chceme vytvořit model v Google SketchUp, musíme se nejdříve seznámit s jeho prostředím a nástroji pro modelování a transformace objektů, které nám nabízí. Protože SketchUp nabízí velké množství nástrojů a popis všech by byl příliš vyčerpávající, budou zde uvedeny pouze nástroje, které se nejčastěji používají při modelování budov. Popis ostatních nástrojů lze nalézt v [8].
2.1
3D prostředí Google SketchUp
V knize [1] byla položena zajímavá otázka: Potřebujeme umět malovat, abychom mohli ” používat SketchUp?“. A negativní odpověď na tuto otázku byla zdůvodněna tím, že tradiční malování je převod toho, co člověk vidí na kus papíru. Tedy přechod z 3D do 2D, což je obtížné pro většinu lidí. Ve SketchUpu pracujeme ale vždy ve trojrozměrném prostředí, takže žádný převod informací není zapotřebí, protože sám program se stará o vše potřebné jako např. perspektivu nebo stínování. Tady však nastává komplikace v tom, že převádíme informace o 3D objektu do 3D prostředí programu na 2D obrazovce. Čili SketchUp převádí problém převodu vlastností objektu na problematiku orientace a pohybu ve 3D prostředí s pomocí 2D zobrazení.
2.1.1
Orientace
Pro orientaci v 3D prostředí Google SketchUp jsou k dispozici 3 souřadné osy. Každá osa má vlastní barvu (červenou, modrou nebo zelenou), je kolmá na ostatní a průsečík těchto os nazýváme počátkem. Pokud se budeme pohybovat paralelně s nějakou osou, SketchUp nám o tom dá vědět pomocí inference. Inference je pomůcka pro přesnější modelování a snazší orientaci v prostoru. Existuje několik druhů inferencí. Jejich popis podle [8] je následující: • Bodová inference je odvozena od přesné polohy kurzoru v modelu. Jednotlivé bodové inference jsou znázorněny na obrázku 2.1. – Endpoint značí konec čarové nebo obloukové entity. Inference je reprezentována zeleným kruhem. – Midpoint značí střed čáry nebo hrany. Inference je reprezentována světle modrým kruhem. 4
– Intersection značí místo, kde čára protíná jinou čáru nebo plochu. Inference je reprezentována červeným x. – On Face značí bod, který leží na stěně objektu. Inference je reprezentována modrým kosočtvercem. – On Edge značí bod, který leží na hraně. Inference je reprezentována červeným čtvercem.
Obrázek 2.1: Bodové inference • Čarová inference je odvozena od směru, kterým se v prostoru pohybujeme. Uvedené inference jsou znázorněny na obrázku 2.2. – On Red Axis, On Blue Axis, On Green Axis značí směr pohybu ve směru souřadné osy. Inference je reprezentována čarou v barvě příslušné osy. – From Point značí směr pohybu z bodu podél osy. Inference je reprezentována tečkovanou čarou v barvě příslušné osy. – Perpendicular značí směr pohybu kolmý na hranu, ze které vychází. Inference je reprezentována světle modrou čarou. – Parallel značí směr pohybu rovnoběžný s hranou. Inference je reprezentována světle modrou čarou. – Tangent at Vertex značí oblouk, který spojitě navazuje na dříve nakreslený oblouk. Inference je reprezentována světle modrým obloukem.
Obrázek 2.2: Čarové inference • Tvarová inference je odvozena od tvaru kresleného objektu. Tvarové inference jsou zobrazeny na obrázku 2.1. 5
– Half Circle značí, že kreslený oblouk má tvar poloviny kruhu. – Square značí, že strany kresleného obdélníku mají stejnou velikost. – Golden Section značí, že poměr stran kresleného obdélníku odpovídá vlastnostem zlatého řezu.
Obrázek 2.3: Tvarové inference Obrázky 2.1, 2.2 a 2.3 byly převzaty z [7].
2.1.2
Pohyb
Při pohybu v 3D prostředí Google SketchUp si musíme uvědomit, že nepohybujeme s modelem ale pouze s našim pohledem na model. SketchUp obsahuje sedm standardních pohledů na scénu a jejich použití je vhodné při modelování v paralelní projekci. Jsou to pohledy: • Přední (Front) • Horní (Top) • Zadní (Back ) • Dolní (Bottom) • Zprava (Right) • Zleva (Left) • Isometrický (Isometric) Pohyb pohledu v Google SketchUp je podobný jako v ostatních 3D modelovacích programech. K dispozici jsou 3 základní nástroje a to pro otáčení (orbit), posouvání (pan) a přibližování/oddalování (zoom) pohledu. Tyto nástroje jsou umístěné v hlavní nabídce (Camera) nebo v panelu nástrojů. Jejich použití je velmi jednoduché. Stačí nástroj vybrat, kliknout a přidržet levé tlačítko myši a poté pohybovat ve směru, ve kterém chceme pohled změnit.
2.1.3
Zobrazení
Při zobrazování 3D objektů na 2D zařízení je nutné stanovit způsob zobrazení, tedy způsob promítání objektu na obrazovku. Samotné promítání nemění tvar objektu, ale ovlivňuje to, jakým způsobem objekt uvidíme na obrazovce. Pro pochopení promítání je nejprve nutné definovat pojmy promítací paprsek a průmětna. Takto jsou tyto pojmy definovány v [9]: • Promítací paprsek je polopřímka vycházející z promítaného (prostorového) bodu, jejíž směr závisí na zvolené promítací metodě. 6
• Průmětna je plocha v prostoru, na kterou dopadají promítací paprsky a v místě dopadu vytvářejí průmět (obraz v průmětně). Promítání neboli projekci můžeme rozdělit podle tvaru průmětny a podle směru promítacího paprsku. Google SketchUp používá projekci na rovinnou průmětnu a nabízí 3 možné způsoby této projekce: • Paralelní projekce je určena směrem promítání. Tento druh promítání zachovává rovnoběžnost hran a vzdálenost od průmětny neovlivňuje velikost průmětu. • Perspektivní jednobodová projekce je určena jedním středem a všechny paprsky se v tomto středu sbíhají. Jednobodová projekce vzniká při protnutí jedné souřadné osy průmětnou. Toto promítání nezachovává rovnoběžnost hran a vzdálenost od středu projekce má vliv na velikost průmětu. • Perspektivní dvoubodová projekce je určena dvěma středy. Dvoubodová projekce vzniká při protnutí dvou souřadných os průmětnou. Hrany, které jsou rovnoběžné s těmito osami, směřují do příslušných bodů. Zbylé vlastnosti jsou shodné s jednobodovou perspektivní projekcí.
2.2
Reprezentace a modelování těles
SketchUp používá pro reprezentaci těles pouze hrany (edges) a stěny (faces). Každé těleso, vytvořené pomocí těchto dvou entit, nenese informaci o své vnitřní struktuře, ale pouze o svém povrchu. Používáme tedy jeden z nejběžnějších způsobů reprezentace těles a to hraniční reprezentaci. Hrany jsou v Goole SketchUp chápány jako rovné čáry, které nemají žádnou šířku. Stěny jsou zase považovány za nekonečně tenké plochy ohraničené hranami, které leží ve stejné rovině. Stěny a hrany se řídí následujícími pravidly [1]: • Pokud smažeme hranu, která tvoří stěnu, pak bude smazána i příslušná stěna. • Kdykoliv, kdy SketchUp může vytvořit stěnu, tak ji vytvoří. • Nemůžeme sice zabránit vytvoření stěny, ale můžeme ji smazat. • Takto odstraněnou stěnu můžeme obnovit překreslením některé z hran, které ji tvořily. • Nakreslením hrany přes celou stěnu, rozdělíme stěnu na dvě menší stěny. • Nakreslením hrany přes jinou hranu, rozdělíme obě hrany v místě protnutí.
2.2.1
Základní nástroje
Nejprve uvedeme několik základních nástrojů Google SketchUp, které patří při modelování mezi nejpoužívanější: • Select Tool je nástroj, pomocí kterého můžeme vybrat nakreslené objekty. • Eraser je nástroj, pomocí kterého můžeme smazat nakreslené objekty. • Paint Bucket je nástroj pro nanášení materiálu na stěny. Tento nástroj je velmi důležitý při texturování budov. 7
2.2.2
Nástroje pro modelování
Hrany a stěny tvoří základní prvky, ze kterých se skládá každé těleso. Pro vytvoření hran a stěn jsou k dispozici v Google SketchUp tyto nástroje: • Line je nástroj pro kreslení hran. Každá hrana je určena počátečním a koncovým bodem. Tento nástroj je možné použít i pro rozdělování stěn nebo obnovu smazaných stěn. • Arc je nástroj pro kreslení oblouků. Každý oblouk je složen z několika vzájemně spojených čar a je určen počátečním, koncovým bodem a výškou oblouku. • Rectangle je nástroj pro kreslení obdélníkových stěn. Každý obdélník je určen dvěma body, které tvoří protilehlé rohy obdélníku. • Circle je nástroj pro kreslení kruhových stěn. Každý kruh je určen středem a poloměrem. • Polygon je nástroj pro kreslení pravidelných mnohoúhelníků. Každý mnohoúhelník je určen středem a poloměrem. • Freehand je nástroj pro kreslení nepravidelných ručně kreslených čar. Ve výsledku je nakreslený obrazec rozdělen na rovné čáry, které jsou spojeny dohromady. Tento řetězec čar se chová jako jediná křivka. Více informací lze nalézt v [8]. Vzhledem k tomu, že SketchUp nemá žádné nástroje pro vytvoření Beziérových nebo NURBS křivek, je modelování oblejších tvarů nebo zvlněných ploch obtížnější. K vytvoření takovýchto modelů se dají použít nástroje pro tvorbu čar a oblouků. Použití všech výše uvedených nástrojů je podobné. Nejprve nástroj vybereme z panelu nástrojů nebo z položky Draw hlavní nabídky. Poté vybereme pomocí kliknutí levého tlačítka myši počáteční a koncový bod a SketchUp mezi těmito body vykreslí požadovaný tvar. U kreslení oblouku musíme ještě po výběru koncového bodu zvolit výšku oblouku.
2.2.3
Přesnost při modelování
Přesnost v Google SketchUp je z větší části řešena textovým políčkem, které funguje jako nástroj k měřění (Measurements Box ). Toto políčko má velké množství funkcí, které nám zjednodušují a hlavně zpřesňují modelování. Použití je navíc velice jednoduché. V momentě, kdy začneme kreslit s využitím nástrojů popsaných výše, začínají se nám v tomto políčku zobrazovat rozměry právě kresleného tvaru. Tyto rozměry můžeme v tomto políčku přepsat a jednoduše tak vytvořit tvar přesných rozměrů. Rozměry můžeme zapisovat v metrických nebo imperiálních jednotkách při přesnosti až na desetiny milimetru. Dále lze tento nástroj použít ke změně počtu hran při kreslení polygonu nebo počtu hran, ze kterých bude složen kruh nebo oblouk a to tak, že se za vepsaný počet hran dopíše písmenko s. Toto políčko lze ale využít i při transformacích, kde může udávat velikost ofsetu, poměr změny velikosti nebo třeba úhel otočení. Největší využití ale najde při vytváření polí objektů s použitím posouvání objektu. Pro změrění vzdáleností v již nakresleném modelu ale musíme využít jiný nástroj. Tím je Tape Measure, který slouží také k vytváření pomocných čar a bodů. Po vybrání nástroje 8
z panelu nástrojů nebo z položky Tools hlavní nabídky, můžeme vybrat počáteční a koncový bod a v Measurements Box se nám zobrazí vzdálenost mezi nimi. Pokud pomocí tohoto nástroje vybereme bod ležící na hraně, můžeme jednoduše vytvořit pomocnou čáru, která bude rovnoběžná s hranou, na které vybraný bod leží. Pokud chceme změřit úhel, která dvě hrany svírají, nebo vytvořit pomocnou čáru svírající s nějakou hranou určitý úhel, můžeme použít Protractor. Tento nástroj lze nalézt na stejných místech jako předchozí nástroj. Po jeho vybrání, určíme nejprve vrchol a následně ramena úhlu, mezi kterými je určena velikost úhlu, která bude zobrazena v Measurements Box.
2.3
Transformace těles
Transformaci budeme chápat jako změnu tvaru nebo vlastností tělesa. Mezi základní transformace patří rotace, posun a změna velikosti. I přesto, že můžeme dosáhnout jakéhokoliv tvaru tělesa pouze s pomocí modelovacích technik, transformace nám výrazně zjednodušují práci. Jako příklad lze uvést vytvoření jednoduchého schodiště. Bez použití transformací bychom museli modelovat každý schod zvlášť, kdežto s využitím transformačních technik nám stačí namodelovat první schod a zbytek schodů odvodit posunutím kopií prvního schodu. Google SketchUp nabízí několik transformačních nástrojů. Podle [8] to jsou: • Move je nástroj, který nám umožňuje posouvat, roztahovat a kopírovat geometrii objektů. • Rotate je nástroj, který nám umožňuje otáčet, roztahovat a deformovat objekty. Tento nástroj taky umožňuje kopírovat objekty po oblouku. • Scale je nástroj, který nám umožňuje zvětšovat, zmenšovat a roztahovat geometrii objektů. Tento nástroj nám dovoluje měnit velikost objektu v různých dimenzích. • Push/Pull je nástroj, který nám umožňuje vytáhnout nebo zatlačit stěnu objektu do prostoru a tím přidat nebo odebrat objem. • Offset je nástroj, který nám umožňuje vytvářet kopie hran nebo stěn v rovnoměrné vzdálenosti od jejich originálů. • Follow Me je nástroj, který nám umožňuje táhnout stěnu po čáře a tak vytvořit 3D model. Tato technika se nazývá šablonování. • Intersect With Model je nástroj, který nám umožňuje vytvořit průnik dvou těles. Tento nástroj automaticky vytváří nové hrany a stěny v místě průniku těles.
2.3.1
Materiály
Materiály a textury budou hrát velkou roli při tvorbě modelu, protože většina detailů by měla být vyjádřena spíše vhodným materiálem než modelováním. Materiály lze vybírat, tvořit a upravovat v dialogovém okně Materials Browser, ke kterému se lze dostat přes hlavní nabídku (Window –> Materials). Google SketchUp obsahuje množství předvytvořených materiálů a další jsou k dispozici ke stažení na internetu. Vybírat z nich můžeme v záložce Select. Vytvářet nebo upravovat materiály můžeme v záložce Edit, která obsahuje možnosti pro nastavení barvy, textury a průsvitnosti materiálu. 9
Aplikovat materiál můžeme po jeho vybrání v příslušné záložce pomocí nástroje Paint Bucket Tool. Pokud je na materiálu použitá textura a materiál je aplikováný na plochý povrch, můžeme umístění textury upravit pomocí nástrojů pro práci s texturami. Tyto nástroje jsou dostupné přes položku Texture v kontextovém menu. Asi nejdůležitějším nástrojem je nástroj Position, který slouží pro upravení polohy textury. Po vybrání tohoto nástroje se nám v rozích textury zobrazí čtyři špendlíky, se kterými je možné manipulovat. Nejprve je však nutné ověřit, zda je neaktivní mód Fixed Pins. O tom se přesvědčíme v kontextovém menu. Poté je možné tyto špendlíky umístit kdekoliv na texturu a je také možné pomocí nich texturu roztahovat. Free Pins mód můžeme vidět na obrázku 2.4. Při aktivním Fixed Pins módu je možné texturu přesouvat, zvětšovat, naklánět nebo otáčet, ale už nelze texturu volně roztahovat. Na obrázku 2.5 můžeme vidět, že jednotlivé možnosti pro manipulaci s texturou v Fixed Pins módu jsou přiřazeny jednotlivým špendlíkům. Více lze nalézt v [8].
Obrázek 2.4: Free Pins mód
2.4
Google Earth nástroje
Těchto pár nástrojů, které zde budou uvedeny, nám umožňuje jednoduše spolupracovat se systémem Google Earth a zjednodušuje nahrávání nebo stahování modelů z 3D Warehouse. 3D Warehouse je online úložiště volně dostupných modelů vytvořených v Google SketchUp. Nástroje pro spolupráci s Google Earth jsou: • Get Current View je nástroj, pomocí kterého můžeme vložit právě aktivní pohled z Google Earth do Google SketchUp.
10
Obrázek 2.5: Fixed Pins mód • Toggle Terrain je nástroj, který nám umožňuje přepínat mezi plochým a skutečným terénem. • Place Model je nástroj, pomocí kterého si můžeme zobrazit vytvářený model v Google Earth. Tyto nástroje jsou dostupné v rozšířeném panelu nástrojů (View –> Toolbars –> Google) nebo v hlavní nabídce (Tools –> Google Earth). Nástroje pomocí nichž můžeme sdílet vytvořené modely nebo modely stahovat jsou: • Get Models je nástroj, pomocí kterého můžeme stáhnout z 3D Warehouse vytvořené modely. • Share Model je nástroj, který nám umožňuje nahrát vytvořený model do 3D Warehouse. Tento nástroj použijeme pro umístění budovy do vrstvy 3D Budov. • Upload Component je nástroj, pomocí kterého můžeme sdílet vytvořené komponenty. Tyto nástroje jsou dostupné v rozšířeném panelu nástrojů (View –> Toolbars –> Google) nebo v hlavní nabídce (File –> 3D Warehouse).
2.5
Správa scény
Při postupném modelování se scéna, ve které je model umístěn, stává čím dál tím více složitější. Velmi často se tak stává, že již vytvořené modely nám blokují pohled na objekty, které chceme modelovat, nebo při použití transormací omylem upravíme již hotový objekt. 11
Abychom se těchto zbytečných chyb vyvarovali a usnadnili si práci, nabízí nám Google SketchUp užitečné nástroje pro správu scény.
2.5.1
Skrývání a zamykání objektů
Mezi nejpoužívanějsí nástroje patří nastroje pro skrývání a zamykání objektů. • Hide/Unhide jsou nástroje, pomocí kterých můžeme schovat překážející objekty nebo objekty, které jsou již hotovy. Skryté objekty nejsou z modelu odstraněny, takže všechno, co provedeme na místě skrytého objektu, má na tento objekt vliv. • Lock/Unlock jsou nástroje, pomocí kterých můžeme zamknout objekt. Se zamknutým objektem se nedá nijak manipulovat a nejde ho ani upravovat, dokud nebude odemknut. Zamknutý objekt je narozdíl od skrytého objektu stále viditelný ve scéně. Použití těchto nástrojů je poměrně jednoduché. Vybereme objekt nebo jeho část a pomocí tlačítek pro skytí nebo zamknutí bude provedena požadovaná operace. Odemknutí objektu je také triviální záležitost. Stačí tento objekt vybrat a pomocí tlačítka pro odemknutí se tento objekt stává zase modifikovatelným. Odkrytí skrytých objektů není tak jednoduché, protože skryté objekty nemůžeme označit. Pro odkrytí objektů nám poslouží položka Unhide v nabídce Edit. V této položce si můžeme vybrat, zda chceme odkrýt vybraný objekt, objekt naposledy skrytý nebo všechny skryté objekty.
2.5.2
Vrstvy
Abychom nemuseli skrývat nebo zobrazovat objekty jednotlivě, můžeme je rozdělit do vrstev a pak zobrazovat či skrývat jednotlivé vrstvy. Vrsty nám tedy poskytují způsob, jak jednoduše zobrazit či skrýt větší množství objektů. Zobrazení či skrytí jednotlivých vrstev lze přepínat pomocí zaškrtávacího políčka Visibility v okně Layers Manager, které zobrazíme přes Window –> Layers. Toto okno (obr. 2.6)obsahuje seznam všech vrstev v modelu. Vrstvy můžeme jednoduše přidávat nebo odebírat pomocí dvou tlačítek v horní části. U každé vrstvy jsou informace o jejím jméně, viditelnosti a barvě, která je použita pro rozlišení objektů na různých vrstvách. Tečkou je označena aktivní vrstva, která nemůže být skryta. Při kreslení v Google SketchUp je každá vytvořená hrana nebo plocha přidělena do právě aktivní vrstvy. Z toho vyplývá, že vše, co je vytvořené v SketchUpu, patří do nějaké vrstvy. Objekt můžeme jednoduše přiřadit do vrstvy zobrazením informací o entitě (Window –> Entity Info) a vybráním vrstvy, do které bude patřit.
2.5.3
Skupiny a komponenty
Dalšími možnostmi pro získání většího přehledu o scéně je seskupovat hrany a plochy, které vytvářejí logický celek, do skupin, nebo z nich vytvářet komponenty. Touto úpravou si zjednodušíme manipulaci s objekty. Seskupený objekt nebo komponentu nelze upravovat přímo, čímž se zvyšuje ochrana objektu proti nechtěné editaci. Pro úpravu seskupeného objektu nebo komponenty je nutné nejdříve objekt otevřít (Edit–>Group/Component–>Edit Group/Component) a po ukončení editace objekt uzavřít (Edit–>Close Group/Component). K vytvoření skupin nebo komponent jsou k dispozici tyto nástroje: • Make Group je nástroj pro seskupení vybraných hran a ploch. Tento nástroj lze najít v kontextovém menu nebo pod nabídkou Edit.
12
Obrázek 2.6: Layers Manager • Make Component je nástroj pro vytvoření komponenty z vybraných hran a ploch. Tento nástroj lze najít v kontextovém menu, pod nabídkou Edit nebo v rozšířeném panelu nástrojů (View –> Toolbars –> Large Tool Set). Při vytváření komponenty ji můžeme pojmenovat, zadat popis a nastavit na jaké druhy ploch lze komponentu umístit. Také můžeme nastavit osy komponenty, které určují její zarovnání vůči pohledu nebo ostatním plochám či hranám při vkládání do scény. Pro zrušení seskupení nebo komponenty je možné použít nástroj Explode, který lze také najít v kontextovém menu nebo pod nabídkou Edit. Protože skupina a komponenta jsou prvky značně odlišné, je nutné znát jejich rozdíly pro vhodné použití v modelu. V obrázku 2.7 jsou zobrazeny dvě řady laviček. Levá řada je tvořena instancemi komponenty a druhá řada obsahuje kopie skupiny. Skupina je obecnější než komponenta. Pokud je vytvořena kopie skupiny, pak každá změna provedená při úpravě se vztahuje pouze na upravovanou skupinu a nikoliv na její kopie. Kdežto při vytvoření kopie komponenty se každá změna provedená při úpravě jedné komponenty promítne i do jejích kopií. Toto chování je znázorněno na obrázku 2.8, na kterém byl upraven první objekt každé řady. V první řadě se změna promítla do všech instancí, kdežto v druhé řadě zůstaly zbývající skupiny beze změny. To znamená, že při vytváření kopií skupiny vznikají na sobě nezávislé entity a při kopírování komponent vytváříme instance nesoucí vlastnosti své třídy, kde při změně vlastností třídy se změna promítne do všech instancí. Použití komponent je výhodné z hlediska zmenšení velikosti souborů a jednoduché úpravy více objektů. Obecně lze říct, že každý objekt, který by se mohl v modelu opakovat, je vhodné spravovat jako komponentu. Google SketchUp nabízí mnoho předvytvořených komponent a jěště více je jich k dispozici online. K těmto komponentám se lze dostat přes prohlížeč komponent (Component browser ), který je dostupný v hlavní nabídce (Window –> Components). Z tohoto okna (obr. 2.9) je možné komponenty umísťovat do modelu, upravovat stávající modely nebo prohlížet statistiky komponent, které obsahují informace například o počtu hran a ploch, ze kterých se vybraná komponenta skládá. Protože můžeme seskupovat komponenty nebo skupiny do větších logických celků a vytvářet tak nové skupiny nebo komponenty složené z menších seskupení, brzo ztratíme přehled o složení jednotlivých celků. V tomto zmatku se nám podaří zorientovat pomocí nástroje Outliner. V tomto okně, které můžeme vidět na obrázku 2.10, jsou hierarchicky zobrazeny všechny skupiny a komponenty přítomné v modelu. Pokud je komponenta či sku13
Obrázek 2.7: Skupiny a komponenty
Obrázek 2.8: Skupiny a komponenty po úpravě
14
Obrázek 2.9: Component browser
15
pina složená z jiných seskupení hran a ploch, budou v tomto okně jednotlivé podskupiny přehledně zobrazeny. Abychom však mohli smysluplně použít tento přehled je nutné každou vytvořenou skupinu a komponentu pojmenovat. Bez pojmenovaných seskupení je orientace v tomto okně příliš obtížná a ztrácí se smysl jeho používání.
Obrázek 2.10: Outliner
16
Kapitola 3
Geomodeling pro Google Earth Geomodeling můžeme podle [4] definovat jako proces vytváření 3D modelů budov reálného světa, které se poté objeví v Google Earth. Z kapitoly 2 již známe všechno potřebné, abychom mohli začít takovéto modely vytvářet. V této kapitole budou uvedeny dvě modelovací metody použitelné v Google SketchUp a popis samotné implementace modelu budovy Božetěchova. Tyto dvě metody se liší hlavně složitostí. První metoda je určená pro začátečníky a lze ji použít prakticky kdykoliv. Druhá metoda je určena pro pokročilejší uživatele, ale v některých případech je nepoužitelná. Vzhledem k tomu, že obě metody používají fotografie budovy k vytváření textur pro model, uvedeme zde způsoby, jak fotografie získat [4]. • Pokud modelujeme známou budovu, je možné získat vhodné fotografie na internetu. Výhodou těchto fotek je hlavně jejich dostupnost a to, že většinou jsou již vhodně upravené. • Další fotografie můžeme sehnat ve Street View pro aplikaci Google Maps. Ve Street View se nacházejí snímky zachycující ulice měst z celého světa. Pokud je budova, kterou modelujeme, zachycena na těchto snímcích, je vhodné použít právě tyto snímky pro tvorbu textur. • Pokud nám ani jedna z předchozích variant neposkytne vhodné fotografie, můžeme si je nafotit sami. Nevýhodou tohoto přístupu je hlavně to, že většinou musíme pořízené fotografie upravovat.
3.1
Extruded Footprint
Tato metoda je univerzální, jednoduchá a má velmi dobré výsledky. Pomocí této metody lze vytvořit model bez znalosti přesných rozměrů budovy. Výsledkem tedy nebude úplně přesný model, což nevadí, protože geomodely nemusí být příliš detailní, aby vypadaly dobře v aplikaci Google Earth. Upravená verze této metody byla použita pro vytvoření modelu budovy Božetěchova 1/2. Tato metoda se podle [5] skládá z následujících kroků: 1. Vytvoření nového souboru pro geo-modeling 2. Geo-lokace modelu 3. Obarvení snímku z Google Earth 17
4. Přemístění hlavních os 5. Vytvoření obrysu budovy 6. Rozdělení obrysu budovy podle různé výšky střech 7. Vyzdvihnutí obrysu do správné výšky 8. Umístění textur na stěny budovy 9. Geo-modeling střech 10. Upravení polohy budovy vůči terénu 11. Zobrazení budovy v Google Earth 12. Odeslání geo-modelu do Google 3D Warehouse První bod tohoto postupu se týká vytvoření nového souboru za použití šablony pro geomodeling. K výběru šablon (obr. 3.1) se lze dostat přes Help –> Welcome to SketchUp. . . –> Choose Template. Pro geo-modeling jsou ve verzi 7.1 k dispozici dvě šablony lišící se v základních jednotkách, které používají. První používá imperiální a druhá metrické jednotky. V tomto okně se také nachází nápověda k programu a odkazy na výuková videa. Po výběru vhodné šablony vytvoříme nový soubor, který bude používat vybranou šablonu, zvolením File –> New z hlavní nabídky programu.
Obrázek 3.1: Dialogové okno s výběrem šablon Abychom mohli náš model umístit do systému Google Earth, musíme mu přidělit geografickou lokaci, na které se má zobrazit. Musíme tedy vybrat místo, na kterém je budova, 18
kterou modelujeme, postavena. Spustíme tedy Google Earth, zapneme 3D terén (Vrstvy –> Terén), najdeme budovu, kterou budeme modelovat, a umístíme náš pohled tak, aby budova zabírala, co možná největší část náhledu. Stisknutím R na klávesnici se ujistíme, že se díváme na terén pod pravým úhlem. Dále vypneme vrstvu 3D Budov (Vrstvy –> Prostorově zobrazené budovy), abychom v záběru neměli okolní vymodelované budovy. Uložíme si náš pohled jako obrázek (Soubor –> Uložit –> Uložit obrázek . . . ), protože s ním budeme dále pracovat. A nakonec importujeme náš pohled a terén do Google SketchUp pomocí nástroje Get Current View popsaného v kapitole 2. Do SketchUpu se nám vloží plochý, černobílý snímek. Vložený snímek je znázorněn na obrázku 3.2, kde si můžeme také všimnout nevhodně umístěných os.
Obrázek 3.2: Snímek vložený do Google SketchUp Jelikož nám importovaný černobílý snímek neposkytuje tolik informací jako snímek barevný, tak v dalším bodě postupu tento snímek obarvíme. K tomu využijeme obrázek, který jsme si uložili v předchozím bodě. Vložený terén je ve skutečnosti zamknutá skupina. Abychom ho tedy mohli editovat musíme terén nejdříve odemknout a skupinu otevřít. Dále zvolíme z hlavní nabídky File –> Import . . . a vložíme uložený obrázek. Vložený obrázek použijeme jako texturu a pomocí nástrojů a postupů popsaných v předchozí kapitole ho umístíme na terén a roztáhneme tak, jak můžeme vidět na obrázku 3.3. Nakonec skupinu uzavřeme a znovu zamkneme, čímž zabráníme nechtěné manipulaci. Aby se nám dobře modelovalo, je vhodné přemístit souřadné osy do některého z rohů budovy, kterou budeme modelovat. Použijeme tedy nástroj Axes, kde počátek soustavy umístíme do rohu budovy a červenou osu zarovnáme podél vhodné stěny. V dalším kroku vytvoříme obrys naší budovy. Pomocí modelovacích nástrojů obkreslíme budovu (obr. 3.4) a dostaneme tak půdorys, se kterým budeme dále pracovat. Nejlepší je modelovat v paralelním zobrazení při pohledu shora. Při obkreslování je vhodné vzít na vědomí, že na snímku je pohled na budovu pod nějakým úhlem. Nevidíme tedy pouze střechu budovy, ale částečně i některé stěny. Toto je důležité si uvědomit hlavně při modelování velmi vysokých budov, kde zkreslení půdorysu a výšky je značné. Protože výška budovy se v různých částech může lišit, je vhodné rozdělit plochu půdorysu v místech, kde se mění výška. Tímto rozdělením získáme úseky budovy se stejnou 19
Obrázek 3.3: Obarvování snímku pomocí obrázku z Google Earth
Obrázek 3.4: Přemístěné osy a vytvořený obrys budovy
20
výškou, což nám usnadní práci v dalších krocích tohoto postupu. V sedmém kroku přejdeme z 2D obrysu budovy k 3D tvaru. Abychom tento přechod mohli uskutečnit, je potřeba znát výšky v jednotlivých úsecích vytvořených v předchozím bodu. Pokud výšku neznáme, můžeme ji odhadnout např. poměřením k objektu jehož výšku známe. Při známých výškách můžeme vyzdvihnout úseky půdorysu pomocí nástroje Push/Pull. Přesnosti dosáhneme zadáním velikosti vyzdvižení v metrech či stopách do políčka Measurements Box. Pokud má budova šikmou střechu, vyzdvihneme příslušné úseky jen do začátku střechy a samotnou střechu modelujeme zvlášť. Vyzdvižený obrys budovy a vymodelované střechy můžeme vidět na obrázku 3.5. V tomto bodě můžeme dále vymodelovat ostatní detaily, jako například schody nebo komíny budov.
Obrázek 3.5: Vymodelovaný tvar budovy Dále přistoupíme k aplikování textur. Vzhledem k tomu, že Google Earth neumí vhodně zobrazit příliš detailní fotografie, tak nám postačí snímky minimální kvality s šířkou o velikosti mezi 256 a 512 pixely. Je možné použít i kvalitnější fotografie, ale výsledný soubor s modelem musí být menší než 10 MB, což při použití kvalitních fotek bude těžké dodržet. Pokud nemáme fotografii pro každou stěnu budovy, je vhodné na stěny bez fotek aplikovat texturu, která se bude nejvíce blížit okolním stěnám. Dalším pravidlem, kterého bychom se měli držet je, že jakákoliv míra detailu je vhodněji vyjádřena správnou texturou než samotným modelováním. To souvisí i s požadavkem na složitost modelu, více v kapitole 4. Texturu aplikujeme jednoduchým postupem. Nejprve importujeme obrázek pomocí File –> Import . . . . V otevřeném dialogovém okně se ujistíme, že máme označenou volbu Use As Texture a vybereme obrázek stěny budovy. Obrázek poté naneseme na příslušnou stěnu a podle potřeby roztáhneme. Tento postup opakujeme pro všechny stěny. Teď už bychom měli mít větší část budovy hotovou. V tomto kroku naneseme textury na střechu a tím dokončíme model. Pokud budova, kterou modelujeme, není zobrazena na snímcích Google Earth, je vhodné pro otexturování střech použít buď předvytvořené materiály nebo podobný postup jako pro texturování stěn v předchozím bodě. Ať už má budova ploché nebo šikmé střechy a je zobrazena na snímcích, lze pro otexturování střech aplikovat 21
jednoduchý postup využívající barevný obrázek z Google Earth, který byl vytvořený ve druhém kroku této metody. Protože jsme texturu do scény již vložili ve třetím bodu, nemusíme ji znovu importovat. Stačí nám odemknout a otevřít skupinu terénu. Nejprve se musíme ujistit, že textura aplikovaná na terén má vlastnost Projected, což zjistíme kliknutím pravého tlačítka a výběrem Texture –> Projected. Dále už nám nic nebrání ve výběru, který provedeme nástrojem Paint Bucket se stisknutou klávesou Alt. Vybranou texturu poté aplikujeme na střechy budovy a nakonec uzavřeme a zamkneme skupinu terénu. Otexturovaný model je znázorněn na obrázku 3.6.
Obrázek 3.6: Model s aplikovanými texturami Nyní se musíme ujistit, že budova, kterou jsme vymodelovali, je správně zarovnaná vůči okolnímu terénu. Doposud jsme modelovali na terénu zobrazeném jako plochá deska, což nám zjednodušovalo práci. Pro umístění modelu do Google Earth ji však musíme zarovnat vůči skutečnému terénu. Nejdříve však označíme celou budovu a vytvoříme z ní jednu skupinu, aby se nám s ní dobře manipulovalo. Při zobrazeném plochém terénu můžeme upravit zarovnání modelu se zobrazením budovy na snímku. Poté přepneme zobrazení terénu (Tools –> Google Earth –> Toggle Terrain) na skutečný terén a přesuneme budovu na terén tak, aby její nejvyšší bod půdorysu (bod, který má od skutečného terénu největší vzdálenost) byl umístěn přímo na terénu. Tím dosáhneme toho, že budova nebude umístěna nad úrovní terénu, ale také dosáhneme toho, že všechny body, které měly od skutečného terénu menší vzdálenost, budou umístěny pod úrovní terénu. Malé ponoření modelu do terénu nevadí. Na obrázcích 3.7 a 3.8 můžeme vidět příklad špatně a správně umístěného modelu. V tuto chvíli již máme vytvořený model, který si můžeme zobrazit v Google Earth. To provedeme pomocí Tools –> Google Earth –> Place Model nebo exportováním modelu do formátu .kmz, který používá Google Earth jako formát 3D budov. V Google Earth si můžeme model prohlédnout a ověřit, zda splňuje všechna kritéria popsaná v kapitole 4. Pokud je nesplňuje, je potřeba model upravit. V posledním kroku nahrajeme náš model do 3D Warehouse a počkáme na jeho posouzení. Nahrání provedeme přes File –> 3D Warehouse –> Share Model, kde se přihlásíme do svého Google účtu a vyplníme formulář (obr. 3.9), který odešleme pomocí tlačítka 22
Obrázek 3.7: Špatně umístěný model
Obrázek 3.8: Správně umístěný model
23
Upload. V tomto formuláři je důležité zaškrtnout políčko Google Earth Ready, protože modely s touto vlastností budou vyhodnocovány pro vložení do Google Earth. Po nahrání bude vytvořena v 3D Warehouse stránka s detaily o modelu a stavu v jakém se nachází.
Obrázek 3.9: Formulář pro umístění modelu do Google Earth
3.2
Matched Photo
Tato metoda je složitější než předchozí metoda, není použitelná vždy a vyžaduje vhodné fotografie budovy. Abychom mohli tuto metodu použít, musí mít modelovaná budova aspoň jednu dvojici stěn, které spolu svírají pravý úhel. Dále musíme mít k dispozici takovou fotografii rohu budovy, kde budou celkově zachyceny obě sbíhající se stěny. Pokud splňujeme tyto podmínky, můžeme využít postupu uvedeného v [6]: 1. Vytvoření modelu budovy 2. Umístění textur na stěny budovy 3. Geo-modeling střech 4. Vytvoření nového souboru pro geo-modeling 5. Geo-lokace modelu 6. Obarvení snímku z Google Earth 7. Vložení vytvořeného modelu 8. Upravení polohy budovy vůči terénu 9. Zobrazení budovy v Google Earth 10. Odeslání geo-modelu do Google 3D Warehouse
24
Z tohoto postupu můžeme vidět, že většina bodů je shodná s předchozí metodou, proto zde nebudou znovu popsány. Nové jsou pouze body jedna a osm, které se týkají vymodelování tvaru budovy a vložení vymodelované budovy do souboru se snímkem z Google Earth. Začneme vytvořením nového souboru ve SketchUpu, ve kterém vybereme Camera –> Match New Photo . . . . V otevřeném dialogovém okně vybereme rohový obrázek budovy. Tento obrázek bude použit jako pozadí při modelování. Po potvrzení výběru obrázku se nám vytvoří nová scéna s Photo Match rozhraním. Toto rozhraní je na první pohled poměrně nepřehledné. Obsahuje vloženou fotografii, mřížku, dvojice červených a zelených čar, počátek souřadného systému a barevné osy, které se v něm sbíhají, žlutou horizontální čáru a otevřené dialogové okno s nastavením. Nyní musíme celou scénu nastavit podle fotografie na pozadí.
Obrázek 3.10: Fotografie budovy v Photo Match scéně Nejprve v dialogovém okně nastavíme styl podle použité fotografie. Při modelování budov to většinou bude venkovní (Outside) styl. Ostatní styly se použivají pro fotografie zachycující letecký pohled (styl Above) nebo pro fotografie místností budovy (Inside styl). Dále musíme umístit dvojice červených a zelených čar. S těmito čarami se dá manipulovat pomocí jejich koncových bodů. Nejprve zarovnáme zelené čáry tak, aby kopírovaly nějaké 2 rovnoběžné hrany fotografie. Podobně umístíme i červené čáry, ale s tím rozdílem, že rovnoběžné hrany, které kopírují červené čáry, budou kolmé na hrany zelených čar. Poté umístíme počátek souřadného systému. Nejvhodnější místo je takové, kde se roh budovy setkává se zemí. Jako poslední nastavíme měřítko tažením za osy souřadného systému. Otevřené dialogové okno obsahuje políčko Spacing, které udává velikost čtverečků mřížky. Tažením za souřadné osy zvětšujeme nebo zmenšujeme velikost fotografie ve směru tažené osy. Jestliže se velikost zmenšuje, pokrývá fotografii méně čtverečků mřížky. Pokud se velikost zvětšuje, 25
pokrývá fotografii více čtverečků. Velikost budovy, kterou fotografie zachycuje se potom dá určit jako součin hodnoty Spacing a počtu čtverečků mřížky. Dokončení nastavování potvrdíme tlačítkem Done a přistoupíme k samotnému modelování.
Obrázek 3.11: Nastavena Photo Match scéna Při modelování s pomocí této metody je dobré začínat v počátku nebo na jedné ze souřadných os a od tohoto bodu modelovat dále. Nikdy bychom neměli začínat kreslit hranu jinde, než na již dříve nakreslených hranách, plochách nebo na souřadných osách. S pomocí modelovacích a transformačních nástrojů popsaných v kapitole 2 bychom měli být schopni vymodelovat tvar budovy. Otexturování ploch zobrazených na fotografii, pomocí které jsme modelovali, je jednoduché. Stačí přepnout zpět do nastavování Photo Match pomocí Camera –> Edit Matched Photo a použít tlačítko Project textures from photo. Na zbylé stěny a střechy naneseme textury postupem popsaným v předchozí metodě. Abychom mohli takto vytvořený model umístit do Google Earth, je potřeba mu přiřadit geografickou lokaci. To provedeme vytvořením nového souboru v Google SketchUp pro geo-modeling, do kterého importujeme snímek z Google Earth. Do tohoto snímku umístíme vytvořený model. Pro jednodušší umísťování je vhodné černobílý snímek obarvit. Dále upravíme polohu modelu vůči terénu, zkontrolujeme, zda odpovídá kritériím pro přijetí, a odešleme do 3D Warehouse. Detailnější postupy jsou uvedeny u předchozí metody.
3.3
Implementace
Při tvorbě budovy Božetěchova 1/2 byla použita první popsaná metoda, protože velikost komplexu nám neumožnila nafotit vhodné fotografie použitelné pro metodu Matched Photo. První čtyři body použité metody proběhly přesně podle toho, jak byly popsány výše. Použil jsem šablonu využívající metrické jednotky, které jsou mi bližší než jednotky imperiální. 26
Vybrání snímku, jeho import do Google SketchUp a následná barevná úprava proběhly bez úpravy uvedeného postupu. Souřadné osy byly umístěny do rohu zámečku, u kterého jsem s modelováním začínal. Protože jsem měl k dispozici plány budovy, rozhodoval jsem se, jak je nejlépe využít. Nejprve jsem chtěl plány použít jako šablonu, podle které bych vytvořil obrys budovy. K tomu jsem využil možnost SketchUpu importovat soubory ve formátu .dwg. Bohužel import plánů do Google SketchUp není dokonalý, takže se stávalo, že některé stěny budov se při importu umístily na špatné místo a bylo tedy nutné porovnávat importované plány s plány původními. Importované plány byly také příliš složité a obsahovaly spoustu nadbytečných informací, mezi které patřily například plány vnitřních prostorů budovy, výškové kóty, popisky a další. Složitost plánů a množství zbytečných informací velice zpomalovali práci v Google SketchUp. V této chvíli jsem se rozhodoval, zda nadále používat importované plány, nebo tento způsob opustit a zkusit jiný postup. Nejprve jsem se rozhodl pokračovat v práci s využitím importovaných plánů. Začal jsem tedy plány postupně zjednodušovat a odmazávat všechny nepotřebné informace. Po chvíli práce jsem ale pochopil, že zjednodušování plánů by zabralo více času a úsilí než samotné modelování. Opustil jsem proto myšlenku použití importovaných plánů a rozhodl jsem se nadále využívat plány pouze jako zdroj informací o rozměrech stěn při samotném modelování. Při modelování obrysu budovy jsem začínal od počátku souřadného systému, který jsem si umístil do rohu zámečku. Od tohoto bodu jsem modeloval s pomocí nástrojů popsaných v kapitole 2 a s využitím informací z plánů budovy. Nejvíce jsem z plánů využíval informace o délce jednotlivých stěn a o úhlech, které spolu stěny svírají. Následné rozdělení obrysu budovy do úseků o stejných výškách střech a vyzdvihnutí těchto úseků bylo s použitím transformačních nástrojů triviální. Asi největší problémy nastaly při tvorbě textur pro stěny budovy. Pro vytvoření textur jsem použil vlastní fotografie budovy. Fotografování se ukázalo jako nejpracnější část celého procesu vytváření modelu. Byly pořízeny stovky fotografií všech částí budovy z různých úhlů a z těchto snímků jsem potom vybral několik desítek nejvhodnějších, které byly následně upravovány. Jako nejvhodnější se ukázaly fotografie, které zachycovaly celou stěnu z přímého pohledu. Vzhledem k terénu a omezeným možnostem pohybu se mi nepodařilo zachytit všechny stěny z přímého pohledu. U menších stěn mnohdy vyhovovala i fotografie z úhlu, protože zkreslení menší plochy, zachycené na takovéto fotografii, nebylo velké. U fotografií zachycujících pohled z úhlu na větší stěny bylo ale zkreslení až příliš velké a nedaly se tedy použít. Takovéto stěny byly rozděleny na menší části a na každou část byla použita samostatná textura. Při úpravě fotek jsem se soustředil hlavně na vyrovnání barevného spektra úpravou teploty a odstínu barev. Dále jsem se při úpravě zaměřoval na kontrast a sytost barev a na zdůraznění hran. U některých snímků bylo nutné upravit také vinětaci a odstranit přeexponované a podexponované místa. Po dokončení barevné úpravy jsem přistoupil ke korekci obsahu fotografií retušováním nevhodných prvků. Na fotografiích prosklených částí modelovaného komplexu byly příliš znát odlesky okolních objektů. Tyto odlesky by bylo velice obtížné retušovat a v mnoha případech to ani nebylo možné, protože odlesk zabíral skoro celou plochu materiálu. Proto nebyly na část budovy použity fotografické textury, ale vzhled byl dotvořen modelováním a použitím předvytvořených materiálů Google SketchUp. Po dokončení texturování jsem přistoupil k úpravě polohy modelu vůči terénu. Horizontální polohu modelu nebylo nutné upravovat, protože vytvořený model byl vhodně umístěný vůči jeho vyobrazení na snímku z Google Earth. Úprava vertikální polohy komplexu probí27
hala postupnou korekcí umístění všech částí budovy. Tyto části byly postupně zarovnávány tak, aby byly všechny body jejich podstavy umístěny buď na terénu nebo pod úrovní terénu. Pokud se stalo, že část budovy byla až příliš ponořena pod úroveň terénu, byla upravena i poloha textur stěn a vyrovnána výška této části oproti okolí. Dalším bodem postupu bylo zobrazení modelu v Google Earth, kterému předcházel export modelu do formátu .kmz. Při tomto exportu docházelo k pádu aplikace a nebylo tedy možné soubor v Google Earth zobrazit. K těmto pádům docházelo pravděpodobně kvůli přílišné velikosti souboru s modelem. Tento problém jsem se nejprve pokoušel vyřešit zjednodušením modelu a odmazáním všech nepotřebných hran a ploch. Bohužel se těmito úpravami problém při exportu nevyřešil a musel jsem tedy přistoupit ke snížení kvality textur a poté i ke zmenšení velikosti fotografií, které byly použity pro textury. Pro textury byly nejprve použity vysoce kvalitní fotografie s větší velikostí než je doporučována. Použití těchto fotek způsobilo nárůst velikosti souboru a znatelné zpomalení při práci v Google SketchUp. Snížením kvality a velikosti použitých fotek se snížila i celková velikost modelu a následný export proběhl bez problémů. Po zobrazení a prohlédnutí modelu v Google Earth následovaly menší úpravy a optimalizace, které vedly k finální podobě tohoto modelu.
28
Kapitola 4
Kritéria přijatelnosti budov Protože každá aplikace má své omezení, tak i modely určené pro Google Earth se musí řídit několika podmínkami. Každý model, který má být přijat do aplikace Google Earth, musí splňovat určitá kritéria. Při nedodržení těchto kritérií může být umístění modelu odmítnuto. Kritéria pro přijetí jsou následující [2]: • Model by neměl obsahovat reklamy. • Model by měl být lepší než ostatní alternativy. • Model by měl reprezentovat skutečnou budovu. • Model by neměl být umístěn nad terénem. • Model by neměl být příliš ponořen do terénu. • Model by měl být správně zarovnán s leteckým snímkem z Google Earth. • Model by neměl obsahovat mnoho doprovodných prvků. • Model by měl být kompletně otexturován. • Model by měl mít správnou výšku. • Model by měl mít správnou velikost. • Model by měl být kompletní. • Model by neměl obsahovat příliš mnoho vytvořeného terénu. • Model by neměl být příliš složitý. • Model by neměl obsahovat překrývající se plochy. • Model by neměl obsahovat více než jednu budovu. Jak můžeme vidět, jsou podmínky přijetí zadány poměrně volně a často se stává, že v Google Earth vidíme model příliš zasazený do terénu, špatně umístěný nebo nevhodně texturovaný.
29
4.1
Problémy s přijetím modelu
V této části projdeme jednotlivá uvedená kritéria pro přijetí a uvedeme doporučení, jak tyto podmínky dodržovat a jak řešit případné problémy s přijetím. Tato část vychází z [3]. Při odmítnutí modelu kvůli porušení první podmínky je řešení jednoduché. Stačí z modelu odstranit všechno, co může být považováno za reklamu, spam nebo reklamní nápis. Dodržení druhé podmínky je těžší, protože nemusíme mít informace o kvalitě ostatních modelů a současně musíme vytvořit nejkvalitnější model. Pro zvýšení šance na přijetí vytvořeného modelu je vhodné model co nejvíce zjednodušit, snížit celkový počet polygonů a zvýšit věrnost nebo kvalitu textur. Jestliže byl model odmítnut, protože modelovaná budova není na současných snímcích aplikace Google Earth, nebo budova, kterou zobrazuje, ještě nebyla dokončena, je možné odeslat model znovu a do popisu uvést odkaz na obrázky budovy a jejího okolí popř. odkaz na stránku, která uvádí datum dokončení budovy. Dalším častým problémem, kvůli kterému může být model odmítnut, je jeho nesprávné umístění. Model musí být umístěn na, nebo částečně pod terénem, ale nikdy ne nad, nebo příliš pod úrovní terénu. Samotný model také musí být správně zarovnán se snímky z aplikace Google Earth. Pokud není, je nutné ho posunout, aby jeho umístění odpovídalo snímku. Řešení problémů se zarovnáním vůči terénu bylo rozebráno v předchozí kapitole u jednotlivých metod tvorby modelu. Modely, které obsahují mnoho doprovodných prvků, mají menší šanci na přijetí. Neměli bychom proto do modelu zahrnovat nedůležité prvky, které zbytečně zvyšují složitost modelu. Každá stěna modelu by měla mít vhodnou texturu. Model by tedy neměl obsahovat prázdné stěny. Pokud pro danou stěnu nebo střechu nemáme fotografickou texturu, můžeme použít materiály Google SketchUp nebo vzhled stěny odvodit z okolních stěn. Nesprávná výška nebo měřítko modelu může být dalším důvodem pro odmítnutí. Pokud neznáme výšku budovy, můžeme ji odvodit podle výšky dveří, jejichž průměrná výška je asi 2,13 m. Zároveň bychom se měli ujistit, že velikost modelu odpovídá velikosti snímku budovy z Google Earth. Dále je potřeba, aby modelu nechyběly stěny nebo střechy. Nekompletní modely bývají vždy odmítnuty. Řešení tohoto problému je opět jednoduché, stačí model projít a doplnit chybějící plochy. Dalším problémem může být terén, pokud jsme ho pro umístění budovy vytvořili. Pokud je tento terén příliš velký, nebo bude mít nevhodnou texturu, může být umístění modelu odmítnuto. Pokud byl terén odmítnut z důvodu nesprávné textury, je nutné, aby nová textura lépe korespondovala se stávajícím terénem, nebo aby vypadala realističtěji. Při tvorbě terénu bychom se také měli vyvarovat překrývání terénu a ostatních tvarů. Přílišná složitost modelu je jeden z nejtěžších problémů na odstranění. Tento problém se nejčastěji řeší aplikováním vhodné textury pro dodání detailu a realističnosti modelu namísto vytváření detailů modelováním. K překrývání ploch může docházet při umístění dvou nebo více ploch do stejné roviny. Tento problém lze řešit smazáním některých překrývajících se ploch. Pokud budovy v modelu netvoří logický celek nebo nejsou součástí jednoho komplexu budov, měly by být umístěny v oddělených souborech. Pokud modelujeme souvislý blok na sebe navazujících budov, můžeme jednotlivé budovy oddělit a stěnám, kterými byly jednotlivé budovy odděleny můžeme dát šedou barvu.
30
Kapitola 5
Závěr Hlavním cílem této práce bylo vytvořit 3D model budovy, který bude splňovat požadavky pro přijetí do systému Google Earth. Pro vytvoření modelu byl použit program Google SketchUp. Prostředí tohoto programu a nástroje, které se nejčastěji používají pro modelování budov, jsou představeny v první kapitole. Další kapitoly popisují dvě metody doporučované pro vytvoření modelu a kritéria, které by model měl splňovat pro přijetí do vrstvy 3D Budov. Samotné modelování budov v Google SketchUp pro Google Earth staví na jednoduchosti vytvořeného modelu. Bývá časté, že některé budovy přijaté do vrstvy 3D Budov působí zdálky pěkně, ale po přiblížení pohledu jsou znát mnohé vady. Nejčastější vada bývá taková, že textura aplikovaná na stěnu budovy zobrazuje z větší části objekt, za kterým je samotná budova schována. Těmito objekty nejčastěji bývají stromy nebo auta. Další vadou bývá nevhodně umístěná textura nebo nesprávné zarovnání modelu vůči terénu. Při vytváření tohoto modelu jsem se snažil těchto problémů vyvarovat. U velké části modelů je také běžné, že na všechny stěny budovy je použita jedna textura. Toto sice ubírá na realističnosti modelu, ale zase přidává na jednoduchosti. Podle mého názoru vypadají takovéto modely mnohdy lépe než modely, na kterých je použito velké množství různých textur. I přes můj osobní názor jsem se pokusil přiřadit každé stěně budovy odpovídající texturu a zachytit tak modelovanou budovu co nejvěrněji. Model budovy Božetěchova 1/2 byl vytvořen pomocí první představené metody. Obě představené metody spoléhají na textury vytvořené z fotografií, které používají pro realistické zobrazení budovy. Protože část modelovaného komplexu je postavena z materiálu, v němž jsou znát odlesky okolních budov, nebyly použity fotografické textury, ale vzhled budovy byl vymodelován. Textury nebyly použity z toho důvodu, že odlesky na materiálu byly příliš znatelné, a protože by jejich retušování bylo příliš složité. Modelování detailů způsobilo velký nárust polygonů a složitosti budovy, což se může ukázat jako důvod pro nepřijetí budovy do systému Google Earth. Dalším důvodem pro její nepřijetí může být i to, že část budovy nebyla v době pořizování snímků pro Google Earth postavena. První problém by se dal vyřešit pořízením kvalitnějších fotografií, na kterých by nebyly znát odlesky materiálu, nebo vytvořením textury z obrázku vymodelované budovy a použitím této textury místo modelování vzhledu. Řešení druhého problému bylo uvedeno v kapitole 4.
31
Literatura [1] Chopra, A.: Google SketchUp For Dummies (For Dummies (Computer/Tech)). For Dummies, 2007, ISBN 0470137444. [2] WWW stránky: Galerie 3D objektů Google [online]. http://sketchup.google.com/intl/cs/3dwh/viewinggearth.html, 2010-04-01 [cit. 2010-13-04]. [3] WWW stránky: Galerie 3D objektů Google [online]. http://sketchup.google.com/intl/en/3dwh/acceptance criteria.html, 2010-04-01 [cit. 2010-13-04]. [4] WWW stránky: Geo-modeling with Google SketchUp [online]. http://sketchup.google.com/support/bin/answer.py?answer=167458, 2010-04-01 [cit. 2010-13-04]. [5] WWW stránky: Geo-modeling with Google SketchUp: the Extruded Footprint method [online]. http://sketchup.google.com/support/bin/answer.py?answer=167461, 2010-04-01 [cit. 2010-13-04]. [6] WWW stránky: Geo-modeling with Google SketchUp: the Matched Photo method [online]. http://sketchup.google.com/support/bin/answer.py?answer=167462, 2010-04-01 [cit. 2010-13-04]. [7] WWW stránky: Inference - SketchUp Help [online]. http://sketchup.google.com/support/bin/answer.py?answer=70143, 2010-04-01 [cit. 2010-13-04]. [8] WWW stránky: SketchUp Reference Guide [online]. http://sketchup.google.com/support/bin/answer.py?hl=en&answer=116008, 2010-04-01 [cit. 2010-13-04]. [9] Žára, J.; Beneš, B.; Sochor, J.; aj.: Moderní počítačová grafika. Computer Press, druhé vydání, 2005, ISBN 8025104540.
32
Dodatek A
Obsah CD Přiložené CD obsahuje: • Model budovy ve formátu .skp pro Google SketchUp • Model budovy ve formátu .kmz pro Google Earth • Text bakalářské práce ve formátu .pdf • Zdrojové soubory textu bakalářské práce
33