Grafika 3D na Macintosha

W ostatnich latach dokonano znacznych udoskonaleń w dziedzinie grafiki komputerowej i dziś jest to najciekawiej rozwijająca się dziedzina oprogramowania.

W ostatnich latach dokonano znacznych udoskonaleń w dziedzinie grafiki komputerowej i dziś jest to najciekawiej rozwijająca się dziedzina oprogramowania.

Jeszcze trzy lub cztery lata temu próby odmalowania "martwej natury" na komputerze kończyły się dość żałośnie, choć budziły entuzjazm. Powstawały płaskie, ząbkowane rysunki wypełnione jaskrawymi barwami albo toporne klockowane bryły o ostrych kantach. Dziś "martwa natura" z komputera nie ustępuje fotografii pod względem technicznym, a przewyższa ją pomysłowością i efektami estetycznymi. Urządza się konkursy na trójwymiarową realizację skomplikowanych tematów i przyciągają one tak fachowców, jak amatorów. Wyniki ich pracy są zasakujące i różnorodne. Grafika komputerowa z zabawnego rzemiosła staje się coraz bardziej intrygującą dziedziną sztuki.

Ilustrator i autor obrazów animowanych Jim Ludtke postanowił porównać możliwości rozmaitych programów graficznych stosowanych w Macintoshach. Jako temat wybrał parapet kominka, stojącą na parapecie lampę natfową, a przy niej pudełko sztormowych zapałek. Nad kominkiem zawiesił owalne lustro. Zaczął od skonstruowania trójwymiarowego "modelu drucianego" i ten szkielet, zapisany w formacie DXF, przesłał wytwórcom dziewięciu renomowanych programów graficznych z prośbą o zademonstrowanie zalet ich produktów.

Każdy autor korzystający z jednego z tych programów mógł zdecydować wedle własnego uznania, jakimi dodatkowymi przedmiotami wypełni naszkicowaną scenę, z czego będzie zrobiony kominek i rama lustra, jakich użyje barw, faktur i oświetleń. Mógł też stosować dowolne programy pomocnicze. W rezultacie powstało 9 niebanalnych rozwiązań graficznych, a jednocześnie ciekawy materiał do porównania najlepszych programów graficznych na Macintosha.

Podstawy trójwymiarowego modelowania

Wszystkie trójwymiarowe programy graficzne wyposażone są w proste bryły: kule, walce, stożki i sześciany. Można z nich jak z klocków budować większe struktury. Wszystkie programy mają też opcję określaną jako "trójwymiarowa wyciskarka" (extruder). Dowolną kształtką dwuwymiarową, np. literę, zarys zwierzęcia, logo, czyli znak firmowy itp., można przesunąć w głąb, wzdłuż osi trzeciego wymiaru, na dowolną odległość (tak jak wyciska się kruche ciasteczka z maszynki do mięsa przez otwór w blaszce foremki). Ten trzeci wymiar można w istocie zagiąć, tzn. można pozwolić, by dwuwymiarowy przedmiot "szybował" w powietrzu, pod warunkiem, że w każdym momencie odchyla się tylko nieznacznie od osi swego trzeciego wymiaru (jest to tzw. ścieżka Beziera). W ten sposób przedmiot może zataczać pętle, poruszać się po linii falistej lub po elipsie. Jeśli takiej obróbce podda się np. obrączkę, to przesuwając ją w przestrzeni otrzymujemy długą, elastyczną, dowolnie pozakręcaną, jakby plastikową rurę.

Inną wygodną opcją jest toczenie (lathing) i modelowanie z przekroju (cross-sectional modeling). I w tych dwóch przypadkach punktem wyjścia jest dwuwymiarowa kształtka. Toczenie może się odbywać wokół dowolnej linii przebiegającej przez przedmiot lub leżącej poza nim. Ruch toczący może być sprzężony z posuwistym, by uzyskać dowolne formy będące wynikiem poruszania się zbioru punktów po spirali. Modelowanie z przekroju polega na pokryciu tych punktów powierzchnią rozciągniętą między liniami prostymi łączącymi te punkty. Można również powierzchnię tę wygładzić, tak by nie miała krawędzi i załamań.

Droższe programy trójwymiarowe, np. Presenter Professional, Sculpt 3D i 4D, a także Ray Dream Designer oferują opcję modelowania wielowypustowego (spline based modeling) i wierzchołkowego (vertex level editing). Polegają one na przesunięciu zbioru punktów z powierzchni dowolnej bryły na zewnątrz lub do jej wnętrza. Modelowanie wielowypustowe działa według zasady, że przedmiot odkształca się jak nadmuchiwany balon. Jego powierzchnia rozciąga się równomiernie, jednak bez wywołania nadmiernego wzrostu objętości bryły, a więc dopuszcza zmiany tylko w pewnym ograniczonym obszarze. Podobnie jak nadmiernie nadmuchiwany balon wybrzusza się tylko w tym miejscu, gdzie jego powłoka była najcieńsza. Modelowanie wierzchołkowe polega na wytworzeniu w bryle wgłębienia lub wybudowaniu na niej stożkowatych narośli pod warunkiem, że pozostała część bryły nie ulega żadnym odkształceniom. Stosując tę metodę można np. wyprodukować kulę z ostrym nosem lub jajko z wystającym obuchem od siekiery (jeśli takie właśnie kształty kogoś bawią) albo np. łańcuch górski na powierzchni wycinka Ziemi.

Droższe programy pozwalają jednocześnie przesuwać całe zbiory punktów, obracać je, zmniejszać lub zwiększać odległości między nimi. Obowiązuje jednak zasada - im bardziej skomplikuje się kształt bryły pokrywając je licznymi wielokątami, tym więcej czasu zabiera poźniejsze opracowanie faktury, cieni i światła, oraz tzw. "rendering".

Konstrukcja powierzchni

Większość programów oferuje kilka rodzajów faktur które nakłada się na szkielet "drucianego" modelu. Najczęściej jest to marmur, drewno, szkło, gips i powierzchnia gładka. Opcje te określają porowatość przedmiotu, a także charakterystyczny układ żyłek lub słojów, które narzuca się na powierzchnię losowo, ale w zgodzie z zadanymi parametrami przebiegu ścieżek, ich szerokości i gęstości. Następnie na powierzchnię z fakturą nakłada się refleksy światła. Występujące na obrazie światło może być rozproszone, lokalnie odbijane i pochłaniane. Wszystko w dowolnych proporcjach. Każda z funkcji określona jest osobnym parametrem najczęściej wyrażonym w procentach. Odpowiednie dobranie wartości powoduje, że powierzchnia z fakturą nabiera swoistych cech plastiku, metalu lub szkła.

Wymyślne faktury

Można też stworzyć własną, bardziej niezwykłą fakturę, konstruując "mapę grudek" (bump map). Mapa grudek wytwarza chropowatość przedmiotów i pozwala np. uzyskać efekt podłogi posypanej piaskiem lub żwirem, albo strukturę powierzchni charakterystyczną dla piłki tenisowej, pomarańczy lub nawet piłki golfowej, pokrytej regularnymi dołkami.

Jeszcze ciekawsze efekty osiąga się przez skonstruowanie mapy refleksów (reflection map). Dość wyszukaną formę mapy refleksów pokazuje ilustracja zawierająca wypukłe lustro, wykonana przy użyciu StrataVision 3D. Mapa taka powstaje przez zdefiniowanie obrazu leżącego naprzeciw powierzchni dającej refleks, oraz przez ścisłe opisanie kształtu tego ostatniego. Odbijającym obraz przedmiotem może być lustro płaske, wklęsłe lub wypukłe, bombka na choince lub niklowany zderzak samochodu. Po uzyskaniu tych danych program oblicza i prezentuje obraz otoczenia odbity w lustrzanym przedmiocie.

Inną, doskonalszą metodą, jest śledzenie biegu promieni świetlnych. Opcją tą dysponują programy Presenter Professional, Ray Dream Designer, Sculpt 3D, StrataVision 3D. Wymaga ona określenia, w jakim stopniu poszczególne przedmioty w prezentowanej trójwymiarowej rzeczywistości pochłaniają, załamują i odbijają światło. Następnie, w dość długiej procedurze, trwającej nierzadko kilka godzin, program dokładnie bada przebieg promienia świetlnego odpowiadającego kolejno każdemu punktowi obrazu. Śledzi go od ekranu wstecz, przez poszczególne półprzezroczyste i lustrzane przedmioty, aż trafi do źródła światła. Doskonały efekt zastosowania tej procedury, ukazujący zachowanie włąściwej perspektywy, proporcji kształtów, odblasków, załamań światła i kolorów, pokazuje obraz wykonany przy użyciu Presenter Professional.

Najprostszą metodą odbijania obrazów jest opcja cieniowania Phong (Phong shading) polegająca na odwracaniu, zaciemnianiu i zabarwianiu obrazu, oraz na tworzeniu gładkich powierzchni przez tzw. antialiasing, czyli zacieranie efektów wykonywania funkcji skokowych.

Niektóre programy, jak np. MacRenderMan, mogą jeszcze lokalnie wprowadzać zamglenia lub przesuwać powierzchnie.

Rendering czyli wykonanie

Od momentu, gdy zostały już zdefiniowane wszystkie punkty obrazu, do momentu ukazania się obrazu na ekranie (ta faza obliczania wartości poszczególnych punktów określana jest jako "rendering") mogą minąć 4 godziny (jeśli się używa Macintosha z rozdzielczością ekranu 640x480) lub kilka dni (jeśli produkuje się obraz z przeznaczeniem do druku, z rozdzielczością 4000x4000). Szczególnie czasochłonna jest funkcja zacierania kantów (antialiasing) na konstrukcji wykonanej jako "druciany szkielet". Wiele czasu zabiera też uzyskanie danych na temat pożądanej jasności poszczególnych punktów w zależności od przyjętych założeń o fakturze i refleksach na powierzchni przemiotu.

Ponieważ modelowanie i wykonanie obrazu to dwie zupełnie różne funkcje, coraz wyraźniej zarysowuje się tendencja do produkowania programów specjalistycznych, wykonujących tylko jedną z nich. Pewne programy (np. Form Z, Swivel 3D Pro, Aldus Super 3D) służą głównie do modelowania, inne (MacRenderMan, MacroMind 3D, ElectricImage Animation System) produkują obraz z modelu wykonanego przy użyciu tych pierwszych.

Najszybszym programem wykonującym jest ElectricImage Animation System, który pracuje 10 lub nawet 20 razy szybciej od pozostałych programów. Istnieją już jednak karty graficzne, które przyspieszają "rendering" (np. NuSprint, produkowany przez Yarc Systems i sprzedawany za 3700 USD w wersji 8 MB lub za 4700 w wersji 16 MB). Jak dotąd działają one tylko z Presenter Professional.

Animacja

Po wykonaniu obrazu niektóre programy graficzne oferują możliwość animacji. Najprostsza wersja animacji to wielostronna prezentacja (key frame animation). Przedmiot postawiony na środku ekranu obracany jest we wszystkich kierunkach i pokazywany z dowolnej strony.

Bardziej zaawansowaną formą animacji jest animacja hierarchiczna (hierarchical animation). Polega ona na podzieleniu przedmiotu na części i niezależnym poruszaniu częściami. Tak powstaje wrażenie swobodnego poruszania palcami u dłoni lub efekt kroczącego robota.

Najciekawszą opcją jest metamorfoza (metamorphosis). Przy użyciu tej metody można np. pokazać rosnącą z ziarna roślinę lub ciężarówkę przekształcającą się w robota.

Dość oczywistą opcją animacyjną w programach dopuszczających modelowanie wielowypustowe jest wielokrotne zastosowanie tej opcji w czasie. Jest to wielokrotne powtórzenie operacji modelowania i wykonania na tym samym "drucianym szkielecie". Ta metoda stosowana jest w programach StrataVision 3D, Sculpt 4D (Wersja Sculpt 4D różni się od 3D tym, że za dodatkowe 1000 USD otrzymuje się program animacyjny działający ze Sculpt 3D).

Bajery

Wybierając program do modelowania należy przede wszystkim rozważyć, jak często będzie się używać funkcji modelowania wielowypustowego i wierzchołkowego. Pozwalają one wytworzyć ciekawe kształty i są nieodzowne jeśli zamierza się poddać model animacji. Na przykład ruchy mięśni oddające grymasy ust i wyraz oczu najłatwiej osiągnąć stosując modelowanie wierzchołkowe. Te obie funkcje mają programy Form Z, MacTOPAS, Presenter Professional, Ray Dream Designer i Sculpt 3D.

Wybierając program wykonujący trzeba brać pod uwagę czas jego pracy (pod tym względem najlepszy jest ElectricImage Animation System oraz Professional Presenter z kartą NuSprint) ale przede wszystkim poziom dokładności w wykonaniu obrazu. Ideałem jest "realizm fotograficzny". Taką jakość obrazu osiągają programy StrataVision 3D i MacTOPAS. Pierwszy jednak nie nadaje się do animacji, ponieważ opiera opiera się na skomplikowanej funkcji śledzenia drogi promieni świetlnych, a drugi ma dość ograniczone funkcje "rendering" (nie ma funkcji lokalnego oświetlenia ani mapy grudek). W zasadzie dobre programy wykonujące to: ElectricImage AnimationSystem, MacroMind Three-D i MacRenderMan, czyli programy specjalistyczne, służące tylko do tego celu.

Najlepsze wyniki w animacji osiągają programy Sculpt 4D i MacroMind Three-D. Pierwszy z nich ma animacyjną funkcję edycji wierzchołkowej; drugi oferuje pełną kontrolę nad wszystkimi parametrami środowiska w trakcie animacji. Po rozważeniu wszystkich względów merytorycznych do uwzględnienia pozostaje tylko cena.

Modelowanie Wykonanie Animacja Cena (dostępne funkcje) w USD

Aldus Super 3D kilka kilka kilka 495

ElectricImage kilka bez 3 bez 2 7495 Animation System

Form Z bez 2 jedna nic 999

Infini-D kilka kilka wszystkie 895

MacRenderMan nic bez 1 nic 995

MacroMind Three-D nic bez 2 bez 1 1495

MacTOPAS wszystkie kilka kilka 7495

Presenter wszystkie bez 1 bez 3 3600 Professional

Ray Dream bez 3 bez 2 nic 895 Designer

Sculpt 4D bez 1 bez 2 wszystkie 3500

StrataVision 3D bez 3 bez 2 wszystkie 995

Swivel 3D bez 2 dwie dwie 695

Pełna lista funkcji obejmuje:

Modelowanie;

przekrojowe, toczenie, wielowypustowe, wierzchołkowe, herarchiczne łączenie części, tekst 3-wymiarowy, pliki DXF i pliki RIB.

Wykonanie;

śledzenie promieni świetlnych, cieniowanie Phong, lokalne snopy światła, punkty świetlne, odległe źródło światła, mgła, mapa sześcianowa, mapa grudek, procedury fakturowania, przesuwanie powierzchni, maska alpha-channel.

Animacja; obracanie przedmiotu, ruchy hierarchiczne, metamorfoza, ścieżki wielowypustowe, ruchome źródło światła, ruchoma kamera, pliki PICS, animacja faktury. (oprac. jac na podstawie Macworld)

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200