Projektor K3D, to narzędzie umożliwiające rzutowanie grafiki rastrowej oraz wektorowej na powierzchnie brył (rzutowane grafiki nazywać będziemy teksturami bitmapowymi i wektorowymi, a powierzchnie brył – powierzchniami sterującymi, bowiem sterują one wyświetlaniem właściwych tekstur).
Tworząc ten program staraliśmy się zachować równowagę między możliwościami technicznymi programu, a stopniem skomplikowania jego obsługi. Zdajemy sobie sprawę z faktu, że na rynku jest wiele programów do obróbki 3D, ale wiemy też, że ich możliwości często przypominają możliwości armaty, którą musimy zastosować, by unieszkodliwić przysłowiową muchę.
Z tego też względu przyjęliśmy następujące założenia techniczne podczas projektowania tego programu:
- Program ma na stałe przypisane dwie (i tylko dwie) powierzchnie sterujące (dwa obiekty). Pierwszy z nich stanowi właściwy obiekt, których chcemy zobrazować, a drugi stanowi opcjonalne tło (wyświetlanie tej powierzchni można wyłączyć).
- Każda (z dwóch) powierzchni (brył) w programie ma swoje niezależne źródło oświetlenia i dwie strony (przód i tył). Każda ze stron może być oświetlona innym kolorem.
- Program ma ograniczone możliwości modelowania powierzchni i brył (w programie jest edytor siatek, ale ręczna ich edycja jest pracochłonna). Zakłada się korzystanie z gotowych powierzchni i brył przygotowanych przez producenta oraz możliwość generowania powierzchni za pomocą wzorów matematycznych, które są obliczane przez wbudowany kalkulator (oczywiście producent dostarcza wzory formujące podstawowe bryły). Rozwiązanie to jest wystarczające do zobrazowania wielu standardowych obiektów 3D, jak pudełka (książki, opakowania, prostopadłościany, itp.), puszki (tuby, walce), butelki (nieco zmodyfikowane walce), kule (planety, piłki), falujące powierzchnie (np. flagi), itp., jak np.:
Wideo 1.
Falująca flaga w Projektorze K3D.
Oczywiście na taką powierzchnię (jak np. pokazaną wyżej flagę) możemy nałożyć własną grafikę (np. rzeczywistą, prostokątną flagę), którą łatwo przygotujemy w dowolnym programie 2D.
(Większość pokazanych na tej stronie przykładów dostępna jest w postaci dokumentów projektora dołączonych do pakietu instalacyjnego. Możesz pobrać program i samodzielnie z nimi poeksperymentować. Część przykładów pochodzi z 3N Stock Photos, z którego będziesz mógł te dokumenty pobierać wprost z poziomu programu).
- Przyjęliśmy szereg uproszczeń co z jednej strony ułatwia obsługę programu, z drugiej przyspiesza jego działanie. Takim uproszczeniem jest np. to, że tło jest zawsze wyświetlane za obiektem pierwszoplanowym. Nie jest więc możliwe takie ustawienie obiektów, aby tło przysłoniło obiekt pierwszoplanowy, ale z drugiej strony program nie musi obliczać wzajemnego przesłaniania się tych obiektów.
- Kolejnym uproszczeniem jest przyjęcie założenia, że każdy (z dwóch) obiektów składa się z prostokątnej siatki czworokątów. Takie rozwiązanie umożliwiło prostą i szybkę implementację morfingu 3D.
Wideo 2.
Morfing 3D w Projektorze K3D.
A mając już takie narzędzie możemy w kilka minut zwizualizować np. opakowanie cukierka.
Wideo 3.
Morfing 3D wykorzystany do wizualizacji opakowania cukierka.
Więcej przykładów morfingu znajdziesz na naszym kanale You Tube.
W związku z takim założeniem, nie możemy usuwać (dodawać) do siatki pojedynczych elementów, możemy za to usuwać lub dodawać wiersze lub rzędy. Możemy również wyłączać wyświetlanie poszczególnym elementów siatki, co pozwala uzyskać ciekawe efekty.
- Choć mogłoby się wydawać, że powyższe uproszczenia zbyt mocno ograniczą możliwości programu, to zastosowano tu inne rozwiązanie, w znacznym stopniu rekompensujące wspomniane uproszczenie, a w niektórych wypadkach zdecydowanie przyspieszające pracę.
Otóż możesz na siatkę nałożyć obiekt wektorowy, który wytnie z siatki potrzebny kształt.
Jeśli dodamy do tego w sposób automatyczny grubość obiektu, to mamy w błyskawicznym tempie renderowane np. litery 3D:
Wideo 4.
Litery 3D wyrenderowane w Projektorze K3D.
Oczywiście możemy dowolnie ustawić i obiekt (jego położenie, przesuwanie, obroty, itp.) i światło (jego przesuwanie, średnicę, kolor, kontrast), tempo animacji, itp. podczas ruchu. - Generalnie program pracuje na teksturach rastrowych (tzn. na wymodelowaną siatkę można nałożyć bitmapę). W takiej sytuacji wyrenderowany obraz może być zapisany jako plik rastrowy (typu: *.bmp, *.jpg lub *.png).Program może również pracować na teksturach wektorowych (tzn. można rzutować grafikę wektorową na powierzchnię 3D). W tym wypadku jako wyjście (poza plikiem rastrowym) można również wskazać plik wektorowy (*.eps). W tym rozwiązaniu cieniowania są generowane w postaci szeregu ramek wektorowych.
- Można też nałożyć na siatkę bitmapę, a na to wektorowy kształt, który wytnie bitmapę i siatkę.
Fot. 1.
Bitmapa wycięta kształtem wektorowym i oświetlona w Projektorze K3D.