Wytłumacznie mi jedno. Dlaczego w grach wojennych nie ma porządnie zrobionego dymu. Chodzi mi o taki gruby, gęsty, czarny dym po zniszczeniu pojazdu. Rozumiem argument że symulacja dymu wymaga dużo mocy obliczeniowej ale mi nie chodzi nawet o symulacje. #!$%@?ć te badziewne sprity 2D (który my mamy wiek lol) i wrzucić kilka prerenderowanych efektów dymu. I tak wszelakie wybuchy pojazdów dzieją się na otwartym powietrzu. Zniszczony czołg, BWP, robzbity samolot/helikopter, cysterna... just use prerendered dym #!$%@? bo wszystkie te efekty jakie widzę to jest płaska blada dupa. #gry #grafikakomputerowa #gamedev
@GrzegorzPorada: Tak, używa się flipbooków (tzn. prerenderowanych sekwencji obrazów) jak pic rel. Nie wiem dlaczego mówisz, że nie.¯\_(ツ)_/¯
Tylko: Jeden taki flipbook Zajmuje dużo pamięci na tekstury i pozwala Ci na zachowanie niewielu klatek. Np tekstura, 4k, podzielona na klatki po 1k da Ci zaledwie 16 takich klatek. Tak, możesz blendować poszczególne klatki mędzysobą, ale i tak to dosć dużo zasobów tekstury jak na prosty efekt.
@Gorion103: Dzięki za obszerne wyjaśnienie, ale chyba wciąż nie mówimy o tym samym. Te sekwencje które wysłałeś są wyrenderowane 3D ale wyjściowo w grze to jest efekt 2D. Ja mówię o użyciu bezpośrednio animacji 3D w grze, modelu który już był zasymulowany, zapisany i wyświetlany w pełni 3D. Czyli powiedzmy ten model (z dołączonego zdjęcia + animowany) i dodanie na nim shaderów. https://youtu.be/Qj_tK_mdRcA Wiem że użycie jest ograniczone ale tak jak
@Gorion103: Ja też się #!$%@? znam ale wydaje mi się że taki prerenderowany 3D model dymu nie miałby więcej poligonów niż model współczesnych avatarów w grach, więc problem zużycia zasobów pomijalny.
@GrzegorzPorada: To teraz wyobraź sobie, że skoro rozmiary tekstury 2d stanowią pewien problem, to co będzie z teksturą 3D. Plik vdb symulacji z pic rel, która ma 131 klatek zajmuje 750 MB. Da się zredukować liczbę klatek, da się zredukować znacznie rozdzielczosć (i dodać tileowany/generyczny noise), ale i tak wielkosć pliku, a co gorsza wczytanej do pamięci symulacji w pamięci będzie bardzo duża.
@Gorion103: No włąśnie widać że nie wciąż nie rozumiesz o czym ja mówię. Mówię o przekonwertowaniu symulacji dymu (cząsteczek) na model z poligonów, po czym ten właśnie animowany model użyć w grze. Bez stosowania tekstur, wystarczy shader chmury (który dałem jako przykład jak mogłoby to wyglądać). Połowa z rzeczy o których mówisz w ogóle by odpadła. Czyli wyobraź sobie animowany model dymu z poligonów i dodanie na nim shaderu czarnej chmury.
@GrzegorzPorada: Yyy. Ale dym nie jest samą powierzchnią, tylko jest volumetryczny. Na wierzchu jest rzadki, w środku gęsty, gorący, świecący itp. Meshem otrzymasz samą skorupę (lub kilka warstw skorup).
(cząsteczek)
Symulacji dymu raczej nie robi się na cząsteczkach
animowany model
Ale z klatki na klatke to będzie musiałby być całkowicie inny mesh, bo geometria by sie drastycznie zmieniała. Nie będzie sie dało tego interpolować (tzn jak masz 60 fps, to animować
@GrzegorzPorada: Prędzej będziemy volumetryczne animacje, albo nawet symulacje za pomocą cząsteczek albo voxelowe w RT jak w Embergen (soft do tworzenia symulacji wybuchów, vid rel)
@Gorion103: Ten ostatni gif wydaje się być najbliżej tego jakbym to widział. Nie rozumiem jaki problem dodać anisotropic scattering na model. Nie rozumiem też jaki problem byłby w zmieniającej się geometrii.
Że znajomymi ostatnio gadałem o sraniu i wyszlo ze jako jedyny na stojąco dupe podcieram myślałem że to normalne Jak podcieracie swoje dupska? #gownowpis #pytanie
https://www.turbosquid.com/pl/3d-models/3d-smoke-pack-25-1491997
Nie wiem dlaczego mówisz, że nie.¯\_(ツ)_/¯
Tylko:
Jeden taki flipbook Zajmuje dużo pamięci na tekstury i pozwala Ci na zachowanie niewielu klatek.
Np tekstura, 4k, podzielona na klatki po 1k da Ci zaledwie 16 takich klatek. Tak, możesz blendować poszczególne klatki mędzysobą, ale i tak to dosć dużo zasobów tekstury jak na prosty efekt.
Dobrze wygląda tylko od
Wiem że użycie jest ograniczone ale tak jak
Plik vdb symulacji z pic rel, która ma 131 klatek zajmuje 750 MB. Da się zredukować liczbę klatek, da się zredukować znacznie rozdzielczosć (i dodać tileowany/generyczny noise), ale i tak wielkosć pliku, a co gorsza wczytanej do pamięci symulacji w pamięci będzie bardzo duża.
A do tego dochodzi jeszcze bardzo drogie
@GrzegorzPorada: modele dymu nie renderuje sie z polygonów, sobacz sobie filmik ten co wrzuciłeś :P
Meshem otrzymasz samą skorupę (lub kilka warstw skorup).
Symulacji dymu raczej nie robi się na cząsteczkach
Ale z klatki na klatke to będzie musiałby być całkowicie inny mesh, bo geometria by sie drastycznie zmieniała.
Nie będzie sie dało tego interpolować (tzn jak masz 60 fps, to animować