Laboratorium 2 modelowanie budynków -...
Transcript of Laboratorium 2 modelowanie budynków -...
Modelowanie Przestrzenne
Laboratorium 2 – modelowanie budynków
Modelowanie budynków w programie SketchUp będzie odbywało się z wykorzystaniem większości
dostępnych narzędzi, poznanych na poprzednich zajęciach. Podczas uruchomienia programu, na
ekranie powitalnym możemy wybrać ten sam szablon podstawowy lub szablon Architektura
krajobrazu.
Pierwszą czynnością, którą powinniśmy przeprowadzić modelując rzeczywisty budynek to lokalizacja
modelu. Najpierw należy włączyć dodatkowy pasek narzędzi.
Wybieramy z menu Widok / Paski narzędzi i zaznaczamy
Lokalizacja. Klikamy ikonę Dodaj lokalizację (Add Location...)
pojawi się okno dialogowe Dodaj lokalizację (Add
Location...) w którym znajdujemy interesujący nas obiekt,
wpisując jego lokalizację w górnej części paska menu.
Następnie po odpowiednim zbliżeniu na obiekt klikamy
przycisk Select Region. Pojawi się okno wyboru, którego
możemy zmieniać wielkość za pomocą niebieskich pinezek.
Gdy jesteśmy zadowoleni z efektu klikamy przycisk Grab –
wybrany fragment mapy pojawia się w oknie programu
SketchUp w środku układu współrzędnych. Wraz z mapą zostają również zaimportowane dane o
ukształtowaniu terenu, które możemy włączyć klikając ikonę Pokaż/Ukryj teren (Toggle Terrain). Na
płaskim terenie miasta wynik jej działania nie zawsze będzie widoczny, aby sprawdzić czy rzeczywiście
działa prawidłowo można zaimportować np. kawałek widoku Tatr.
Pobrany podkład mapy dobrze jest również wykorzystać do zrobienia tekstury dachu. W tym celu
zaznaczamy podkład i wybieramy Plik/Eksportuj/Grafika 2D (File/Export/2D Graphic...) Do wyboru
mamy kilka podstawowych formatów graficznych. W prawym dolnym rogu nowo otwartego okna
dialogowego znajduje się przycisk Opcje (Options), po kliknięciu w który mamy możliwość zmiany
wielkości zapisywanego obrazka (domyślnie zaznaczona jest opcja Użyj rozmiaru widoku (Use view
size), powodująca zapis obrazka w rozmiarach w jakich został ściągnięty do SketchUp'a). Zapisany
obraz możemy później edytować w dowolnym programie do obróbki grafiki.
Pewnym ułatwieniem podczas modelowania będzie
dostosowanie układu współrzędnych do zaimportowanego
podkładu. W tym celu wybieramy narzędzie Osie (Axes).
Klikamy w lewym dolnym rogu budynku, aby umieścić
początek układu współrzędnych, następnie przesuwamy
kursor wzdłuż dolnej krawędzi budynku i klikamy, aby
umieścić czerwoną oś. Podobnie przesuwamy wzdłuż lewej
krawędzi, aby umieścić oś zieloną. Po takiej operacji mamy
układ współrzędnych dostosowany do krawędzi budynku.
Teraz możemy zacząć rysować bryłę. Używając narzędzia linii
obrysowujemy krawędzie dachu, a następnie wyciągamy
utworzonego face'a na 14 m do góry – mamy gotową
podstawową bryłę budynku. Jesteśmy gotowi do rozpoczęcia
teksturowania wykonanymi zdjęciami. Podobnie jak bryły również
i zdjęcia powinny zostać odpowiednio przygotowane. Dobrze jest
pamiętać o kilku zasadach już na etapie robienia zdjęć do modelu.
Dystorsja perspektywiczna i beczkowata
Bardzo trudno jest otrzymać zdjęcie budynku, które byłoby wykonane dokładnie w rzucie
izometrycznym względem jego ścian, zwłaszcza jeżeli nie mamy dość miejsca na odpowiednie
oddalenie się od niego. Należy jednak mieć na uwadze, że im bliżej budynku się znajdujemy, tym
wiesze zniekształcenie perspektywiczne będzie narzucone na nasze zdjęcie.
Wpływ odległości od budynku na zniekształcenie perspektywiczne zdjęcia.
W aparatach kompaktowych, zwłaszcza z szerokokątnym obiektywem, możliwe jest również
zaistnienie dystorsji beczkowatej podczas fotografowania przy najszerszym kącie. Polega ona na
zaokrągleniu pionowych linii, zwłaszcza tych znajdujących się najbliżej brzegu kadru. Aby tego
uniknąć należy próbować wykonać zdjęcia z dalszej odległości z użyciem zoomu (wpływ dystorsji
beczkowatej maleje wraz z długością ogniskowej), a jeśli nie jest to możliwe umieszczanie budynku w
kadrze w taki sposób, aby krawędzie ścian znajdowały się w pewnym oddaleniu od brzegu kadru.
Kadrowanie i optymalizacja rozmiaru
Po odpowiednim zrobieniu zdjęcia należy zadbać o przygotowanie go do użycia jako tekstury.
Pierwszą istotną rzeczą jest odpowiednie wykadrowanie, pozwalające pozbyć się nadmiaru nieba
i/lub otoczenia. Jest to szczególnie ważne, gdy fotografujemy z nadmiarem aby uniknąć opisanej
wcześniej dystorsji beczkowatej. Kolejna ważna rzecz to zmiana rozmiaru zdjęcia. Fotografia
wykonana aparatem z matrycą 8MP w formacie 3:2 przy najniższym stopniu kompresji JPEG ma
rozmiar około 3450x2300 pikseli oraz objętość około 4MB. Jest to zdecydowanie zbyt dużo dla
programu Google Earth. To samo zdjęcie po zmniejszeniu rozdzielczości (w programie graficznym, nie
w menu aparatu!) do 800x533 pikseli ma objętość mniejszą niż 100kB. Gdy dodatkowo zostanie ono
wykadrowane jego rozmiar, a zarazem objętość jeszcze się zmniejszy.
Jeśli posiada się pewne doświadczenie w pracy z programami graficznymi można również usunąć ze
zdjęć budynku elementy, które go zasłaniają, np. drzewa, latarnie uliczne, ludzi czy samochody.
Gdy mamy już odpowiednio przygotowane zdjęcie pora na jego zaimportowanie do programu
SketchUp. W tym celu wybieramy z menu Plik/Import…
(File/Importuj...) otworzy się okno dialogowe, w którym na
dole z prawej strony z listy rozwijanej wybieramy
odpowiedni typ pliku, selekcjonujemy odpowiednie zdjęcie,
oraz zaznaczamy opcję Use Image As: Tekstura (Use as
texture). Do kursora zostanie przyczepiony lewy dolny róg
wybranego zdjęcia. Umieszczamy go w lewym dolnym rogu
bryły, a następnie przeciągamy kursor w prawo i klikamy na
prawej lub górnej krawędzi bryły w takim miejscu, aby
zdjęcie pokryło całą widoczną powierzchnię ściany. Nie jest
istotne to, że będzie ono zbyt duże lub nie do końca dobrze wykadrowane, gdyż w kolejnym kroku
zajmiemy się dopasowaniem go do powierzchni ściany. Klikamy prawym przyciskiem myszy na ścianie
i wybieramy Tekstura/Pozycjonowanie (Texture/Position). Pojawi się zwielokrotniony obraz tekstury
z przyczepionymi pinezkami. Istnieją dwa sposoby dostosowania zdjęcia do płaszczyzny bryły, za
pomocą pinezek nieruchomych, bądź ruchomych.
W metodzie z użyciem pinezek nieruchomych (kolorowych) każda z pinezek odpowiada za inne
przekształcenie:
pinezka czerwona odpowiada za umiejscowienie tekstury, jej przesuwanie będzie zmieniać
pozycję całego zdjęcia w przestrzeni.
pinezka zielona odpowiada za skalowanie jednorodne/obrót tekstury, jej przesuwanie w
kierunku pinezki czerwonej powoduje zmniejszanie zdjęcia, natomiast odsuwanie od
czerwonej powiększanie zdjęcia; obrót wokół czerwonej pinezki spowoduje obracanie
tekstury wokół punktu zaczepienia czerwonej.
przesuwanie pinezki niebieskiej w kierunku czerwonej powoduje skalowanie niejednorodne
w osi pionowej, natomiast przesuwanie na boki pochylenie ukośne tekstury
pinezka żółta odpowiada za korekcję
dystorsji, głównie perspektywicznej.
Należy mieć na uwadze odpowiednią kolejność
manewrowania pinezkami. Najlepsze wyniki daje
kolejność opisana wyżej (czerwona – zielona –
niebieska – żółta) z względu na ilość stopni swobody
tekstury. Podczas manewrowania pinezką czerwoną
możemy jednocześnie zmieniać pozycję trzech pozostałych. Kolejne pinezki mają już ograniczenia, np.
podczas manewrowania pinezką niebieską, czerwona i zielona pozostają na swoich miejscach, a przy
manewrowaniu żółtą wszystkie trzy pozostałe są nieruchome.
Aby użyć metody pinezek ruchomych musimy
najpierw kliknąć prawym przyciskiem na zdjęcie i w
menu kontekstowym odznaczyć Przytwierdź pinezki
(Fixed Pins). Wszystkie pinezki zmienią się wtedy na
jednakowe. Klikamy w jedną z nich, aby odczepić ją od
tekstury, a następnie umieszczamy w nowym miejscu,
na jednym z rogów budynku (na zdjęciu). Potem
przeciągamy pinezkę tak, aby znalazła się w rogu
bryły, który reprezentuje dany róg budynku. W ten
sposób postępujemy z pozostałymi trzema.
Gdy już ustawimy zdjęcie w odpowiednim miejscu, z menu kontekstowego wybieramy Zakończ
(Done) – wszystkie zmiany zostaną zaakceptowane i ściana będzie oteksturowana.
Może się zdarzyć, że jedno zdjęcie będziemy musieli podzielić na
dwa lub więcej, szczególnie tam, gdzie występują załamania
budynków. Nie zawsze też mamy dostęp do wszystkich ścian danej
budowli. W takim przypadku możemy spróbować ekstrapolować
istniejące zdjęcie na niewidoczne ściany. Aby to zrobić wybieramy
fragment płaszczyzny, z którego chcemy pobrać materiał na
teksturę i rysujemy tam prostokąt. Klikamy wewnątrz niego
prawym przyciskiem myszy i wybieramy Utwórz teksturę
unikatową (Make Unique Texture). Następnie wybieramy
narzędzie Wypełnienie kolorem (Paint Bucket) i przytrzymując
klawisz Alt klikamy wewnątrz narysowanego prostokąta, aby pobrać próbkę tekstury. Potem
wystarczy kliknąć w miejscu docelowym, aby cały face został pokryty zadanym materiałem. Po tej
operacji możemy usunąć narysowany prostokąt. Możliwe, że zajdzie konieczność wcześniejszego
podzielenia ściany narzędziem Linia, aby na każdym
fragmencie móc zastosować inną teksturę.
Powtarzamy czynności opisane wyżej, aż będziemy mieli
oteksturowany cały budynek, łącznie z dachem. Jeżeli chcemy
wymodelować dodatkowe elementy, jak balkony, kominki, czy
też inne wystające elementy lepiej jest zrobić to przed
oteksturowaniem. Ewentualnie należy tworzyć dodatkowe
elementy z dala od budynku a następnie umieszczać je na
właściwym miejscu. W przeciwnym wypadku, gdy powiedzmy
chcemy wyciągnąć jakiś element ściany będzie on wyciągany
razem z narzuconą teksturą.
ZASADY OPTYMALIZACJI MODELI
1. Usuwanie niepotrzebnej geometrii
Podczas modelowania biurka, na pewnym etapie mieliśmy do czynienia z liniami wewnątrz blatu,
które nie tworzyły żadnej geometrii. W tym przypadku zalecane było usunięcie owych linii mimo iż
nie były one wprost widoczne dla obserwatora. W przypadku modelowania budynków usuwanie
niepotrzebnej geometrii idzie jeszcze dalej. Przyjmuje się założenie, że każda płaszczyzna niewidoczna
dla obserwatora jest zbędna, jak również niepotrzebne są linie, tworzące zbędne podziały face'ów.
Pierwsze założenie oznacza, że będziemy usuwać również płaszczyzny znajdujące się od spodu
modelu (pod terenem). Drugie wymusza na nas tworzenie brył, których ściany będą, o ile to możliwe,
jedną płaszczyzną.
Na rysunkach widzimy obiekt, składający się z trzech brył przed oraz po dokonaniu optymalizacji, o
której mowa.
PRZED
PO
2. Modelowanie tylko najbardziej istotnych szczegółów
Nasz model powinien składać się z jak najmniejszej liczby poligonów. Spowodowane jest to
koniecznością w miarę szybkiego wyświetlania nawet na starszych komputerach. W przypadku, gdyby
całe miasto było wymodelowane z dużą dbałością o szczegóły byłby spory problem z załadowaniem
nawet części modeli. Nie ma zatem konieczności modelowania obiektów takich jak okna, drzwi, czy
niewielkie reliefy na kamienicach, gdyż większość z nich będzie widoczna po oteksturowaniu modelu
odpowiednio wykonaną fotografią.
3. Stosowanie pojedynczych płaszczyzn, zamiast całych brył
Kolejnym sposobem na uproszczenie modelu, jest stosowanie tam gdzie to możliwe pojedynczych
face'ów. Ta metoda sprawdza się np. w przypadku kolumn podtrzymujących fragmenty budowli,
które znajdują się w bliskiej odległości od niej. Narysowanie pojedynczej płaszczyzny z narzuconą
teksturą daje lepsze efekty wizualne, jak również zmniejsza o 5 liczbę użytych face'ów. W kontekście
całego modelu takie zabiegi nie powinny rzucać się w oczy obserwatorowi.
4. Upraszczanie krzywych
Krzywe w programie SketchUp są w zasadzie liniami łamanymi, składającymi się z odpowiednio dużej
liczby segmentów, aby dać wrażenie krzywizny. W przypadku łuków domyślna liczba segmentów
wynosi 12. Aby zobaczyć te fragmenty, musimy włączyć opcję Widok/Geometria ukryta
(View/Hidden Geometry). Tak duża liczba segmentów wpływa negatywnie na ogólną złożoność
modelu. Aby ją zmniejszyć, po narysowaniu fragmentu krzywej (łuku lub okręgu) wpisujemy z
klawiatury liczbę segmentów, z jakich ma się składać krzywa i literkę s (np. dla krzywej z 5 segmentów
wpisujemy 5s). Taki zabieg może kilkukrotnie zmniejszyć liczbę face'ów użytych w modelu bez straty
dla jego wyglądu.
12 segmentów 4 segmenty
5. Tworzenie komponentów
Gdy w modelowanym budynku pojawia się pewna liczba takich samych elementów (np. wystające
balkony) dobrze jest utworzyć z jednego z nich komponent, a kolejne tworzyć kopiując jeden
istniejący. Aby stworzyć komponent wybieramy cały obiekt, a następnie z menu kontekstowego
(prawy klawisz myszy) wybieramy Utwórz komponent (Make Component). Każda kopia komponentu
jest jego instancją, zatem każda zmiana w jednym z komponentów pociągnie identyczną zmianę w
pozostałych. Komponenty można traktować jak odwołania do istniejącej definicji geometrii.
Zmiana w jednym komponencie powoduje identyczną zmianę w pozostałych.
6. Używanie kolorów
W przypadku niewielkich, nieistotnych, bądź słabo widocznych elementów lepiej jest używać
kolorowania powierzchni zamiast narzucania tekstur z fotografii. W tym celu w oknie dialogowym
narzędzia Wypełnienie kolorem (Paint Bucket), z listy rozwijanej należy wybrać Kolory (Colors) i
wybrać odpowiedni kolor. Karta Edycja (Edit) daje nam możliwość dowolnego dostosowania koloru
do naszych potrzeb przy pomocy standardowych modeli takich jak RGB czy HSL.
7. Ukrywanie krawędzi
Ukrycie krawędzi brył, z jakich złożony jest model znacznie poprawia jego wygląd. Aby ukryć
wszystkie krawędzie modelu przełączamy się na styl Szkielet (Wireframe) włączając równocześnie
widok ukrytej geometrii Widok/Geometria ukryta (View/Hidden Geometry) i wybieramy wszystkie
krawędzie. Klikamy prawym przyciskiem w jedną z nich i wybieramy Ukryj (Hide). Po przełączeniu z
powrotem do stylu Cieniowanie z teksturami (Shaded With Textures) otrzymamy model z
widocznymi wszystkimi teksturami lecz ukrytymi krawędziami. Jeśli w modelu istnieją jakieś
komponenty należy dla nich również powtórzyć tą procedurę.
Na końcu musimy jeszcze dostosować model do ukształtowania terenu.
W tym celu włączamy widok terenu i patrzymy od spodu na podkład
mapy. Wszystkie
dolne krawędzie
modelu powinny
znajdować się
odrobinę pod powierzchnią terenu. Jeśli tak nie
jest musimy przesunąć cały model nieco w dół.
Najlepiej podczas przesuwania chwycić za
wierzchołek najbardziej wysunięty ponad teren.
Tak skonstruowany model jest gotowy do wysłania.