Grafika Komputerowa Materiały Laboratoryjne Laboratorium 11 Blender, edycja siatki Wstęp W poprzednim laboratorium nauczyliśmy się podstaw manipulowania obiektami jako całością. W obecnym zapoznamy się z aspektami edycji siatki obiektu, co pozwoli nam na modyfikacje kształtu obiektu. Tradycyjnie polecane jest zapoznanie się z kursem Blendera udostępnianym przez p. Piotra Arłukowicza pod adresem polskikursblendera.pl a w szczególności: http://polskikursblendera.pl/tryb-edycji/ http://polskikursblendera.pl/tryb-edycji-extrude/ Ćwiczenie 1 Poprawa siatki Zadanie: Popraw siatkę domku Objaśnienie: Zmodyfikuj siatkę domku tak aby usunąć drzazgi i niepotrzebne trójkąty Otwórz dokument domek.blend Nie wygląda on na zbyt złożony. Spróbujmy włączyć wyświetlanie tekstury. Odpowiedni przycisk znajduje się na dolnym pasku.
Teraz domek wygląda lepiej. Widzimy jednak, że wiele elementów (np. okna) jest tylko namalowanych na teksturze. Dobrze by było gdyby były one jednak nieco wgłębione. W tym celu musimy zmienić kształt naszego obiektu. Zrobimy to wchodząc do trybu edycji Edit mode Jak zwykle przycisk na dolnym pasku. Tryb ten uwidacznia siatkę trójkątów i quadów z jakich składa się nasz obiekt
No i tu napotykamy na zonk. Okazuje się, że ktoś już próbował podzielić ściany tak aby można było wydzielić z nich obszary zajmowane przez okna i drzwi. Niestety zostało to zrobione w sposób bardzo nieoptymalny. Niektóre okna mają więcej niż 2 trójkąty a co gorsza wszędzie pełno jest drzazg czyli długich wąskich trójkątów. Sprawiają one dużo kłopotów podczas renderewania, więc należy ich unikać. Przyglądając się siatce można zauważyć też zdegenerowane werteksy, umieszczone w środku krawędzi innego trójkąta. Musimy najpierw poprawić geometrię tych trójkątów zanim zabierzemy się z tworzenie wgłębień. Tryb edycji pozwala na zaznaczanie werteksów, krawędzi (Edge) lub ścian (Face). Między trybami zaznaczania przełączam się przyciskami na dolnym pasku lub przez wciśnięcie Ctrl+Tab Pierwszą sprawą będzie usunięcie niepotrzebnych trójkątów z okien (a właściwie krawędzi). W trybie krawędzi zaznaczamy niepotrzebne krawędzie w oknie. (Prawy klawisz myszy oraz Shift). Następnie wciskamy x lub Del Pojawia się menu usuwania
Nie możemy po prostu usunąć krawędzi (Edges) gdyż razem z nimi zostały by usunięte ściany trójkątów do których należą. Można je co prawda odbudować ale stracilibyśmy właściwe ustawienie tekstury. Właściwą metodą jest rozpuszczenie (dissolve) krawędzi, pozostawiając ścianę na miejscu. Nowo powstała ściana tworzy trójkąt, więc nie trzeba jej dzielić. Niestety nie pozbyliśmy się dwóch zdegenerowanych werteksów. Ponownie musimy użyć klawisza x i funkcji dissolve (tym razem vertices) W trakcie rozpuszczania werteksów tekstura okna będzie wariować Kolejny etap to zajęcie się obszarem pomiędzy górnym i dolnym rzędem okien. Pierwsza sprawa to zdegenerowane werteksy. Musimy dodać krawędzie tak, aby werteksy nie
leżały w środku krawędzi dużego trójkąta. Przechodzimy do trybu zaznaczania werteksów i zaznaczamy zdegenerowany werteks oraz werteks narożnika trójkąta. Blender podświetla krawędzie wychodzące z tych werteksów. Do połączenia werteksów krawędzią wykorzystujemy klawisz f mający za zadanie wypełnić zaznaczenie. Naciśnięcie f z zaznaczonymi 2 werteksami tworzy pomiędzy nimi krawędź. Trzy werteksy zostaną połączone w trójkąt i powstanie wypełniająca go ściana. W taki sam sposób łączymy pozostałe zdegenerowane werteksy Pozbyliśmy się zdegenerowanych werteksów ale nowe krawędzie wcale nie tworzą ścian. Gdy przejdziemy do zaznaczania ścian możemy zaznaczyć tylko cały trójkąt. Rodzi to pewne podejrzenia co do werteksów które uznaliśmy za zdegenerowane.
Po przesunięciu jednego z nich okazuje się, że werteksy wcale nie były zdegenerowane, za to posiadają dodatkowe krawędzie tworzące zdegenerowane trójkąty leżące na jednej linii. Pozbywamy się ich zaznaczając werteksy końców a następnie wciskając x (edges) W efekcie wycięliśmy dziurę w naszym domku. Lepiej widać to w trybie bez tekstury Musimy uzupełnić brakującą krawędź (f przy wybranych 2 werteksach końców) oraz ściany (f przy wybranych krawędziach tworzących trójkąt) Poprawiliśmy błędy kosztem utraty dopasowania tekstury do nowych ścian. Zajmiemy się tym w kolejnym laboratorium. Obecnie w obszarze między rzędami okien nadal mamy dużo drzazg. By to skorygować przechodzimy do trybu zaznaczania ścian i zaznaczamy wszystkie trójkąty tworzące ten obszar.
Wywołujemy kombinacją Ctrl + f menu podręczne i wybieramy opcję uładnienia ścian Beautify faces. Efektem jest przebudowanie wewnętrznych ścian aby były ułożone optymalnie. Polecenie to potrafi również utrzymać rozłożenie tekstury. W tym przypadku z powodu wcześniejszego braku rozłożenia wymaga ono poprawy. Powtarzamy procedurę w pozostałych obszarach frontu budynku. Nie wszędzie uzyskaliśmy zadowalające rezultaty. Cały dół wymaga przebudowania. Jesteśmy w stanie to jakoś poukładać tylko wtedy gdy dodamy werteks na środku gzymsu ponad drzwiami to pozwoli na zmniejszenie ostrości trójkątów. Najprościej dodać nowy werteks zaznaczając odpowiednią krawędź a następnie
wciskając klawisz w i wybierając subdivide z rozwiniętego menu. Dzielimy w ten sposób krawędź na kawałki. W menu po lewej mamy możliwość określenia ilości podziałów. Po dokonaniu podziału należ skorygować krawędzie i ściany tak aby uwzględniały nowy werteks Zadanie samodzielne Dokonaj poprawy triangularyzacji dolnego kawałka frontu budynku tak aby uzyskać ułożenie trójkątów jak najbardziej zbliżone do optymalnego. Układ trójkątów może wyglądać np. tak jak na poniższym rysunku.
Wprowadzane korekty mogą wymagać zmian położeń werteksów co w przestrzeni 3D może łatwo doprowadzić do wysunięcia werteksu z płaszczyzny ściany. Pomocne może być ustawienie w trybie obiektowym ściany frontowej naszego domu równolegle do jednej z osi oraz włączenie opcji przyciągania do werteksów. Ćwiczenie 2 Ekstrudowanie okien Zadanie: Utwórz wgłębienia na okna i drzwi Zmodyfikuj fronton budynku tak aby okna i drzwi były zaznaczone wgłębieniami Objaśnienie: W poprzednim ćwiczeniu doprowadziliśmy do tego, że na ścianie frontonu są wyznaczone za pomocą trójkątów obszary odpowiadające oknom oraz drzwiom. Znajdują się one jednak w płaszczyźnie ściany, nie są więc widoczne. Potrzebujemy utworzyć wgłębienia. Użyjemy do tego celu narzędzia wyciągania (Extrude) ale zamiast wyciągać wepchniemy odpowiednie trójkąty w głąb ściany Na początek należy zaznaczyć odpowiednie trójkąty. Można i należy zaznaczyć trójkąty wszystkich okien na tej ścianie. W ten sposób będziemy mieli pewność że wszystkie okna zostaną wsunięte na tą samą głębokość w ścianę. Pozostaje aktywowanie polecenia extrude z pomocą klawisza e. Standardowo wyciąganie odbywa się w kierunku prostopadłym do ułożenia zaznaczonych ścian, co w naszym przypadku jest wskazane. Możemy również zmieniać kierunek wyciągania dopasowując go do konkretnych osi. Aby móc kontrolować głębokość wciśnięcia okien dobrze jest wykonywanie extrude gdy
ściana jest ustawiona pod kątem do widoku. Warto również wykorzystać wartości numeryczne znajdujące się w lewym dolnym rogu okna. Wartości te informują nas również względem jakiej osi następuje wyciąganie. W tym przypadku mamy wyświetlony tekst normal co oznacza wyciąganie wzdłuż wektora normalnego do powierzchni wyciąganych. Wpisując wartość z klawiatury możemy precyzyjnie ustawić głębokość (np. 0.01) Pozostaje zrobienie wgłębienia na drzwi. Wsuńmy je trochę głębiej niż okna.
Zadanie samodzielne Mając opanowane powyższe metody popraw pozostałe ściany obiektu. Przede wszystkim zwróć uwagę na eliminację drzazg i zdegenerowanych trójkątów. W celu pozbycia się nadmiaru trójkątów można wykorzystać polecenie Merge łączące dwa (lub więcej) werteksy w jeden Polecenie to aktywujemy komendą Alt+m. Z menu kontekstowego należy wybrać w którym miejscu nastąpi połączenie. Przykładowe efekty: