Blender | Grafika 3D


Mamy piątek, czyli ostatni dzień tygodnia w którym dostajecie posty. W tym tygodniu nie miałem żadnych strat, zaledwie opóźnienie za które przepraszam, więc dziś chciałbym zaprezentować program.


Blender jest jednym z najbardziej zaawansowanych programów do tworzenia grafiki przestrzennej. Pracuje na wielu systemach operacyjnych. Napisałem "wielu", ponieważ nigdy nie interesowało mnie ile jest systemów operacyjnych, więc nie mogę stwierdzić że działa na wszystkich systemach. A są to: 
  • GNU/Linux
  • BeOS/Zeta
  • Microsoft Windows
  • AmigaOS 4.1
  • Solaris
  • MorphOS
  • FreeBSD
  • SkyOS
  • IRIX
Aplikacja została stworzona w oparciu o język Python, C oraz C++. Pierwsza wersja została stworzona w styczniu 1995 roku przez firmę NeoGeo, lecz od 13 listopada 2002 roku został rozwinięty przez Blender Foundation na czele z Ton'em Roosendaal'em, który oprócz tej fundacji, w 2007 roku założył Blender Institute w Amsterdamie, gdzie koordynuje prace nad rozwojem tego programu. Blender Foundation to powołana przez niego organizacja non-profit, której celem było wykupienie Blendera. To właśnie dzięki tej instytucji Blender stał się powszechnym programem. W czerwcu 2002 roku dostał zgodę na wykup źródeł za 100 tysięcy euro. To bardzo niewiarygodna sytuacja patrząc na fakt, iż zbiórka tej kwoty zajęła jedynie niecałe 2 miesiące. 13 października 2002 roku Blender został opublikowany na zasadach GNU.











Jak już wspomniałem program został stworzony w 1995 roku, ale napisałem również, że został rozwinięty przez znaną już nam fundację pod koniec 2002 roku. Co oznacza w tym przypadku "rozwinąć"? To nie tylko rozbudować wersję o nowe funkcję, ale także umożliwić korzystanie z niego w celu działań komercyjnych. Do października program był dostępny za darmo dla wszystkich, lecz tylko do użytku prywatnego. Oznacza to, że prace wykonane za pośrednictwem tego programu nie mogły zostać rozpowszechniane. Od 13 dnia tego miesiąca jednak fundacja Blendera powołana przez Ton'a postanowiła, że program będzie mógł być rozprowadzany na licencji GPL (General Public License, inaczej - GNU). Dla przypomnienia GPL to licencja wolnego i otwartego oprogramowania, która została stworzona w 1989 roku na potrzeby projektu GNU i zatwierdzona przez Open Source Initiative. Licencja miała swoje założenia, a oto cztery podstawowe wolności:
  • Wolność uruchamiania programu w dowolnym celu
  • Wolność analizowania, jak program działa i dostosowywania go do własnych potrzeb (to co lubimy najbardziej, czyli zmieniać interfejs, "skórkę", bo wcześniejszy nam się po prostu znudził. Stąd wzięły się również popularne modyfikacje do przeróżnych gier)
  • Wolność rozpowszechniania niezmodyfikowanej kopii programu
  • Wolność udoskonalania programu i publicznego rozpowszechniania własnych ulepszeń z których może skorzystać cała społeczność.


Na zakończenie artykułu chciałbym przedstawić Wam możliwości programu. Niestety nie lubię tego robić, ale w tym momencie jestem zmuszony skopiować fragment.

Interfejs:
  • Interfejs użytkownika bez zachodzących na siebie i blokujących się okien.
  • Elastyczny i w pełni konfigurowalny układ okien możliwy do zmiany w zależności od potrzeb.
  • Wielopoziomowe polecenie "cofnij".
  • Wygładzanie czcionek.
  • Możliwość tłumaczeń interfejsu programu.
  • Typy okien:
  1. Do edycji krzywych/kluczy animacji
  2. Do edycji animacji nie-liniowej
  3. Do edycji akcji dla animacji postaci
  4. Do edycji sekwencji wideo
  5. Okno ze schematem/listą obiektów
  • Do edycji obrazków/UV
  • Do zarządzania plikami/obrazkami
  • Edytor tekstowy do pisania informacji o scenie oraz skryptów Pythona.
  • Identyczny interfejs na wszystkich platformach.
Modelowanie:
  • Szeroki zakres obiektów możliwych do utworzenia i późniejszej edycji:
  1. Siatki
  2. Powierzchnie NURBS
  3. Krzywe Béziera
  4. Obiekty typu meta
  5. Fonty wektorowe (TrueType, PostScript, OpenType)
          • Narzędzie pozwalające na rzeźbienie siatki.
          • Podział siatek metodą catmull-clarka.
          • Funkcje boolowskie dla siatek.
          • Edycja siatek oparta na wierzchołkach, krawędziach i wielokątach (poligonach).
          • Wiele funkcji do edycji obiektów pozwalających uzyskać praktycznie dowolny kształt.
          • Obsługa skryptów Pythona, za pomocą których można dodać nowe narzędzia edycji.
          • BMesh- system pozwalający na tworzenie i edycję ścian o bardzo skomplikowanej budowie- np. o kilkunastu krawędziach
          Animacja:
                • Animacja oparta na szkielecie z wykorzystaniem prostej i odwrotnej kinematyki. Automatyczny skinning, interaktywne rysowanie wag bezpośrednio na obiekcie, ręczna edycja sposobu oddziaływania szkieletu na każdy wierzchołek oraz system "envelopes".
                • Mikser animacji nie-liniowej z automatycznym cyklem chodu wzdłuż krzywej.
                • System ograniczników animacji.
                • Możliwość animacji poszczególnych wierzchołków.
                • Edycja za pomocą kratownicy, pozwalająca łatwo animować nawet bardzo skomplikowane pod względem budowy obiekty.
                • System krzywych animacji, tzw. "IPO".
                • Obsługa tzw. "driven-keys", gdzie zmiana wartości jednego parametru (np. szerokości) powoduje automatyczną zmianę (proporcjonalną bądź nie) wartości innego (np. wysokości).
                • Możliwość kontrolowania wartości danych parametrów przy pomocy wyrażeń matematycznych (zapisanych w języku Python).
                • Możliwość wykorzystania plików dźwiękowych i ich edycji w celu odpowiedniej synchronizacji.
                • Skrypty Pythona dodające nowe możliwości w dziedzinie animacji.
                • Synchronizacja z Motion capture.
                Efekty specjalne:
                • Dynamika bryły sztywnej.
                • Rozbudowany system cząstek (można go wykorzystać do tworzenia np. dymu, ognia, stada ptaków, trawy, włosów itd.).
                • System soft-body (symulacja ciał miękkich, np. ruchu mięśni).
                • Zaawansowany silnik fizyki umożliwiający tworzenie realistycznych symulacji.
                • Symulacja tkanin, włosów oraz płynów.
                Rendering:
                • Wbudowany Raytracing.
                • Obsługa raytracera YafRay (do wersji 2.48).
                • Wygładzanie, rozmycie ruchu, możliwość dodania różnych efektów przy pomocy sekwencera wideo.
                • Mapy środowiskowe, efekty "Halo", flary soczewkowe, mgła.
                • Rozmaite shadery.
                • Tzw. system nodes umożliwiający zaawansowane komponowanie materiałów i tekstur oraz uzyskiwanie dodatkowych efektów na renderze.
                • Wielofazowy rendering z obsługą różnej liczby rdzeni procesora.
                • Możliwość bezpośredniego malowania tekstur na modelach (projection painting).
                • Renderowanie krawędzi dla uzyskania efektu ręcznego rysowania.
                • Tekstury proceduralne.
                • Ambient occlusion.
                • Radiosity-od wersji 2.50 nieobecne.
                • Skrypty Pythona pozwalające na wykorzystanie innych rendererów niż wbudowany Blender Internal takich jak: Indigo, YafaRay, Luxrender, Sunflow, Renderman, V-ray (projekt we wczesnym stadium).
                • W najnowszej wersji: efekty wolumeryczne.
                • Motion Tracking pozwalający na łączenie filmów wykonanych np. za pomocą kamery z animacjami. (Efekty zostały wykorzystane w filmie Teras of Steel)
                • Ustawienia kamery (np. kąt obiektywu, zasięg, ostrość itp.) oraz możliwość wybrania ustawień charakterystycznych dla jednego z popularnych modeli kamer.
                • wsparcie CUDA i OpenMP
                • wbudowany renderer Cycles
                Silnik graficzny do tworzenia gier:
                • Graficzny edytor pozwalający zdefiniować "zachowanie" obiektów bez konieczności programowania- tzw. Logic bricks.
                • Detekcja kolizji i dynamika.
                • API dla skryptów Pythona pozwalające na pełną kontrolę nad tworzoną grą.
                • Pełna obsługa OpenGL.
                • Uruchamianie gier bez konieczności kompilacji.
                • System audio wykorzystujący bibliotekę SDL.
                • Dwa silniki fizyki: Sumo (obecnie przestarzały) i Bullet.
                Pliki:
                • Zapisywanie wszystkich danych sceny do jednego pliku .blend. Format .blend obsługuje:
                1. Kompresję
                2. Cyfrowe podpisy
                3. Kodowanie
                4. Kompatybilność między różnymi wersjami blendera.
                5. Może być użyty jako biblioteka [np. materiałów] dla innych plików .blend.
                          • Obsługa różnorodnych formatów graficznych.
                          • Oryginalny import/eksport formatów DXF, Inventor, VRML oraz kilkudziesięciu innych formatów plików.
                          • Skrypty Pythona pozwalające na obsługę dodatkowych formatów
                          • Możliwość utworzenia plików binarnych zawierających interaktywną zawartość 3D i umieszczenia na stronie internetowej (wymagana wtyczka do przeglądarki).
                          Game Engine:
                          • Fizyka:
                          1. Soft body
                          2. Rigid Body
                          3. obiekty wykrywające kolizję
                          4. Obiekty statyczne
                                • GLSL (dynamiczne oświetlenie)
                                • Obsługa Pythona
                                • Animacja

                                0 komentarze:

                                Prześlij komentarz