Skocz do zawartości

Ranking

Popularna zawartość

Treść z najwyższą reputacją w 08.08.2019 uwzględniając wszystkie działy

  1. Konrad-GM

    Pytanie graficzne

    Zgodnie ze sztuką, to powinieneś zacząć od: 1. Rysowania wszystkich obiektów które nie są w żaden sposób przezroczyste-półprzezroczyste. 2. Rysujesz przezroczyste/pół-przezroczyste obiekty względem ich odległości od kamery, od najdalszego sprite do najbliższego. Możesz manipulować zmienną depth, żeby otrzymać dość zadowalający efekt. Co prawda problem będziesz miał z ogrodzeniem np., bo może być szersze niż sprite wroga a wtedy mogą i tak nachodzić na siebie bo będziesz liczył odległości od ich środka. Więc możesz podzielić to dodatkowo aby postacie rysować zawsze na końcu, ale też względem odległości od kamery. Tutaj zaczyna się zabawa Dla nie-przezroczystych ścian rysuj je na początku, daj im wysoki depth, np. `depth = 10000`. Następnie rysując pół-przezroczyste ogrodzenie odlicz im depth od odległości od kamery i dodaj jakieś przesunięcie (żeby jednak rysować postacie na końcu), cos a'la `depth = point_distance(camera.x, camera.y, self.x, self.y) + 5000`, a na końcu rysując postacie ustaw im depth już bez przesunięcia `depth=point_distance(camera.x, camera.y, self.x, self.y)` E: Chociaż nie, jak będziesz ogrodzenie rysować to Ci i tak zasłoni bohaterów, może jednak przydzielaj depth każdemu pół-przezroczystemu obiektowi w ten sam sposób: `depth=point_distance(camera.x, camera.y, self.x, self.y)` i nie rób za dużych ogrodzeń.
    1 punkt
  2. Konrad-GM

    Pytanie graficzne

    Usunąć kanał alpha ze spritów. Ale wtedy będą to kloce a nie kształtne babeczki. Źle przydzielasz depth, bo gdybyś odwrócił kolejność rysowania to powinno działać. To naucz się żyć z blendingiem brzegów z przezroczystymi pikselami. Dokładnie, to jest ten sam problem co z blendingiem i interpolacją pikseli. Możesz spróbować shader napisać, który discardowałby Ci półprzezroczyste piksele. Ale żaden program do obróbki grafiki Ci tego nie naprawi, bo to nie w tym problem. E: GameMaker też ma opcję usuwania półprzezroczystych pikseli, opisane jest to tutaj: https://help.yoyogames.com/hc/en-us/articles/216754778-Optimizing-Your-Games Dokładniej chodzi o funkcje tj. draw_set_alpha_test, draw_set_alpha_test_ref_value
    1 punkt
Ten Ranking jest ustawiony na Warszawa/GMT+01:00
×
×
  • Dodaj nową pozycję...