Cities Skylines - Polskie forum gry

Pełna wersja: ProceduralObject 1.7.2 - problem z przenikaniem warstw
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam was, czy ktoś mógłby mi wyjaśnić na czym polega problem że podczas nakładania warstw  (przykład droga i chodnik)
warstwy sie przenikają w zaleźności od ustawiania kamery 
podaje poniżej przykład

raz tak   https://prnt.sc/19k2080

a raz tak   https://prnt.sc/19k3ba2


wystarczy że lekko ruszę kółkiem aby przybliżyć lub oddalić obraz lub zmienie kąt (choć nie muszę) kamery


i nie jest to kwestia dystansu renderowania gdyż to już sprawdzałem




będzę wdzięczny za pomoc
W skrócie, bufor głębi (z-buffer) ma zbyt małą rozdzielczość. Więcej info: https://en.wikipedia.org/wiki/Z-fighting
Witaj, dzięki za info, jak rozumiem jest to problem ogólny.
Ale powiedz, czy na tym konkretnym przykładzie w tej konkretnej grze jest jakaś metoda która pozwala rozwiązać ten problem ?
Szukałem sporo po YT tutoriali ale nigdzie dokładnie nie zobaczyłem jak to zniwelować,
na jednym tutorialu Akuras jeden z bardziej znanych paiterów w tym filmiku
https://youtu.be/9EOvCctxFXU?t=321
liznął temat, pokazując problem i wspomniał że do tego wróci, ale nie wrócił Smile
W normalnych warunkach można byłoby pokombinować z wysokością obiektów, problem w tym że to są naklejki (decale).

W przypadku normalnych obiektów, powiedzmy, że jest nim sześcian/kostka, tekstury są renderowane na zewnętrznych ściankach (najpopularniejsze użycie). 

Jeśli chodzi o decale/naklejki to spawa jest bardziej skomplikowana. 
Aby wyrenderować teksturę naklejki gra generuje niewidzialny sześcian o niewielkiej wysokości i tekstura jest renderowana wewnątrz, rzutem z góry, na każdym obiekcie który "przecina" wnętrze tego niewidzialnego sześcianu - używany jest bufor głębi - tekstura zawierająca informacje o odległości nieprzezroczystych obiektów do "oka kamery". 

Reszta jest nieźle wytłumaczona w tym filmiku z linku.

Jeśli chodzi o fix to niewiele można zrobić, no chyba, że ktoś zamierza poprawić shader - choć właściwie to trzeba byłoby napisać nowy, bo nie da się ich dekompilować a kodu źródłowego nie ma.
Wiem że Decal to jest sześcian a nie płaska tekstura, właśnie akuras to dokładnie wyjaśnił tam.
Próbowałem zmniejszać głębe za pomocą procedural object ale niewiele to daje zresztą jak widzisz to raz jest dobrze wyświetlane a raz źle, niezależnie jak wypłaszczę głębie decala.

no nic będę jeszcze kombinował jak uda mi się coś wykombinować to dam znać, chyba że ktoś jeszcze zna jakiś trick na to który się sprawdza