Ice Cube Opublikowano 7 Sierpnia 2019 Udostępnij Opublikowano 7 Sierpnia 2019 Cześć dlaczego dookoła postaci pojawila sie dziwna smuga,przez te smuge widac wszystko co jest za scianami,gra jest 3d dodam tylko,ze postać wrzuciłem do edytora graficznego w gm i zacząłem gumować wszystko dookoła niej,by została sama postać uzywalem do tego gumki z ustawieniami hardness-255 max ,opacity 255 max co moze byc przyczyna? dzieki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 7 Sierpnia 2019 Udostępnij Opublikowano 7 Sierpnia 2019 Tak działa mieszanie pół-przezroczystych obiektów, jeżeli rysujesz je w pierwszej kolejności. Spróbuj ustawić sprite-owi niższy depth (np. -1), żeby najpierw rysować ściany. Możesz też wyłączyć interpolację, wtedy brzegi nie będą mieszać się z sąsiadującymi, przezroczystymi pikselami. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ice Cube Opublikowano 7 Sierpnia 2019 Autor Udostępnij Opublikowano 7 Sierpnia 2019 3 godziny temu, Konrad-GM napisał: Tak działa mieszanie pół-przezroczystych obiektów, jeżeli rysujesz je w odwrotnej kolejności. Spróbuj ustawić sprite-owi niższy depth (np. -1), żeby najpierw rysować ściany. Możesz też wyłączyć interpolację, wtedy brzegi nie będą mieszać się z sąsiadującymi, przezroczystymi pikselami. ja zrobic by nie były połprzezroczyste?, depth nic niedaje ;/,chyba,ze przydzielam depth obiektą nie tak jak trzeba interploracja musi byc ,bo za duzo pixeli a nie idzie nałożyc jakiegos filtru,jakos obrobic spritea w programie graficznym np. gimpie by pozbyc sie tej przezroczystosci? bo na innych obiektach tez mam z tym problem np. na dzwiach przebija troszke w samym SRODKU! nie na zewnatrz Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 7 Sierpnia 2019 Udostępnij Opublikowano 7 Sierpnia 2019 53 minuty temu, Ice Cube napisał: ja zrobic by nie były połprzezroczyste?, Usunąć kanał alpha ze spritów. Ale wtedy będą to kloce a nie kształtne babeczki. 53 minuty temu, Ice Cube napisał: depth nic niedaje ;/,chyba,ze przydzielam depth obiektą nie tak jak trzeba Źle przydzielasz depth, bo gdybyś odwrócił kolejność rysowania to powinno działać. 53 minuty temu, Ice Cube napisał: interploracja musi byc ,bo za duzo pixeli To naucz się żyć z blendingiem brzegów z przezroczystymi pikselami. 53 minuty temu, Ice Cube napisał: a nie idzie nałożyc jakiegos filtru,jakos obrobic spritea w programie graficznym np. gimpie by pozbyc sie tej przezroczystosci? bo na innych obiektach tez mam z tym problem np. na dzwiach przebija troszke w samym SRODKU! nie na zewnatrz 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 Cytuj Basically, if you have this value set to 0 and you have texture interpolation turned on, you can still get visual errors at the edges of overlapping objects. This is because you can have almost completely transparent areas that block things drawn behind them, but if you set this reference value to, for example, 254 (i.e. one below maximum), this guarantees that only 100% opaque pixels are going to be drawn. gnysek i Ice Cube 2 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ice Cube Opublikowano 8 Sierpnia 2019 Autor Udostępnij Opublikowano 8 Sierpnia 2019 17 godzin temu, Konrad-GM napisał: Źle przydzielasz depth, bo gdybyś odwrócił kolejność rysowania to powinno działać. jak poprawnie przydzielac depth ? -sciany betonowe -siatki ogrodzeniowe przez ktore widac -dzewa -postacie,wrogowie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 8 Sierpnia 2019 Udostępnij Opublikowano 8 Sierpnia 2019 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ń. Ice Cube 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się