Panel Logowania

Szybkie low poly (Modifier Decimate)

napisał : lukaszfito
15
lutego
2014
Dowiedz się jak przy pomocy kilku kliknięć stworzyć własne modele low poly - wszystko odbędzie się za sprawą Modifiera Decimate.
tagi : decimate modifier low poly mesh mesh siatka model faces verts

Wstęp 

Low poly to obiekty posiadające siatkę z niewielką ilością płaszczyzn. Wykorzystuje się je głównie w grach, by zmniejszyć obciążenie karty graficznej. Generowanie wielu siatek dla jednego obiektu jest szczególnie przydatne przy systemach LoD (Level of Detali) i właśnie na tym skupimy całą naszą uwagę.

Obiekt

Dla poradnika dodałem do sceny standardową małpkę i zwiększyłem ilość jej płaszczyzn przy pomocy Subdivide, teraz małpka posiada 1968 płaszczyzn.

Stworzymy dwie siatki low poly dla małpki, więc wciskamy SHIFT+D, by stworzyć duplikaty.

W taki sposób stworzyliśmy dwie małpki z nazwami Suzanne.001 oraz Suzanne.002. Duplikaty posiadają nie tylko nowe siatki mesh, ale także materiały. Możemy uniknąć duplikowania różnych właściwości obiektu w opcjach Blendera:

File > User Preferences > Editing > Duplicate data ( zaznaczone na poniższym obrazku )


Decimate

Klikamy na obiekt, drugiej (środkowej) małpki, zaglądamy do jej ustawień Properties, doszukujemy się ikonki Modifiers i klikamy na Add Modifier.

Wybieramy oczywiście Decimate i zaczynamy zabawę! Mamy trzy skrypty/metody zmniejszające jakość siatki mesh: Collapse, Un-Subdivide i Planar. Każda posiada licznik płaszczyzn na dole okienka (bardzo przydatne).

Pierwsza metoda ( Collapse ) jako jedyna posiada opcję pozwalającą operować na Vertex group. Zmniejszenie wartości paska zmniejsza ilość płaszczyzn siatki (ta metoda nie działa na wszystkie obiekty). Jeśli klikniemy na Triangulate, to możemy nawet podwoić ilość płaszczyzn, więc zostawiamy ją w spokoju (ta opcja przydaje się chyba tylko do gier opartych na Shadingu Singletexture i Multitexture).

Druga metoda ( Un-Subdivide ) jest bardzo delikatna, mała zmiana zmienia bardzo dużo w siatce mesh.

Ostatnia metoda ( Planar ) radzi sobie chyba najlepiej ze zmniejszaniem ilości płaszczyzn. Po kliknięciu na All Boundaries usuwamy wiele niedociągnięć zmiany siatki, ale troszkę bardziej zmieniamy obrys obiektu - czyli w skrócie jego kształt.

Łączenie Decimate

Możemy połączyć ze sobą kilka metod i właśnie to zrobimy. Połączmy dwie ostatnie (zauważmy, że kolejność modifierów ma znaczenie - pierwszy pobiera siatkę z oryginalnego obiektu, drugi modifier pobiera siatkę z pierwszego modifiera).

Nasza siatka zmniejszyła ilość płaszczyzn z 1968 do 592 (kliknęliśmy zaledwie 10 razy żeby uzyskać taki efekt - dobry wynik?). Zauważmy jeszcze, że jeśli małpka posiadałaby teksturę nałożoną przez UVmaps, to skrypty Decimate całkiem nieźle sobie z nią radzą i nie będziemy musieli dużo poprawiać.

Musimy kliknąć na Apply, aby obiekt pojawił się w grze (BGE nie obsługuje tego Modifiera). Ponadto kolejność klikania ma znaczenie! Zaczynajmy od góry do dołu.

Teraz zaszalejmy z trzecią małpką! Połączymy trzy metody.

Pamiętając, że kolejność ma znaczenie patrzymy na najniższą wartość Face Count. Dotarliśmy do 148 płaszczyzn, to ponad 13 razy mniej niż posiada pierwszy obiekt! A małpka ciągle przypomina małpkę.

Na zakończenie przypomnę, że większość systemów LoD wymaga zmienienia nazwy siatki, więc trzeba zmienić odpowiednio nazwy.


Podsumowanko

Dowiedzieliśmy się jak bardzo szybko zrobić siatkę low poly, co na pewno przyda się wszystkim korzystającym z LoD - ale każda gra może na tym skorzystać. Jak wspomniałem na początku, low poly wykorzystuje się w grach a nie tylko i wyłącznie w systemach LoD. Każde zmniejszenie ilości płaszczyzn na scenie przyśpiesza renderowanie, więc po stworzeniu choćby zwykłej kuli, warto dodać Decimate do obiektu i sprawdzić czy Blender nie potrafi zmniejszyć jakość siatki naszego obiektu (często mała zmiana daje sporo a w grze jest zupełnie niewidoczna).

Z poważaniem Łukasz Domski.

1 komentarz
lukaszfito napisał :
godz. 10:05, 20 marca 2014
Mała zmiana: W Blenderze 2.70 modifier decimate działa z BGE w czasie rzeczywistym :)
Dodaj komentarz
Aby dodać komentarz do newsa, musisz być zalogowany w Serwisie.. Zaloguj