4. Materiały, oświetlenie, rendering Microstation posiada możliwości renderowania fotorealistycznych wizualizacji tworzonych modeli. Dla osiągnięcia takiego efektu koniczne jest przypisanie do elementów rysunku odpowiednich materiałów, jak najbardziej zbliżonych swoim wyglądem do rzeczywistości. Ze stosowaniem materiałów w Microstation związane są 2 typy plików: - *.pal - palety - *.mat – tablice przypisania materiałów Definicje materiałów przechowywane są w plikach palet (*.pal). W plikach tablic przypisania materiałów (*.mat) przechowywane są informacje o wykorzystywanych w pliku paletach oraz informacje łączące materiały z warstwą i kolorem elementów rysunku. Podczas tworzenia typowych wizualizacji każdy plik dgn powiązany będzie z 1 plikiem mat, w którym z kolei będą odniesienia do materiałów znajdujących się w 1 lub więcej pliku pal. W Microstation XM istnieje również możliwość stosowania materiałów lokalnych – zapisanych wewnątrz plików dgn. W standardowej instalacji Microstation XM dostępnych jest kilkanaście palet z kilkuset często stosowanymi materiałami. W Microstation materiały łączymy z elementami rysunkowymi za pomocą 2 metod: - Assign – materiał zostaje powiązany z określoną warstwą i kolorem (nr koloru od 0 do 255 zgodnie z aktywną tablicą kolorów, nie może to być kolor spoza tablicy), nie ma znaczenia czy elementy znajdują się w aktywnym modelu czy w pliku reference, przypisanie zostaje zapisane w pliku mat - Attach – materiał zostaje połączony z wybranym elementem w aktywnym modelu (element nie może być w reference), przypisanie takie zostaje zapisane jako jeden z atrybutów elementu wewnątrz pliku dgn Gdy element nie jest związany z żadnym materiałem renderowany jest zgodnie z przypisanym do niego kolorem. 1. Nowy plik Do katalogu cell wewnątrz katalogu projektu wklej plik 4_elementy.cel (do ściągnięcia). W katalogu dgn utwórz nowy plik (seed3D) o nazwie 4_materialy.dgn i otwórz go. Z Task List wybierz Basic 3D. Włącz paletę snapów i paletę Rendering: Tools > Visualization > Rendering 2. Tworzenie modelu 3D Narysuj model 3D składający się z podłoża i stojących na nim kolumn wg poniższych instrukcji. a. Rysowanie własnych elementów Utwórz warstwę „podłoże” i w widoku z góry, na wysokości 0 narysuj 3 prostokąty (lewy dolny narożnik w p. 0,0,0) o następujących wymiarach: 1 Następnie, w dowolnym miejscu, korzystając z narzędzi 3D Primitives (slab, cone, cylinder), narysuj jako Solid pionową kolumnę wg schematu, zachowując również kolory elementów (dolna i górna część – kolor 4, środkowa – kolor 6): Zgrupuj elementy składowe kolumny (Edit > Group, grupa jest po prostu nienazwaną celką). Ustaw następnie kolumnę na środkowym prostokącie podłoża w pozycji 1 i skopiuj w pozostałe pozycje pokazane na schemacie (można skorzystać z narzędzia Array): 2 b. Wstawianie celek 3D Dołącz do otwartego rysunku (Element > Cells a następnie File > Attach File) plik biblioteki celek: 4_elementy.cel, przyciskiem Placement ustaw celkę „drzewo” jako aktywną dla narzędzia wstawiania celek. W widoku z góry, na środkach bocznych prostokątów wstaw narzędziem Place Active Cell celkę „drzewo”. Drugie drzewo wstaw obrócone o 90 stopni. Zwróć uwagę, że podczas wstawiania, oprócz obrotu, masz także możliwość modyfikacji skali i kilku innych parametrów dla wybranej celki. Uwaga: Jeśli po wstawieniu trzeba będzie przesunąć celkę: snap do punktu wstawienia celki to Origin Snap . Zmiany skali i obrotu wstawionej celki można wprowadzić także w oknie Element Information . 3. Rendering bez materiałów Uruchom narzędzie Render . Jako Rendering Mode wybierz Phong. Kilknij w okno widoku izometrycznego. Zrenderowana zostaje wyświetlona w widoku część sceny 3D. Nie są przypisane żadne materiały i do renderingu wykorzystywany jest kolor elementu. Sprawdź pozostałe tryby renderingu (w trybie Radiosity i Particle Trace najprawdopodobniej nie otrzymasz żadnego obrazu ze względu na brak oświetlenia lokalnego). W razie pytań: nie zapisuj rozwiązania renderingu. Rendering to proces obliczeniowy, w trakcie którego scena 3D jest przetwarzana zgodnie z wybranym algorytmem i utworzony zostaje jej statyczny obraz. Narzędzie Render udostępnia kilka trybów renderingu: Hidden Line, Filled Hidden Line, Smooth i Phong – to tzw. interaktywne tryby renderingu, charakteryzują się dobrą wydajnością, ale nie zawsze wystarczającą jakością, Hidden Line, Filled Hidden Line i Smooth zostały już omówione na lekcji 1, Phong jest zdecydowanie lepszy z tej grupy metod, ale często również nie wystarcza Ray Trace, Radiosity i Particle Trace – to tzw. fotorealistyczne tryby renderingu, ich wydajność w typowych warunkach jest znacznie niższa od poprzednich ale rekompensowana jest wysoką jakością tworzonego obrazu Antialiasing to wygładzanie krawędzi, opcja dostępna w każdym z trybów, poprawia znacznie jakość obrazu ale jednocześnie wydłuża znacznie czas potrzebny do wyrenderowania sceny. 4. Praca z materiałami a. Nowa paleta Otwórz okno Material Editor . Upewnij się, że w menu Settings opcja Advanced Mode jest wyłączona. Utwórz nową paletę o nazwie „podłoże” (Palette > New). Zapisz tablicę materiałów i paletę (w folderze z plikiem dgn). Zwróć uwagę, że niebieskim tekstem opisane są pozycje, w których modyfikacje nie zostały zapisane. Po zapisaniu w folderze z plikiem dgn pojawią się pliki mat i pal. b. Nowy materiał Uwaga: W razie problemów ze znalezieniem podanych niżej nazw plików (np. ze względu na różnice wersji Microstation) można skorzystać z innych tego typu tekstur. W palecie „podłoże” utwórz 2 nowe materiały: „kamień” i „trawa” (Material > New lub PrawyPM > New material). Do materiałów dodaj tekstury (Pattern Map): po włączeniu narzędzia wyboru Pattern Map (w linii z suwakiem Color - Pattern) otworzy się okno ze standardowymi 3 teksturami będącymi zawartością folderu „pattern”. Wybierz dla materiału „trawa” plik Grass10.jpg a dla materiału „kamień” plik block09.jpg. W obu przypadkach wybierz Units: Master, SizeX=SizeY= 3, Mapping: Planar, zaznaczone Repeat. Dla materiału „trawa” Bump Map, czyli mapę nierówności materiału, wybierz jako „Link to pattern” (dolna ikona w linii z suwakiem Smooth - Bumpy). Jako mapa nierówności zostanie przyjęta wybrana wcześniej Pattern Map. Dla materiału „kamień” wybierz oddzielną mapę nierówności z pliku BlockSqcutBump.jpg (znajduje się on w folderze „bump”, obok folderu „pattern”). W części Preview (z podglądem materiału) włącz Mode: Ray Trace i dla obu materiałów przesuń suwak nierówności (Smooth – Bump) tak aby materiał na podglądzie dobrze wyglądał. Sprawdź co oznaczają i dostosuj również pozostałe ustawienia. W uproszczonym widoku ustawień materiału widocznych jest 5 suwaków odpowiadających za podstawowe cechy matariału, przyciski wyboru koloru, tekstury (Pattern Map) i mapy nierówności (Bump Map) oraz okienko podglądu. Pattern Map to obraz który nakładany jest w określony sposób na wizualizowaną powierzchnię. Bump Map to obraz nierówności powierzchni materiału, przy czym uwzględniana jest tylko jasność pikseli: piksel ciemny – wgłębienie, piksel jasny - wypukłość. Dla wybranej tekstury można dostosować m. in. skalę i obrót. Jednostki w jakich określony jest rozmiar tekstury mogą być: - jednostkami pliku rysunkowego (Master) zgodnie z ustawieniami (czyli np. [m], [mm]) - jednostkami powierzchni (Surface) – rozmiar tekstury będzie zależał od powierzchni - jednostkami z góry określonymi ([m], [mm] itp.) Pod opcją Mapping kryje się sposób nakładania tekstury Pattern Map na element 3D: - Parametric – tekstura jest nakładana zgodnie z położeniem elementu 3D, gdy element zostanie obrócony obraca się również tekstura - Planar – oś pozioma tekstury znajduje się w płaszczyźnie XY pliku DGN, nachylenie jest dostosowywanie do powierzchni, sposób ten jest wykorzystywany np. do nakładania materiałów na ściany budynków - Elevation Drape – tekstura jest rzutowana z góry na element, jest to typowy sposób wykorzystywany do nakładania tekstury na model terenu - Directional Drape – j.w. ale możliwy jest wybór kierunku rzutowania - Cubic, Cylindical, Spherical – specyficzne sposoby, stosowane czasem dla pewnych typów tekstur Oprócz typowych tekstur, jakie stosowane są w tym ćwiczeniu, możliwe jest również wykorzystywanie tekstur proceduralnych (będących właściwie programami mdl obliczającymi kolor każdego piksela materiału, zawierającymi często także składową Z) oraz gradientowych. Tekstury mogą być wielowarstwowe, mogą również zawierać operatory modyfikujące (tint i gamma) c. Otwarcie standardowej palety Otwórz standardową paletę Microstation o nazwie Marble.pal: Palette > Open. Paleta ta zawiera różnego rodzaju materiały imitujące marmury i granity. Postaraj się nie wprowadzać żadnych modyfikacji w materiałach standardowych. d. Attach W widoku izometrycznym włącz tryb wyświetlania Smooth . W oknie Material Editor kliknij PrawymPM na materiale „trawa” i wybierz Attach. Wybrane zostanie narzędzie Apply Material z opcją Attach (można je uruchomić oddzielnie 4 – znajduje się w grupie narzędzie Materials na palecie Rendering). Wskazujemy do dołączenia 2 boczne prostokąty. Materiał został dołączony do wybranych elementów co powinno być widoczne w widoku Smooth. Informacja o dołączeniu materiału została zapisana jako jeden z atrybutów wybranych elementów a w oknie Material Editor pojawią się pod nazwą materiału odpowiednie pozycje. W taki sam sposób dołącz materiał „kamień” do środkowego prostokąta. e. Assign Wybierz jeden z materiałów imitujących granit. Kliknij na nim PPM i wybierz Assign. Wybrane zostanie narzędzie Apply Material z opcją Assign. Wskaż dolną lub górną część kolumny. W oknie Material Editor pod nazwą materiału pojawiła się pozycja informująca do jakiej warstwy i jakiego koloru został przypisany materiał. W taki sam sposób przypisz wybrany przez siebie materiał imitujący marmur do środkowej części kolumny. Wygląd elementów sprawdź w widoku z trybem Smooth (odśwież widok). Wskaż jeden z wykorzystywanych materiałów, kliknij PPM i wybierz opcję Edit Assignments. W oknie tym można modyfikować i wprowadzać nowe przypisania materiałów do warstw i kolorów. Można stosować zapisy typu: „4-8” – kolory o numerach w palecie od 4 do 8, „*” - wszystkie kolory czyli od 0 do 255. Zamknij wszystkie okna edytora materiałów. 5. Rendering z materiałami Narzędziem Render zrenderuj scenę w trybie Phong, a następnie dla porównania w trybie Ray Trace. W trybie Ray Trace włączone powinno być narzędzie tworzenia nowego rozwiązania . Po wykonaniu pierwszego renderingu w trybie Ray Trace należ skorzystać z suwaków aby ustawić odpowiednią jasność i kontrast dla sceny. 6. Ustawienie oświetlenia globalnego Otwórz okno oświetlenia globalnego Global Lightning . W otwartym oknie widoczne są 4 pozycje: Ambient – oświetlenie otoczenia – równomiernie oświetla wszystkie powierzchnie, nie rzuca cieni, zmniejsza kontrast, nie stosuje się go w trybach Radiosity i Particle Trace. Flashbulb – oświetlenie z punktowego źródła światła położonego w miejscu z którego obserujemy scenę 3D, nie rzuca cieni, stosuje się je przede wszystkim w początkowym etapie tworzenia wizualizacji, przed wprowadzeniem innych źródeł światła. Solar – oświetlenie słoneczne, może rzucać cienie, można ustalić położenie słońca na niebie, w zenicie oświetlenie pada z kierunku + osi Z rysunku, gdy zdefiniowane zostanie położenie poniżej horyzontu, oświetlenie to zostanie automatycznie wyłączone (kolor zmieni się na czarny) Add Skylight... – dodaje oświetlenie wynikające z rozpraszania światła słonecznego w atmosferze, modyfikuje oświetlenie słoneczne, może rzucać cienie, zmniejsza kontrast oświetlenia Ustaw Ambient na poziomie 0.4, wyłącz Flashbulb, włącz Solar i ustaw na poziomie 0.2. Włącz Solar Shadows, ustaw je jako Soft - Very Fine (jeśli w używanej wersji Microstation XM istnieje taka opcja). Ustaw Altitude Angle na 60 i Azimuth Angle na 70. Zrenderuj widok w trybie Phong a następnie Ray Trace. Dostosuj jasność i kontrast. Upewnij się że w zaawansowanych ustawieniach Ray Trace włączone są cienie (Shadows). Zwróć uwagę na pozostałe opcje w zaawansowanych ustawieniach Ray Trace. 5 Ewentualnie dostosuj oświetlenie globalne do własnych wymagań i zrenderuj ponownie widok. 7. Rendering widoku nr 1 do pliku Otwórz okno widoku nr 5 i narzędziem View Size z palety Rendering zmień jego rozmiar do 640x480. Ustaw widok zgodnie z własnym upodobaniem, spróbuj dodać perspektywę . Zrenderuj jeszcze raz w trybie Ray Trace. Jeśli trzeba popraw widok i/lub wartości oświetlenia globalnego, dostosuj jasność i kontrast. Włącz narzędzie Utilities > Image > Save i zrenderuj obraz z ustawionego okna widoku do pliku 4_render_nr1.jpg. Najważniejsze ustawienia: Shading: Ray Trace (zastosowana metoda renderingu) Shading Type: Antialias (wygładzanie krawędzi) Image Size: Pixels: 1024x768 (proporcje boków są takie same jak w 640x480 więc zrenderowany zostanie identyczny obszar jak w wybranym oknie widoku ale w wyższej rozdzielczości) Po zrenderowaniu obejrzyj plik wynikowy. Przykładowy rendering: 8. Zapisanie widoku nr 1 Ustawiony widok zapisz jako „Widok nr 1” narzędziem Saved Views: Utilities > Saved Views. Dzięki temu możliwe będzie odtworzenie później wszystkich lub wybranych ustawień tego widoku. 9. Wprowadzenie oświetlenia lokalnego a. Wstawienie celki 3D Utwórz warstwę „oświetlenie” i wstaw na nią celkę „swiatlo” z pliku 4_elementy.cel. Wstawić należy ją w widoku z góry (lub w innym widoku, ale z płaszczyzną AccuDraw ustawioną w położeniu Top), przyczepioną do kolumny nr 1 w około 2/3 wysokości, od strony wnętrza kolumnady. Przy wstawianiu należy zwiększyć skalę X, Y i Z do 2 i odpowiednio obrócić celkę: Następnie w oknie Material Editor otwórz paletę Glass. Do szybki na wstawionym kinkiecie przypisz (Assign) materiał Blue. Do żarówki przypisz materiał Clear. Do obudowy kinkietu przypisz materiał Nickel Brushed z palety Metals. b. Ustawienie oświetlenia lokalnego Otwórz okno definicji oświetlenia lokalnego Define Light z palety Rendering. Włącz: Mode: Create (tworzenie nowego światła) Type: Point Light (światło punktowe - typ oświetlenia lokalnego) Zwróć uwagę co oznaczają pozostałe ustawienia ale nie zmieniaj wartości domyślnych. Wstaw celkę obrazującą światło w środek żarówki (mniej więcej). 6 Uwaga: Celka ta jest elementem klasy Construction, więc jeśli w atrybutach widoku wyłączone jest wyświetlanie elementów konstrukcyjnych to nie zobaczysz jej! Rozwiń listę wstawionych świateł przyciskiem . Zobaczysz na niej wstawione właśnie światło punktowe. Zamknij okno Define Light. Skopiuj kinkiet wraz z celką Point Light na pozostałe kolumny. Wyłącz oświetlenie Solar, Ambient zmniejsz do 0.02. Zrenderuj widok w trybie Ray Trace. Dostosuj jasność i kontrast. Otwórz okno Material Editor, włącz Settings > Advanced Mode i dla materiałów zastosowanych do kinkietu wyłącz opcję Cast Shadows (materiały te nie będą rzucały cieni). Zmian w paletach standardowych nie zapisuj. Zrenderuj widok ponownie. Oświetlenie lokalne (Source Light) występuje w kilku typach: - Point Light – światło punktowe, oświetla w każdym kierunku - Spot Light – światło typu „latarka”, oświetlenie kierunkowe, stożkowy snop światła - Distant Light – oświetlenie kierunkowe, równoległe promienie światła, jak Solar ale możliwy jest wybór dowolnego kierunku (przy czym podczas renderingu w trybach fotorealistycznych oświetlenie „od dołu” może nie zostać uwzględnione!) - Area Light – oświetlenie kierunkowe z powierzchni typu Shape (stosowane np. dla imitacji oświetlenia przez świetlówkę) - Sky Opening – nie jest to prawdziwe źródło światła a jedynie modyfikacja dla Solar, Sky lub Distant Light, stosowane jest dla scen wewnątrz pomieszczeń, poprawia efektywność renderingu 10. Zapisanie widoku nr 2 Ustaw rozmiar okna widoku nr 5 na 640x480. Ustaw widok tak, aby widocznych było kilka kolumn, fragment drzewa i nie było widoczne czarne otoczenie przestrzeni rysunkowej. Wprowadź perspektywę. Zrenderuj w trybie Ray Trace dostosowując jasność i kontrast. Jeśli cienie są zbyt ostre możesz zmienić ich charakterystykę w oknie Define Light (dla wybranych źródeł światła) lub w oknie zaawansowanych ustawień Ray Trace (dla wszystkich świateł). Uwaga 1: Niektóre ustawienia cieni zostały wprowadzone w jednej z nowszych wersji Microstation XM, w początkowych wersjach nie będą dostępne. Uwaga 2: Miękkie cienie wielokrotnie wydłużają czas renderingu, w czasie ćwiczeń nie wybieraj ustawienia wyższego niż Soft - Coarse. Ustawiony widok zapisz jako „Widok nr 2” narzędziem Saved Views. 11. Rendering widoku nr 2 do pliku Włącz narzędzie Save Image i zrenderuj obraz z ustawionego okna widoku do pliku 4_render_nr2.jpg. Rozdzielczość 640x480, inne ustawienia jak poprzednio. Przykładowy Rendering: 7 12. Rendering w trybie Particle Trace Spróbuj zrenderować widok w trybie Particle Trace. Dostosuj jasność i kontrast. Przykładowy rendering: Otwórz zaawansowane ustawienia Particle Trace . Zwróć uwagę, że do rozpoznania oświetlenia poszczególnych elementów sceny wykorzystywanych jest 1 milion cząsteczek, w renderingu wysokiej jakości stosuje się zwykle znacznie większe ich ilości. Włączona jest też opcja Ray Trace Specular Effects co oznacza, że rozwiązanie dodatkowo, w trybie Ray Trace obliczane są efekty odbicia światła (nie są one uwzględniane w „czystym” trybie Particle Trace). Zaznaczona jest opcja Visible Surfaces Only – obliczenia są przeprowadzane tylko dla powierzchni widocznych w danym widoku. Jeśli wyłączona zostanie ta opcja to obliczenia będą przeprowadzane dla wszystkich powierzchni. Zarówno w trybie Ray Trace jak i Particle Trace dostępna jest opcja renderingu na podstawie gotowego rozwiązania (Current Solution) . Należy jednak pamiętać, że przy zmianach oświetlenia, materiałów a zazwyczaj także przy zmianie położenia kamery należy zawsze utworzyć nowe rozwiązanie. Tworzenie rozwiązania w tym trybie trwa dość długo, stąd Microstation dość często zadaje pytanie czy zapisać rozwiązanie na dysku. W tym ćwiczeniu nie zapisuj rozwiązania. Tryb Particle Trace jest najbardziej zaawansowany i przy umiejętnym zastosowaniu, daje najbardziej realistyczne efekty. W przeciwieństwie do Ray Trace dobrze radzi sobie ze światłem rozproszonym, nie radzi sobie natomiast z efektami odbicia światła (stąd stosuje się go zwykle z opcją dodatkowego Ray Tracingu tego typu efektów). Tworzenie wizualizacji w tym trybie wymaga zastosowania starannie przygotowanych materiałów i odpowiednio dobranego oświetlenia. Pytania i zadania 1) Jakie 2 typy plików związane są z materiałami? Co zawierają? 2) Czy można przypisać (Assign) materiał do elementu o kolorze spoza tablicy kolorów? 3) Gdzie zapisane są informacje o połączeniu materiału z elementami rysunku metodą Assign, a gdzie w przypadku zastosowania metody Attach? 4) Krótko scharakteryzuj rodzaje oświetlenia globalnego oraz lokalnego. 5) Jakie są metody nakładania tekstur (Mapping) ? 6) Wymień interaktywne i fotorealistyczne tryby renderingu. Co to jest Antialiasing? 7) Utwórz nowe rozwiązanie Ray Trace (z renderingiem wszystkich obiektów) i zapisz je jako plik „4_rozwiazanie.ptd”. 8) Zmodyfikuj materiał „trawa”: zastosuj 2 warstwową teksturę złożoną z 2 różnych plików typu grass zmieszanych metodą „Normal” w stosunku pół na pół. 8