Ten artykuł został stworzony dla starszych wersji GameMakera i może nie być aktualny.

Antyaliasing grafiki na przykładzie medalu

Poniedziałek, 29 Grudnia 2008, 14:39
Czas czytania 5 minut, 9 sekund
Napisałem ten poradnik dla tych, którzy myślą, że najlepszym "antialiasingiem" jest efekt "blur" oraz dla tych co zaczynają przygodę z pixelartem lub też dla tych co nie mają nic lepszego do roboty i się dokształcają.
ANTIALIASING NA PRZYKŁADZIE MEDALU

    Witam Cię szanowny czytelniku. Napisałem ten poradnik dla tych, którzy myślą, że najlepszym "antialiasingiem" jest efekt "blur" oraz dla tych co zaczynają przygodę z pixelartem lub też dla tych co nie mają nic lepszego do roboty i się dokształcają. Zaczynajmy!

    Najpierw stwórzmy jakiś obrazek. Nie bójcie się nie będzie on skomplikowany. Dajmy na to medal, najzwyklejszy w świecie złoty medal. Zaczynamy od lineartu. Być może większośc z was zrobiłaby to narzędziem kółko, ale dziś spróbujemy inaczej. Nauczę was sposób na robienie łuków, z których skonstruujemy koło. Wierzcie mi przyda wam się to.
A więc tworzymy obrazek o wymiarach 15x15 na przykład, i wyznaczamy środek. Możecie liczyć piksele lub też zrobić linię poziomą (wskażę ona nam wymiar obrazka) podzielić wymiar na pół i mamy środek obrazka względem osi X.
UWAGA: Wszystkie obrazki są powiększone x4, później x8!
Teraz robimy to samo tylko, że linia musi być pionowa.
Grafika: upload/gm/antyaliasing_tut2.png
Poprawiamy linię poziomą, aby była na środku obrazka względem osi Y.
Grafika: upload/gm/antyaliasing_tut3.png
Mamy środek. Usuwamy część linii, aby zostało nam coś takiego:
Grafika: upload/gm/antyaliasing_tut4.png
Zaczynamy robić łuk (dla ułatwienia będzie on zaznaczony na czarno):
Grafika: upload/gm/antyaliasing_tut5.png
Krok 1. Zaczynamy od lewego końca rysując kreskę na 1/6 całego obrazka, czyli 1/3 połowy. U nas będzie to 3 piksele (razem ze środkiem zaokrąglając w górę). To samo robimy z górnego końca (oczywiście muszą się one kierować we wspólną stronę).
Grafika: upload/gm/antyaliasing_tut6.png
Krok 2. Teraz kolejne linie będą miały długość połowy poprzedniej linii (także zaokrąglone w górę), czyli 3 po podzieleniu i zaokrągleniu daje nam 2 piksele. Rysujemy.
Grafika: upload/gm/antyaliasing_tut7.png
Krok 3. Teraz będą nam wychodzić same pojedyncze piksele więc rysujemy je tak, aby złączyć nasze elementy (u nas to będzie tylko jeden piksel).
Grafika: upload/gm/antyaliasing_tut8.png
Krok 4. Kopiujemy łuk i obracamy, a następnie łączymy tak, żeby powstało koło (pamiętajmy, że środek jest częścią wspólną łuków).
Grafika: upload/gm/antyaliasing_tut9.png

    Mamy już koło. Możecie teraz zobaczyć, że narzędziem ‘koło’ zrobilibyście identyczne ;D . Jednakże teraz wiecie jak robić łuk bez rysowania koła i babrania się w gumowanie. Zaczynamy malować.
Grafika: upload/gm/antyaliasing_tut10.png
Wypełniamy koło jakimś złotym kolorkiem. Kontury zamalowujemy na jakiś ciemno-złoty.
Grafika: upload/gm/antyaliasing_tut11.png
Teraz robimy wewnątrz robimy wgłębienie o kształcie koła. Tu już jeśli chcecie możecie użyć narzędzia "koło" (jeżeli używasz painta radzę zrobić je w trybie obramowania, a potem wypełnić), ale kto chce może spróbować wyżej wymienionego sposobu. Cieniujemy (opiszę krokami):
Grafika: upload/gm/antyaliasing_tut12.pngGrafika: upload/gm/antyaliasing_tut13.png
Krok 1. Ustalmy, że światło pada z górnego lewego rogu. Cieniujemy wgłębienie, a ponieważ to jest wgłębienie to górna, lewa część będzie nieoświetlona, a dolna prawa tak. Dobieramy odpowiednie kolory. Cień powinien być "pomarańczowniejszy" ( w tym wypadku), a oświetlenie mniej nasycone (bledsze).
Grafika: upload/gm/antyaliasing_tut14.png
Krok 2. Cieniujemy teraz pozostałą część. Nasz medal nie będzie idealnie płaski tylko leciutko wygięty, a więc padać na niego będzie światło. Dobieramy jaśniejszy kolor tak jak poprzednio i zamalowujemy 3/4 medalu tak, aby dolna, prawa część była lekko ciemniejsza.
Grafika: upload/gm/antyaliasing_tut15.png
Krok 3. Dobieramy kolor jeszcze jaśniejszy i malujemy nim lewą, górną część. Zmieniamy kolor tła na czarny, aby łatwiej nam było dalej pracować z tymi jasnymi kolorami.
Grafika: upload/gm/antyaliasing_tut16.png
Krok 4. Czas na "łagodzenie" konturów, czyli tam gdzie pada więcej światła, kontury są jaśniejsze. Dzięki temu nasz medal będzie jeszcze ładniejszy.
Grafika: upload/gm/antyaliasing_tut17.png

    Nasz medal gotowy, ale jak widzicie jest trochę kanciasty przez to, że piksele są kwadratowe. Nadchodzi pora na oczekiwany z pewnością antialiasing. Teraz mamy dwie opcje robimy AA z pomocą kanału alpha (przeźroczystość) lub bez. Jeżeli macie tylko painta, to niestety musicie sobie radzić bez. Na czarnym tle AA robi się trudniej szczególnie bez przeźroczystości, ale żółty jest słabo widoczny na białym tle, więc tutaj przewagę ma czarne tło. Robi się to tak:
Grafika: upload/gm/antyaliasing_tut18.png
Krok 1. Dobieramy ciemny złoty i stawiamy piksele przy najdłuższych liniach prostych (chodzi oczywiście o zewnętrzne linie).
Grafika: upload/gm/antyaliasing_tut19.png
Krok 2. Dobieramy jeszcze ciemniejszy i ponownie stawiamy go obok poprzednich pikseli, a także w pozostałych "wolnych miejscach"
Grafika: upload/gm/antyaliasing_tut20.png
Krok 3. Robimy jeszcze ciemniejszy i stawiamy go (jakby to wam wytłumaczyć hmm…) na miejscach o współrzędnych (pierwszy piksel to (0,0)): (1,1), (13,1), (1,13) i (13,13). Myślę, że zrozumiecie o co mi chodzi.
Grafika: upload/gm/antyaliasing_tut21.png
Krok 4. Balansujemy kolory tak aby nie były zbyt ciemne, ani tez zbyt jasne. Możemy teraz porównać medale:
Grafika: upload/gm/antyaliasing_tut15.pngGrafika: upload/gm/antyaliasing_tut22.png
Grafika: upload/gm/antyaliasing_tut17.pngGrafika: upload/gm/antyaliasing_tut23.png
Widzicie różnicę? Jakąś na pewno, lecz to tylko jeden rodzaj antyaliasingu. Zapoznam was teraz z AA linii (już bez tłumaczenia, za to pokażę kolejne "etapy" tworzenia AA)
Grafika: upload/gm/antyaliasing_tut24.pngGrafika: upload/gm/antyaliasing_tut25.png

Dziękuję za uwagę mam nadzieję, że spodobał się wam ten artykuł, oraz że nauczyliście się czegoś przydatnego.
Komentarze (łącznie 34, wyświetlam 16 - 30):
Paqoo (Pon., 29 Gru. 08, 16:36)
#16

Ha. Widzę, że mam zdolnego grafika :D Bardzo ciekawe rzeczy tu opisałeś!

Tymon (Pon., 29 Gru. 08, 16:37)
#17

Monety są ok, ale po prostu jest to strasznie niewyraźne na czarnym tle.

ZeroXbot (Pon., 29 Gru. 08, 16:49)
#18

No chodziło mi o to tło właśnie, narazie nie będe dawał update'a tylko sie jeszcze poduczę i znajdę pare fajnych 'smaczków' do dodania.

ZeroXbot (Pon., 29 Gru. 08, 16:52)
#19

kurde Tymon nie wykorzustuj swoich możliwości edytowania komentów, bo co chwila musze coś dodawać. ;P No masz rację prace mają ładny AA, ale to przede wszystkim zależy od techniki cieniowania. Te mają taki mangowy(?)

Tymon (Pon., 29 Gru. 08, 16:54)
#20

Co to za różnica, mogę Ci dać 10 innych prac które zdecydowanie różnią się swoim stylem, a technika wykonania AA jest identyczna. =)

ZeroXbot (Pon., 29 Gru. 08, 16:55)
#21

Dobra już się nie będę kłócił, bo jeszcze wyciągniesz coś z szuflady i mnie zatkasz :D

Tymon (Pon., 29 Gru. 08, 16:58)
#22

W okolicach mojego miejsca pracy nie ma szuflad. =P

Jedyne co mogę dodać to to, że na liniach prostych jak i ułożonych pod kątem 45 stopni nie stosuje się AA.

ZeroXbot (Pon., 29 Gru. 08, 17:56)
#23

Ej! Miałem zamiar to dodać. Jest chyba jeszcze jeden kąt chyba 22.5.

Ghost (Pon., 29 Gru. 08, 18:11)
#24

Takie zwykłe to...

Nikas (Pon., 29 Gru. 08, 19:35)
#25

zgadzam się z ghostem

Firemark (Pon., 29 Gru. 08, 19:36)
#26

Ja bym dodał , że AA jest fajny w wysokich rozdz. , od 640x480. Znam nesowe gry z AA i to już nie wygląda fajnie :P

ZeroXbot (Pon., 29 Gru. 08, 20:09)
#27

@Firemark: Ktoś jeszcze produkuje gry na NES-a?
@Ghost i Nikas: Z tego co widzę to nie jesteście aktywni w dziale graficznym prócz próśb, więc rozumiem poziom waszego zainteresowania.

Nikas (Pon., 29 Gru. 08, 22:11)
#28

Ja tylko mówię że to jest zwykłe (bo to jakiś pieniążek czy coś) ale nie mówię że złe :)

ZeroXbot (Pon., 29 Gru. 08, 22:36)
#29

Nie wiem czy zauważyłeś, ale tu nie chodzi o obrazek, bo to nie miało być dzieło sztuki, którego i tak bym nie zrobił, ale poprostu chciałem z wami podzielić się moją wiedzą na temat AA. Tyle. I dzięki za uśmieszek ;)

E
Egzekutor (Wto., 06 Sty. 09, 15:46)
#30

W paint Net jest taka funkcja wygładzanie AA lini. Więc można go sobie ściągnąć i nie męczyć się po pikselu :P

Najnowsze wersje GameMakera:

Stabilna
2024.2.0.132 • 2024.2.0.163
wydana 59 dni temu
LTS
2022.0.2.51 • 2022.0.2.49
wydana 198 dni temu
Beta
2024.400.0.556 • 2024.400.0.571
wydana  2 dni temu
= IDE, = Runtime
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
Shoutbox
gnysek (18:05, 01.05.24)
Tak, w osobnym rozszerzeniu (na githubie YYG).
I am Lord (17:56, 30.04.24)
funkcje z fmod są już?
gnysek (20:44, 11.04.24)
Niektórzy dlatego wybierają GMEdit. Ale ja liczę na Code Editor 2, tylko na razie zbyt zbugowany jest.
Tymon (16:11, 11.04.24)
Stitch dla mnie osobiście jest lepszy bo nie musze kopać się z interfejsem GMa i mogę tylko pisać kod.
Tymon (16:05, 11.04.24)
Yes. Obecny nie jest taki zły, jak zainstalowałem najnowszą stabilną to w porównaniu z tym czego używałem... 10 lat temu...? Wszystko wydaje się lepsze.
gnysek (22:48, 10.04.24)
bscotch/stitch ? Ja czekam na fixy do nowego edytora, bo wszystko wydaje się dziś lepsze od tego obecnego :D
Tymon (19:54, 10.04.24)
Hm, Stitch okazuje się całkiem dobrą alternatywą dla wbudowanego edytora
Wojo (22:16, 08.04.24)
siemano huder myślałem, że zniknąłeś całkiem z gmclanu bo na discordzie cie nie ma :D
I am Lord (00:37, 05.04.24)
O dzięki :D
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?