České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačové grafiky a interakce
Bakalářská práce
Vizualizace dostavby Staroměstské radnice Milan Kratochvíl
Vedoucí práce: Ing. David Sedláček Zadavatel: PhDr. Kateřina Bečková Studijní program: Softwarové technologie a management, bakalářský Studijní obor: Web a multimedia 25. 5. 2012
Poděkování Rád bych poděkoval Ing. Davidu Sedláčkovi za cenné rady a za pomoc při vzniku této bakalářské práce.
Prohlášení Prohlašuji, že jsem práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu §60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). V Praze dne 25. 5. 2012
...............................................
Abstract This bachelor thesis deals with problems of 3D reconstruction from photos. It analyzes current technologies and tests programs designated for that purpose. The most suitable method is then used to achieve the goal. That is to create a believable visualisation of Old Town Square in Prague in current form, including 3D model of never realized completion of Old Town Hall. The result is photorealistic model of square with or without completion which is exported to VRML.
Abstrakt Tato bakalářská práce se zabývá problematikou 3D rekonstrukce z fotografií. Analyzuje současné technologie a testuje programy k tomu určené. Nejvhodnější metoda je poté použita k dosažení cíle. Tím je vytvoření věrohodné vizualizace Staroměstského náměstí v Praze v aktuální podobě včetně 3D modelu nikdy nezrealizované dostavby Staroměstské radnice. Výsledkem je fotorealistický model náměstí s dostavbou i bez ní, který je vyexportován do VRML.
Obsah 1.
2.
Úvod ...................................................................................................................................... 1 1.1.
Popis problému, specifikace cíle ................................................................................... 1
1.2.
Vymezení cílů práce ...................................................................................................... 1
Analýza .................................................................................................................................. 3 2.1.
2.1.1.
Langweilův model Prahy ....................................................................................... 3
2.1.2.
Projekt Vizerra ....................................................................................................... 3
2.1.3.
Praha 4D ................................................................................................................ 4
2.1.4.
Modely z Google Warehouse ................................................................................ 5
2.2.
Přehled možných řešení ................................................................................................ 5
2.2.1.
Autodesk ImageModeler 2009 .............................................................................. 5
2.2.2.
Google Warehouse, Google Building Maker ......................................................... 6
2.2.3.
Google SketchUp ................................................................................................... 7
2.2.4.
Autodesk 123D Catch ............................................................................................ 8
2.2.5.
Autodesk 3Ds Max, Maya atd. .............................................................................. 8
2.3.
3.
Předchozí projekty ........................................................................................................ 3
VRML ............................................................................................................................. 9
Návrh řešení ........................................................................................................................ 11 3.1.
Získání materiálů ......................................................................................................... 11
3.1.1.
Fotografie náměstí .............................................................................................. 11
3.1.2.
Dostavba radnice................................................................................................. 11
3.2.
Test software............................................................................................................... 13
3.2.1.
Autodesk ImageModeler 2009 ............................................................................ 13
3.2.2.
Google Building Maker ........................................................................................ 14
3.2.3.
Google SketchUp ................................................................................................. 16
3.2.3.1. 3.2.4. 3.3.
V-Ray plugin .................................................................................................... 17 123D Catch .......................................................................................................... 18
Zhodnocení.................................................................................................................. 19
4.
Realizace .............................................................................................................................. 21 4.1.
5.
Modely budov ............................................................................................................. 21
4.1.1.
Příprava fotografií................................................................................................ 21
4.1.2.
Kalibrace .............................................................................................................. 21
4.1.3.
Modelování.......................................................................................................... 22
4.1.4.
Texturování.......................................................................................................... 23
4.2.
Model dostavby radnice .............................................................................................. 24
4.3.
Kompletace modelu .................................................................................................... 25
4.4.
Export do VRML ........................................................................................................... 25
Závěr .................................................................................................................................... 27 5.1.
Použití projektu ........................................................................................................... 27
5.2.
Možná vylepšení do budoucna.................................................................................... 27
Použité zdroje .............................................................................................................................. 29
A.
Obrazová příloha ................................................................................................................. 31
B.
Obsah přiloženého CD ......................................................................................................... 35
Seznam obrázků Obrázek 2.1: Digitální Langweilův model Prahy............................................................................ 3 Obrázek 2.2: Projekt Vizerra.com - Old Town Square [3] ............................................................. 4 Obrázek 2.3: Praha 4D................................................................................................................... 5 Obrázek 2.4: Rozhraní programu Autodesk ImageModeler 2009 ................................................ 6 Obrázek 2.5: Rozhraní aplikace Google Warehouse ..................................................................... 6 Obrázek 2.6: Rozhraní programu Google SketchUp ..................................................................... 7 Obrázek 2.7: Rozhraní programu 123D Catch............................................................................... 8 Obrázek 3.1: Bokorys dostavby Staroměstské radnice ............................................................... 12 Obrázek 3.2: Sádrový model dostavby Staroměstské radnice .................................................... 12 Obrázek 3.3: Render upraveného modelu z Autodesk ImageModeler 2009 ............................. 14 Obrázek 3.4: Model rohové budovy z Building Makeru.............................................................. 15 Obrázek 3.5: Model hotelu z Building Makeru ........................................................................... 15 Obrázek 3.6: Model Národní galerie z Building Makeru ............................................................. 16 Obrázek 3.7: Render modelu hotelu pomocí V-Ray pluginu pro SketchUp ................................ 17 Obrázek 3.8: Výsledný model dostavby radnice v Autodesk 123D Catch Beta .......................... 18 Obrázek 4.1: Srovnání fotografie před a po retuši...................................................................... 21 Obrázek 4.2: Kalibrace fotografie v Google SketchUp ................................................................ 22 Obrázek 4.3: Úprava pozice textury ............................................................................................ 23 Obrázek 4.4: Model současné radnice a dostavby ..................................................................... 24 Obrázek 4.5: Model radnice s dostavbou ve VRML .................................................................... 25
1. Úvod Vizualizace tvoří v dnešní době nedílnou součást projektu každé velké významné stavby, obzvlášť pokud se jedná o její zasazení do centra města, kde by mohla narušit jeho vzhled. Na rozdíl od nákresů nebo papírového či sádrového modelu dokáže digitální vizualizace zobrazit, jak by dané místo skutečně vypadalo, kdyby byla budova postavena. Výhodou vizualizací je také všem přístupná prezentace projektu, a to v několika v různých pohledech na stavbu nebo i animovaným video-průletem oblastí.
1.1. Popis problému, specifikace cíle Hlavním cílem této práce je vytvořit kompletní vizualizaci Staroměstského náměstí s nerealizovanou dostavbou Staroměstské radnice podle návrhu architekta Gočára z počátku 20. století. Vizualizace by měla být vytvořena pomocí nejvhodnějšího způsobu techniky 3D rekonstrukce z fotografií. Výsledkem by měly být fotorealistické rendery celého náměstí z různých pohledů, a to jak v aktuálním stavu, tak i s nerealizovanou dostavbou. Také by měl být ideálně model celého náměstí převeden do formátu VRML. Tento model by pak mohl sloužit k prezentaci na webových stránkách.
1.2. Vymezení cílů práce
otestovat software pro rekonstrukci 3D modelů z fotografií
vytvořit model Staroměstského náměstí
vytvořit model dostavby Staroměstské radnice
udělat fotorealistické rendery náměstí s dostavbou a bez ní
exportovat do VRML
1
2. Analýza 2.1. Předchozí projekty V této části je představeno několik již vytvořených 3D modelů, které zobrazují Staroměstské náměstí nebo alespoň nějakou část Prahy. Slouží zároveň jako inspirace pro tuto práci.
2.1.1. Langweilův model Prahy Digitální model vznikl z původního papírového Langweilova modelu Prahy, který zachycuje více než 2000 budov historického centra Prahy. Tento model vytvořil zaměstnanec univerzitní knihovny Antonín Langweil v letech 1826-1837. Koncem roku 2006 začala jeho náročná digitalizace pražskou firmou Visual Connection. [4] Modely budov byly nafoceny a poté byly zdigitalizovány speciálním softwarem, který byl vyvíjen ve spolupráci s firmou Autodesk RealViz a jehož základem byl Autodesk ImageModeler. Více informací o průběhu digitalizace je k nalezení zde [5].
Obrázek 2.1: Digitální Langweilův model Prahy
2.1.2. Projekt Vizerra 3D model Staroměstského náměstí vytvořený v rámci projektu Vizerra.com byl poprvé představen na výstavě For Arch 2009. Na webovém portálu Vizerra.com je kromě modelu Staroměstského náměstí v Praze k vidění i několik dalších 3D modelů slavných světových pamětihodností. [1] Tento projekt je vytvořen ruskou vývojovou společností 3Dreamteam,
3
která rychle expandovala do dalších zemí a v současné době má na seznamu velké množství klientů. [2] Tento model byl vytvořen za pomoci technologie Emergent™ Game Technologies’ Gamebryo®, technologií určenou k vytváření počítačových her. Model je vysoce detailní a obsahuje dokonce i funkční model Pražského orloje, a to včetně animace apoštolů a zobrazení aktuálního času. Na portálu je ukázka několika snímků a prezentační video (k dispozici také na Youtube v anglické i české verzi1). Podle [1] by měl být celý model zdarma ke stažení, ale aktuálně je ke stažení pouze jediný „demo“ projekt.
Obrázek 2.2: Projekt Vizerra.com - Old Town Square [3]
2.1.3. Praha 4D Praha4D je virtuální model Prahy, který se snaží zobrazit Prahu jak historickou, tak současnou. Cílem modelu je tedy obsáhnout Prahu od založení Nového města až po současnost. Součástí modelu jsou i pohyblivé dobové dopravní prostředky. Autor vytváří model ve svém volném čase, proto také není dokončený, i když jak lze z doprovodných obrázků vypozorovat, obsahuje řadu modelů. Na webových stránkách projektu je i několik ukázkových video-sekvencí. [6]
1
Česká video-prezentace Staroměstského náměstí projektu Vizerra je ke zhlédnutí na této adrese: http://www.youtube.com/watch?v=C2znJveELP0
4
Obrázek 2.3: Praha 4D
2.1.4. Modely z Google Warehouse Několik modelů budov Prahy a Staroměstského náměstí lze najít na webovém portálu služby Google Warehouse (Google galerie 3D objektů). Protože pocházejí od různých uživatelů, jejich kvalita se pohybuje od jednoduchých modelů vytvořených pravděpodobně pomocí Building Makeru (viz 2.2.2) až po poměrně detailní. [7]
2.2. Přehled možných řešení Existuje mnoho programů pro vytváření 3D modelů objektů nebo jejich rekonstrukci z fotografií2. Tato práce se zaměřuje pouze na ty nejvýznamnější, a to takové, které nejlépe poslouží danému účelu, tedy vytváření 3D modelů budov z digitálních fotografií. Popisuje jejich základní funkce a jejich výhody a nevýhody.
2.2.1. Autodesk ImageModeler 2009 Autodesk ImageModeler je software určený pro architekty, designéry a ostatní tvůrce multimediálního obsahu. Umožňuje jim generovat 3D modely z digitálních fotografií. Má jednoduché uživatelské rozhraní a vytváření modelů probíhá ve třech základních krocích: kalibrace, modelování a texturování. Tímto způsobem umožňuje uživatelům snadno a efektivně vytvářet fotorealistické 3D modely a exportovat je v různých formátech pro jiné produkty firmy Autodesk. Aktuální verze je 2009 a licence je k dispozici všem, kteří si zakoupí produkt od Autodesku s Autodesk Subscription, jako je např. Autodesk 3ds Max 2010 nebo Autodesk Maya 2010 (pravděpodobně i k novějším verzím). [8]
2
Přehled většiny aplikací (samostatných programů či pluginů) včetně základního srovnání je k dispozici na této stránce: http://en.wikipedia.org/wiki/Photogrammetry
5
Obrázek 2.4: Rozhraní programu Autodesk ImageModeler 2009
2.2.2. Google Warehouse, Google Building Maker Google 3D Warehouse (Galerie 3D objektů) je spřízněná webová stránka s Google SketchUp, kde mohou modeláři nahrávat, stahovat a sdílet své trojrozměrné modely. Tato stránka tak tvoří velkou kolekci modelů a pomocí algoritmů dokáže rozpoznat podobné modely. Jednotlivé modely se dají prohlížet ve 3D přímo v okně webového prohlížeče. Galerie obsahuje převážně modely budov, zejména těch světoznámých. Tato webová stránka obsahuje také nástroj Google Building Maker (Modelování budov), který umožňuje přímo v internetovém prohlížeči vytvářet modely budov. Využívá k tomu svých map z Google Earth, uživatel tak modeluje vlastně přímo v mapě. Po dokončení může být model umístěn do mapy, pokud projde schválením.
Obrázek 2.5: Rozhraní aplikace Google Warehouse 6
2.2.3. Google SketchUp Google SketchUp je CAD software pro tvorbu 3D modelů, vyvíjený společností Google, navržený pro profesionální architekty, stavební a strojní inženýry, ale i například pro filmové tvůrce a vývojáře počítačových her. Tento program umožňuje nejen vytvářet 3D objekty a texturovat jejich povrch, ale umožňuje také geografické umístění kdekoliv na Zemi prostřednictvím Google Earth a propojení se softwarem GIS. Momentálně je na trhu dostupná verze 8.0.11752, v češtině jen verze 6.4.247 (k 20. 1. 2012). [9] Ovládání Google SketchUp je velice intuitivní. Velká výhoda tohoto programu spočívá v možnosti vyhledat a stáhnout již hotové objekty pro vlastní práci (zahradní zařízení, celé domy, stromy podle druhů, dopravní značky apod.). Dalším šikovným rozšířením Google SketchUp je 3D Warehouse (viz 2.2.2), který umožňuje uživatelům vyhledávat, stahovat a sdílet již vytvořené modely. SketchUp byl vyvinut začínající společností @Last Software v roce 1999, v srpnu 2000 byla uvedena na trh první verze. Byl představen jako snadno použitelný 3D nástroj určený pro tvorbu 3D modelů s jednoduchým uživatelským rozhraním. V roce 2006 firma Google koupila @Last Software, jelikož ji zaujala jejich práce na vývoji pluginu pro Google Earth. O rok později vyšel SketchUp 6 pod firmou Google. Od verze 7, která vyšla v roce 2008, pak přidává podporu pro Google Warehouse. [9] Google SketchUp je dostupný ve dvou verzích. Základní je k dispozici zdarma, verze Pro umožňuje navíc např. export do dalších formátů. Co se týká modelování, nemá ale základní verze žádné omezení. Obě verze existují pro operační systémy Microsoft Windows XP/Vista/7 a Mac OS X Tiger a vyšší.
Obrázek 2.6: Rozhraní programu Google SketchUp
7
2.2.4. Autodesk 123D Catch Autodesk 123D Catch (dříve také známý pod názvem Project Photofly nebo Photo Scene Editor) je program určený pro 3D rekonstrukci z digitálních fotografií. Tento program, který je stále ve vývoji a nyní se nachází ve fázi beta, je součástí rodiny programů 123D od firmy Autodesk. Celá tato řada programů je určená pro běžné uživatele a na webových stránkách Autodesk Labs je po registraci zdarma ke stažení. Autodesk 123D Catch vytváří 3D modely zcela automaticky sám, poté co uživatel vybere fotografie a potvrdí jejich nahrání na cloud (vzdálený server), na kterém proběhne kompletace modelu. Po dokončení je tento model automaticky stažen a otevřen v programu pro další úpravy.
Obrázek 2.7: Rozhraní programu 123D Catch
2.2.5. Autodesk 3ds Max, Maya atd. Další možností je vytvářet modely přímo v pokročilých 3D modelovacích programech, jako jsou například 3ds Max a Maya od firmy Autodesk, z neplacených např. Blender. Fotografie budov se mohou použít jako podklad pro modelování. Je však potřeba, aby z nich bylo odstraněno perspektivní zkreslení a vady způsobené objektivem (např. soudkovitost), jinak nebude modelování přesné. Ideální je, pokud jsou k dispozici plány budovy s přesnými rozměry, modelování pak bude mnohem snazší a skutečné fotografie textur budou odpovídat nebo bude jednoduché přizpůsobit je modelu. V těchto programech není díky spoustě nástrojů problém vytvořit jakkoliv složitou budovu, na druhou stranu celé modelování zabere více času. Samozřejmostí je také renderování, které ostatní programy neumožňují a je zapotřebí pluginů nebo exportování modelu právě do tohoto typu softwaru.
8
Výhody:
kompletní kontrola nad výsledkem
hodně nástrojů
umožňuje renderování
Nevýhody:
časově náročné
obvykle placený software
na jednodušší objekty zbytečně komplikované
2.3. VRML VRML neboli Virtual Reality Modeling Language je jazyk umožňující zápis prostorových objektů a scén do textového souboru. Jak název napovídá, jedná se o jazyk popisující virtuální realitu. VRML je grafický formát založený na deklarativním programovacím jazyce, který může obsahovat popis scén s pasivními i aktivními objekty. Virtuální světy se zapisují do textových souborů, které se skládají z jednotlivých částí – uzlů. Uzly mohou mít své parametry a v roli parametrů se mohou objevovat jiné uzly. Dochází zde k tomu, že objekty mohou dědit své vlastnosti po rodičích. Lze tedy použít dědičnost známou z objektově orientovaného programování.
9
3. Návrh řešení V této kapitole je popsána analýza a testování programů uvedených v kapitole 2.2. Jsou zde otestovány jen ty funkce, které jsou důležité k hlavnímu cíli této bakalářské práce. Jejich využití je názorně ukázáno na příkladech a následně jsou zhodnoceny výhody a nevýhody těchto programů.
3.1. Získání materiálů Cílem modelu je vytvořit vizualizaci Staroměstského náměstí s dostavbou Staroměstské radnice. 3D model Staroměstského náměstí už byl několikrát vytvořen dříve (viz 2.1), 3D model dostavby radnice nikoliv. Proto je nutné vytvořit celé náměstí i s dostavbou znovu, tak aby vizualizace vypadala pokud možno co nejvěrněji.
3.1.1. Fotografie náměstí K vytvoření co nejkvalitnějších a co nejpřesnějších 3D modelů jednotlivých budov na Staroměstském náměstí bylo třeba získat jejich fotografie. Důležitými kritérii je vysoké rozlišení a kvalitní kresba, a to jak pro samotné modelování, tak hlavně kvůli texturování. Ačkoliv na internetu lze najít mnoho fotografií Staroměstského náměstí, nejsou zde úplně všechny a především jejich kvalita je rozdílná. Z tohoto důvodu jsem tedy budovy nafotil sám. Všechny fotografie byly zhotoveny v rozlišení 12 MPix.
3.1.2. Dostavba radnice Na přestavbu či dostavbu východního křídla Staroměstské radnice bylo v minulosti vypsáno již osm soutěží, ve kterých bylo podáno celkem 537 návrhů. Všechny byly ale odmítnuty a žádný z nich nebyl dodnes realizován. Jeden z nejznámějších návrhů pochází ze třetí soutěže, konkrétně z roku 1909. Jedná se o návrh českého architekta a urbanisty Josefa Gočára, jednoho z nejproduktivnějších architektů první poloviny 20. století. [11] V Národním technickém muzeu (NTM) mají uloženy plány této budovy (půdorys, bokorys, atd.) a také zde mají vystavený sádrový model. Nárysy jsem si okopíroval, abych je mohl později využít jako podklady k modelování. Sádrový model jsem nafotil ze všech stran po cca 10-20 stupních, jednak abych měl pro pozdější modelování co nejvíce pohledů a jednak proto, abych je mohl použít při automatické rekonstrukci.
11
Obrázek 3.1: Bokorys dostavby Staroměstské radnice
Obrázek 3.2: Sádrový model dostavby Staroměstské radnice
12
3.2. Test software 3.2.1. Autodesk ImageModeler 2009 Program ImageModeler nabízí dva způsoby kalibrování. Je to režim pro projekty s jednou fotografií a pro projekty s více fotografiemi. Podrobný postup obou způsobů je popsán v manuálu tohoto programu [10]. Abych využil všechny možnosti, zkusil jsem vymodelovat rohovou budovu ve tvaru „L“ z několika fotografií zároveň. Načetl jsem tedy pět fotografií a na záložce Calibration jsem přidal markery (Create/Move Marker) neboli význačné body, které jsou na více fotografiích společné (pro dosažení co nejlepší kalibrace nejlépe na všech). Tím se z markeru vytvoří takzvaný locator, který určuje pozici v 3D prostoru. Aby kalibrace proběhla úspěšně, je potřeba alespoň osm společných lokátorů na dvou fotografiích a alespoň čtyři na ostatních. Po úspěšném vytvoření lokátorů sama proběhne kalibrace (lze vyvolat také pomocí Calibrate). Poté jsem už jen nastavil osy (Define WorldSpace). Na záložce Modeling jsem přidal další markery určené k modelování (Place Modeling Markers), ty stačí díky kalibrovaným fotografiím srovnat jen na jedné další fotografii. Na této záložce se nachází nástroje pro manipulaci s objektem (Move, Rotate, Scale, Snap) a několik základních nástrojů pro modelování. K dispozici je vytvoření primitivních objektů (Create Primitives), vytvoření ploch (Create Face), jejich rozdělení (Split Face) a jejich extrudace (Extrude Face). Kvůli složitějšímu tvaru budovy jsem pouze spojil lokátory do ploch. Bohužel modelovacích nástrojů je zde málo, a tak je případné složitější věci (jako např. zakulacené římsy, dveře atd.) výhodnější dodělat v jiném programu. Navíc body, které nejsou na fotografiích přímo vidět, se mi tvořily celkem složitě. Po přepnutí na záložku Texturing jsem vytvořil UV mapu (Create UV Mapping) a provedl jsem projekci textur na vytvořený model (Extract Texture). Nakonec jsem na záložce Export model exportoval do souboru ve formátu .obj. Kromě toho ImageModeler umožňuje export i do formátů .dwg, .fbx, .ma a .rzi. Exportovaný soubor jsem naimportoval v Autodesk 3ds Max, kde jsem jen poupravil nepřesné souřadnice vertexů a srovnal stěny. Žádné složitější úpravy jsem neprováděl. Nakonec jsem přidal dvě světla a vytvořil render (Obrázek 3.3).
13
Obrázek 3.3: Render upraveného modelu z Autodesk ImageModeler 2009 Výhody: intuitivní ovládání
snadné namapování textur na model
po kalibraci rychlé vytváření bodů v prostoru (pouze viditelných)
Nevýhody: k lepšímu výsledku potřeba více fotografií s několika společnými prvky
málo modelovacích nástrojů
pro renderování nutno exportovat do jiného programu
3.2.2. Google Building Maker Aplikace Building Maker (Modelování budov) má velmi jednoduché a intuitivní rozhraní. Po zvolení budovy na mapě z leteckého pohledu lze začít modelovat. Samozřejmě za předpokladu, že jsou fotografie k dispozici, ne vždy tomu tak je, ale ve velkých městech s tím obvykle není problém. Building Maker nabídne šest různých pohledů na vybranou budovu, přičemž se dají přidat i vlastní fotografie. K modelování bohužel nabízí jen několik základních typů bloků a střech. K dispozici je i univerzální blok, u střech ale nikoliv, tím vzniká u složitějších budov problém. Jednotlivé body bloků se dají přichytávat k sobě. Každý přidaný blok se pak musí zarovnat na všech fotografiích, stejně tak všechny střechy. Poté je možné si ihned prohlédnout model s nanesenými texturami ve 3D mapě s ostatními budovami, i bez nich. Po uložení lze model stáhnout ve formátech .skp (Google SketchUp), .kmz (Google Earth) a .zip (Collada).
14
Building Maker po uložení rovnou nabízí vylepšení modelu v Google SketchUp, ovšem úprava modelu není ideální a kvůli nepříliš kvalitním texturám z leteckých snímků nemá moc velký význam. Některé stěny budov dokonce ani nejsou na fotografiích zachyceny, protože z leteckého pohledu se překrývají s jinými budovami. Kvůli málo nástrojům je tato aplikace bohužel využitelná pouze pro velmi jednoduché budovy, s jejich komplexností klesá přehlednost a zpomaluje se i celý její chod. Na následujících obrázcích (Obrázek 3.4, Obrázek 3.5, Obrázek 3.6) je několik budov vymodelovaných pomocí Building Makeru.
Obrázek 3.4: Model rohové budovy z Building Makeru
Obrázek 3.5: Model hotelu z Building Makeru
15
Obrázek 3.6: Model Národní galerie z Building Makeru Výhody: velmi snadné použití i pro laiky
nejsou nutné žádné podkladové fotografie
model lze umístit do 3D mapy
Nevýhody: pouze velmi jednoduché modely
nekvalitní textury
pro lepší výstup nutno exportovat a upravit v jiném programu
3.2.3. Google SketchUp Google SketchUp jako software pro 3D modelování obsahuje jednoduché uživatelské rozhraní, které nabízí základní nástroje k vytváření objektů, k jejich manipulaci a nástroje k manipulaci s kamerou. Funkcí je samozřejmě mnohem více, některé nejsou na první pohled vidět (jako např. kopírování objektů do pole). Obrázky je možné importovat jako podklad nebo jako texturu (SketchUp ale obsahuje i základní textury). Dají se také importovat jako New Matched Photo (nová přizpůsobená fotografie). Takto jsem naimportoval jednu fotografii, ale lze jich samozřejmě importovat více. Po tomto způsobu naimportování se zobrazí osy, které se pomocí úseček nastaví podle fotografie. Po určení os je možné ihned rychle a velmi přesně modelovat podle fotografie. Další velkou výhodou tohoto způsobu je přímá projekce textur na objekt, což ušetří čas a usnadní práci. Poté jsem pomocí tužky (Line) udělal základní tvar budovy a pomocí ní jsem obkresloval i okna a dveře. Aby byly souměrné, používal jsem občas metr (Tape Measure Tool) k odměření
16
vzdáleností. Na tvoření oblouků jsem použil (Arc) a okna jsem zkopíroval přesunem pomocí (Move + CTRL). Římsy jsem pak po ose y extrudoval ven (Push/Pull), vnitřek oken naopak dovnitř. Obdobně jsem pak pokračoval i s dalšími prvky budovy. Projekci textur (Project textures from photo) na model jsem provedl až nakonec, aby se správně promítly i na všechny vyextrudované prvky.
3.2.3.1. V-Ray plugin Google SketchUp neumí sám o sobě renderovat. Díky rozšiřitelnosti pomocí pluginů to ale není problém. Pluginů umožňujících renderování existuje několik, já jsem se rozhodl vyzkoušet plugin V-Ray. Tento plugin je považován za jeden z nejlepších pluginů, a to nejen pro SketchUp, ale i pro profesionální modelovací nástroje, jako je například 3Ds Max. Bohužel je placený, avšak po nainstalování je na 30 dní k vyzkoušení. Po instalaci se ve SketchUp objeví jako panel nástrojů a zároveň pod menu Plugins. V-Ray render má mnoho možností k nastavení, pro rychlý výstup jsem změnil pouze hodnoty v Output na vyšší rozlišení renderu, jinak jsem vše nechal na základním nastavení. Na [Obrázek 3.7] je vidět jeden z renderů pomocí V-Ray pluginu.
Obrázek 3.7: Render modelu hotelu pomocí V-Ray pluginu pro SketchUp Výhody: snadné ovládání
lze modelovat i pouze z jedné fotografie
automatické texturování při modelování z fotografií
základní verze volně dostupná
Nevýhody: obsahuje jen základní modelovací nástroje
neumí renderovat, lze však vyřešit pluginem
17
3.2.4. 123D Catch Uživatelské rozhraní programu Autodesk 123D Catch Beta je velmi jednoduché. Po otevření jsou na výběr pouze dvě volby – vytvoření nové scény nebo otevření již dříve vytvořené. Krom toho jsou zde odkazy na videotutoriály. Jelikož je tento program plně automatický, potřebuje k dobrému výsledku co nejvíce fotografií objektu. Rozhodl jsem se tedy tento program otestovat na nafoceném sádrovém modelu dostavby radnice. Vytvořil jsem novou scénu a vybral jsem všechny zdrojové fotografie. Poté je nabídnuto, zda počkat anebo zaslat upozornění o dokončení na email. Po zvolení se fotografie začnou nahrávat do cloudu (na vzdálený server), kde se automaticky spočítá 3D model a pošle se zpět. Tím odpadá časová i hardwarová náročnost na počítač. Výsledek dopadl překvapivě dobře. Na několika místech sice chybí části objektu a jiné části nejsou úplně přesné, ale to může být částečně způsobeno chybějícími fotografiemi z daného úhlu, jinak je model velmi povedený. S modelem se už dále nedá kromě otáčení, mazání a zoomování nic dělat. Je tu však možnost vytvoření videosekvence (a přímého uploadu na YouTube) a hlavně také export. Exportovat lze do .dwg, .fbx, .rzi, .obj, .imp a .las. Ač je výsledný objekt složen z mnoha set až tisíců bodů, jako rychlý 3D náhled je dobře použitelný a díky exportu by se dal využít jako základ pro další modelování. Je k tomu však třeba hodně fotografií ze všech úhlů, což není vždy možné.
Obrázek 3.8: Výsledný model dostavby radnice v Autodesk 123D Catch Beta
18
Výhody: velmi jednoduché na ovládání
nenáročné na hardware
vytvoření modelu probíhá v cloudu – ušetření času a výkonu
automatické zpracování
Nevýhody: výsledný model obsahuje příliš mnoho polygonů
nulové ovlivnění výsledku
je za potřebí velkého množství kvalitních fotografií
neumí renderovat, nutný export do jiného programu
3.3. Zhodnocení Nedá se přesně říct, který software je nejlepší nebo nejhorší. Každý z testovaných programů má své specifické funkce, výhody a nevýhody. Každý je určen pro trochu jinak pokročilého uživatele a hodí se k něčemu jinému. Ve své následující práci pravděpodobně využiji více programů, aby byl výsledek co nejefektivnější a nejlepší. K modelu dostavby zkusím využít model z 123D Catch, ostatní budovy budu pravděpodobně modelovat v Autodesk ImageModeler nebo v Google SketchUp podle aktuální situace.
19
4. Realizace 4.1. Modely budov Všechny modely budov Staroměstského náměstí jsem nakonec vytvořil v programu Google SketchUp. Tato volba se osvědčila jako nejrychlejší a nejsnadnější způsob, jak udělat z fotografie detailní model včetně textur. Celkově jsem vytvořil 28 budov na Staroměstském náměstí, přičemž celková doba tvorby každé budovy se pohybovala okolo několika hodin.
4.1.1. Příprava fotografií První fází byla příprava fotografií jednotlivých budov. Všechny snímky jsem zhotovil na stejnou clonu, aby bylo dosaženo co nejlepší kresby. Snažil jsem se od budov zachovat odstup, abych co nejvíce omezil kácení linií. Také jsem tím minimalizoval perspektivní a soudkovité zkreslení způsobené příliš širokým ohniskem. Každou budovu jsem vyfotil několikrát, abych mohl později snadněji odstranit lidi a jiné nežádoucí objekty. Bohužel ne vždy to bylo možné. Pokud jsem měl dostatek fotografií ze stejného místa, mohl jsem vyretušovat nežádoucí objekty. Úpravy jsem prováděl v programu Adobe Photoshop CS4. Zde jsem načetl všechny fotografie a zkopíroval je pod jednu (Duplicate Layer). Poté jsem z nich pomocí lasa (Lasso Tool) vybíral části, které byly bez cizích objektů, a vytvářel jsem z nich nové vrstvy (Layer via Copy). Občas jsem stejnou techniku používal i pro kopírování části jedné vrstvy (např. části zdí). Protože jsem fotil z ruky, bylo obvykle nutné vrstvy trochu posunout (Move Tool). Nakonec jsem vypnul viditelnost původním vrstvám a výsledek uložil. Na Obrázek 4.1 je vidět stav před a po retuši.
Obrázek 4.1: Srovnání fotografie před a po retuši
4.1.2. Kalibrace Dalším krokem bylo naimportování fotografie do programu SketchUp. Jak jsem již uváděl dříve (viz 3.2.3), naimportoval jsem ji jako New Matched Photo. Zvolil jsem bod počátku a nastavil 21
jsem přímky podle význačných linií. Složitější to bylo u budov, u kterých je vidět pouze přední stěna (viz Obrázek 4.2), protože nebylo podle čeho pořádně nastavit osu y a s osou z manipulovat nelze. Musel jsem ji tedy nastavit buď podle okolních budov anebo její směr odhadnout. Kalibrování druhé a dalších fotografií probíhá stejně jako u první. Zde se hodí změna měřítka (zoom) dostupná po najetí na osu z. Každá zkalibrovaná fotografie vytvoří novou scénu (zobrazí se jako záložka v hlavním okně). Po kliknutí na ní najede SketchUp do původního zobrazení a je možné kdykoliv upravit kalibraci.
Obrázek 4.2: Kalibrace fotografie v Google SketchUp
4.1.3. Modelování Po dokončení kalibrace jsem vždy začal modelovat základní tvar budovy. Podél os jsem pomocí tužky (Line) nebo obdélníku (Rectangle) vytvořil přední stěnu budovy. Dále jsem stejnými nástroji obkresloval ostatní prvky. Při obtahování bylo nutné dbát na to, jak prvek bude vypadat po následné extrudaci, tedy po „vytažení ven“ nebo „zatažení dovnitř“. V opačném případě by se textury nepromítly přesně (čím je budova vyfocena více z boku, tím větší vzniká problém). Při tvorbě jednotlivých prvků, jako jsou okna, rámy, dveře nebo římsy, jsem často využíval zachytávání bodů (po najetí kurzorem na nějaký bod nabídne SketchUp bod stejně vzdálený, při najetí na hranu nabídne rovnoběžku). K vytvoření vnořených prvků (typicky rámy okolo oken) jsem využíval nástroj Offset. Pokud části neměly stejný poměr stran, odměřil jsem (Tape Measure Tool) si je a udělal jsem je ručně tak, abych zachoval symetrii. U modelování zakulacených prvků jsem používal nástroje kruh (Circle) a oblouk (Arc). SketchUp je automaticky tvoří z 24 (kruh) nebo 12 (oblouk) hran. Aby model neobsahoval zbytečně mnoho entit, často jsem tento počet snižoval (Window –> Entity Info –> Segments).
22
Poté jsem obkreslené stěny extrudoval (Push/Pull) tak, aby odpovídaly importované fotografii. Protože SketchUp bohužel neumožňuje extrudovat více stěn najednou, je výhodnější provést tento krok před kopírováním. Nakonec jsem hotové prvky zkopíroval (Move + CTRL) do pole. To se dělá tak, že se po zkopírování zadá celkový počet kopií (včetně té první), poté se stiskne buď × (další kopie stejně vzdálené od první) nebo ÷ (další kopie rovnoměrně mezi originálem a první kopií) a potvrdí se klávesou Enter.
4.1.4. Texturování Posledním krokem je otexturování dokončeného modelu. Nejprve jsem označil celou stěnu a na model jsem promítl fotografii (Project textures from photo z okna Match Photo). Pokud byla správně provedena kalibrace a model byl vytvořen přesně, nanesou se textury na správné místo. Bohužel ne vždy lze fotografii zkalibrovat dokonale, protože může být perspektivně nebo soudkovitě zkreslena. Pokud dojde k nepřesné projekci textury, je možné tuto chybu opravit. Po projekci textur z fotografie má každá samostatná stěna svou vlastní texturu, přičemž lze upravit její pozici. Toho jsem často využíval k opravování textur u drobných prvků (viz Obrázek 4.3), u kterých se lehce projeví odchylka v kalibraci. Upravení pozice textury se provádí pomocí volby v kontextovém menu po stisknutí pravého tlačítka myši (Texture –> Position). Pro upravování pozice jsou zde čtyři připínáčky, pomocí nichž je možné texturu správně umístit. Kromě toho lze texturu převrátit (Flip), otočit (Rotate) nebo změnit její měřítko (Scale). Po přepnutí připínáčků na pevné (Fixed Pins) mají funkce jako nástroje (Distort, Scale, Rotate, Move).
Obrázek 4.3: Úprava pozice textury Dalším problémem byly plochy, které nebyly na fotografii vidět. Na ty se textura nepromítla buď vůbec, nebo velmi špatně. Většinou šlo o vnitřní a vnější strany oken nebo dveří, málokdy také byly vidět střechy a další prvky. To jsem řešil dvěma způsoby. Pokud se jednalo o složitější texturu, nahradil jsem ji stejnou z viditelného prvku. Nabral jsem do kapátka (Sample Paint v okně Materials) správnou texturu a pomocí kbelíku (Paint Bucket) jsem ji použil na vybranou plochu, které jsem upravil pozici výše zmíněným způsobem.
23
Druhý způsob spočíval v nanesení nové textury. U jednoduchých prvků (strany oken, římsy) a prvků nezobrazených na fotografii (hlavně střechy) jsem použil textury obsažené přímo v programu Google SketchUp. I když je zde na výběr velké množství barev, obvykle jsem ji přizpůsobil okolním texturám (Materials –> Edit –> Match color on screen).
4.2. Model dostavby radnice K vymodelování dostavby Staroměstské radnice jsem nejprve použil model vytvořený pomocí programu 123D Catch (viz 3.2.4). Z programu 123D Catch jsem model exportoval do formátu .fbx. Ten jsem poté importoval v programu Autodesk 3ds Max 2010, kde jsem se pokusil model upravit. Ačkoliv model vypadal na první pohled slušně, ve skutečnosti byl složen z tisíců bodů. Zjistil jsem, že by mi úprava modelu zabrala více času, než vytvořit model úplně od začátku. Proto jsem toto řešení zavrhnul. Dostavbu jsem tedy nakonec vymodeloval opět v programu Google SketchUp. Použil jsem hotový model Staroměstské radnice z předešlé části, ke kterému jsem přidělal dostavbu. Díky tomu jsem nemusel radnici modelovat znovu a také jsem tím zároveň zajistil, že měřítko bude odpovídat. Model dostavby jsem tvořil stejným způsobem jako u jednotlivých budov, s tím rozdílem, že místo fotografie z náměstí jsem importoval fotografii sádrového modelu. Kalibrace této fotografie nebyla ideální, protože byla vyfocena z nadhledu. Naštěstí jsem ale díky nárysům (viz 3.1.2) mohl dodržet rozměry plánované stavby. Kus původního modelu jsem musel odmazat, protože se kryl s navrhovanou dostavbou (viz Obrázek 4.4). Jinak zbytku modelu nic nepřekáželo. Detailní prvky nejsou na sádrovém modelu udělány, proto jsem okna vymodeloval podle jednoho z nárysů. Podle něj jsem vymodeloval též několik dalších částí.
Obrázek 4.4: Model současné radnice a dostavby
24
4.3. Kompletace modelu Veškeré vytvořené modely budov jsem naimportoval do nového projektu v programu Google SketchUp. Po importu měly rozdílné měřítko, to jsem tedy pomocí nástroje Scale upravil. Budovy jsem umístil tak, aby odpovídaly skutečnosti. Poté jsem udělal kopii tohoto projektu a importoval jsem do něj model dostavby Staroměstské radnice. Kvůli ní bylo nutné smazat několik budov. Protože takhle rozsáhlý model je velmi náročný na renderování, udělal jsem pouze normální náhledy (File –> Export –> 2D Graphic) – viz Obrazová příloha.
4.4. Export do VRML Všechny modely budov Staroměstského náměstí včetně dostavby jsem z programu Google SketchUp nejprve exportoval do formátu .3ds, který umí otevřít program Autodesk 3ds Max. Díky tomu jsem mohl vytvořit několik renderů (které V-Ray plugin renderoval příliš dlouho a při složitějších modelech dokonce hlásil chybu). Poté jsem jednoduše provedl export do .wrl, formátu VRML.
Obrázek 4.5: Model radnice s dostavbou ve VRML
25
5. Závěr V rámci této bakalářské práce byl vytvořen fotorealistický model Staroměstského náměstí v současné podobě a také byl vytvořen model navrhované dostavby Staroměstské radnice. Bylo vytvořeno několik renderů dostavby radnice a také byly vytvořeno několik pohledů na celé náměstí. Během času stráveného tvorbou této práce jsem získal cenné zkušenosti týkající se rekonstrukce 3D modelů z fotografií a nové informace ohledně renderování a exportování do VRML a dalších formátů.
5.1. Použití projektu Doufám, že projekt nebo některé výstupy z něj poslouží Národnímu technickému muzeu v další prezentaci Gočárovy dostavby Staroměstské radnice.
5.2. Možná vylepšení do budoucna Některé modely by si zasloužily trochu lepší textury, toho by se dalo dosáhnout novým vyfotografováním budov, ideálně s pomocí stativu, aby bylo dosaženo maximální ostrosti. Model by se také mohl rozšiřovat o další budovy.
27
Použité zdroje [1]
Pražský orloj. Dostupné z: http://www.orloj.eu/cs/orloj_vizerra.htm
[2]
Vizerra.com. Dostupné z: http://vizerra.com/en/about
[3]
Vizerra.com, Old Town Square. Dostupné z: http://vizerra.com/portfolio/prague-oldtown-square/category/tourism
[4]
Portál hlavního města Prahy. Dostupné z: http://www.praha.eu/jnp/cz/home/mapy/langweil/index.html
[5]
LANGWEILŮV MODEL PRAHY. Dostupné z: http://www.langweil.cz/dmodel.php
[6]
Praha 4D. Dostupné z: http://www.praha4d.net/
[7]
Google Warehouse. Dostupné z: http://sketchup.google.com/3dwarehouse/
[8]
Autodesk.com, Autodesk ImageModeler 2009. Dostupné z: http://usa.autodesk.com/adsk/servlet/pc/index?id=11390028&siteID=123112
[9]
Přispěvovatelé Wikipedie. Dostupné z: http://cs.wikipedia.org/wiki/SketchUp
[10] Autodesk ImageModeler 2009 User Guide [11] Pražský deník, Dostavba Staroměstské radnice je v nedohlednu. Dostupné z: http://prazsky.denik.cz/zpravy_region/dostavba-staromestske-radnice-je-v-.html [12] iDnes.cz, Praha vystavuje zavržené plány na dostavbu radnice. Dostupné z: http://praha.idnes.cz/Clanek.aspx?c=A080416_195736_praha_dp
29
A. Obrazová příloha Několik ukázkových renderů Staroměstské radnice s její dostavbou. Další na CD.
31
Pohledy na Staroměstské náměstí v aktuální podobě a s dostavbou. Další pohledy na CD.
32
33
B. Obsah přiloženého CD
readme.txt
kratomi9_2012bach.pdf
kratomi9_2012bach.docx
modely_sketchup/…
modely_vrml/…
pohledy/…
rendery/…
35