[Radiant] Optymalizacja map

Zaglądnij tutaj, jeśli masz pytania lub uwagi dotyczące różnorodnych aspektów tworzenia misji w edytorach DromEd i T3Ed, jak też związanego z nimi oprogramowania i sprzętu.

Moderator: peter_spy

Awatar użytkownika
Dziarsky
Garrett
Posty: 4861
Rejestracja: 02 listopada 2003, 12:26
Lokalizacja: Gliwice
Kontakt:

[Radiant] Optymalizacja map

Post autor: Dziarsky »

Zastanawiam się czy Doom3 posiada optymalizację map pod kątem wydajności sprowadzająca się do wyłączania z renderingu tego na co gracz aktualnie nie patrzy i nie ma dostępu w grze.

Czy można ręcznie przyłożyć się do takiej optymalizacji? albo przynajmniej podglądnąć ją za pomocą komendy z konsoli?
(HL2 ma komendę w konsoli, która pozwala nam widzieć cały szkielet mapy i obserwować co, gdzie i kiedy znika).


Pytam się bo moja mapka zaczęła się ślimaczyć w momencie gdy jestem obrócony w kierunku miejsca gdzie znajduje się większość mapy. FPS ma prawo się wahać ale z 60 na 12 to spadek raczej zbyt duży.
Obrazek
Awatar użytkownika
Juliusz
Złodziej
Posty: 2776
Rejestracja: 04 stycznia 2004, 11:28
Lokalizacja: Dublin
Kontakt:

Re: [Radiant] Optymalizacja map

Post autor: Juliusz »

Tutaj znajdziesz interesujące Cię informacje.
http://www.modwiki.net/wiki/Optimising_maps

Generalnie od tego są właśnie visportale. Gdzieś widziałem fajny artykuł wyjaśniający ich działanie - działa to m.w. tak, że portale dzielą mapę na obszary. Wpierw rysowany jest obszar, w którym jest gracz. Następnie silnik sprawdza, czy widać portale do przylegających obszarów - jak tak, to je rysuje, jak nie, to pomija. Później patrzy czy poprzez portal z pierwszego obszaru widać portale do kolejnych przylegających obszarów itp. itd. - sprytne, bo w ogóle pomija w obliczeniach geometrię. Gdybym tylko znalazł tą stronkę... tam to fajnie było pokazane.
Awatar użytkownika
Dziarsky
Garrett
Posty: 4861
Rejestracja: 02 listopada 2003, 12:26
Lokalizacja: Gliwice
Kontakt:

Re: [Radiant] Optymalizacja map

Post autor: Dziarsky »

Juliusz pisze:Generalnie od tego są właśnie visportale.
Vis portale znam. Np. HL2 dzieli mapę automatycznie i robi to całkiem nieźle. Dodatkowo można modelom nadać znikanie z odległością. Wprowadzanie swoich własnych stref jest raczej ciężkie.
W Doom3 jeszcze tego nie rozszyfrowałem a i budowanie większości z brushy zmusza zapewne do innego optymalizowania.

Juliusz pisze:Tutaj znajdziesz interesujące Cię informacje.
http://www.modwiki.net/wiki/Optimising_maps
ps. Strona jest po angielsku i ciężko mi jest zrozumieć te dosyć techniczne teksty. Postaram się sobie z tym poradzić.

[ Dodano: 4 Grudzień 2006 ]
Uch te visportale w Doom3 na szczęście działają, że aż się dymi :). Oczywiście znajdą się momenty, gdy ciężko będzie to dobrze zastosować ale nie jest, źle. Jest świetnie.

Strzelę mały tutorial.

Kod: Zaznacz cały

visPortale to brushe, którymi dzielimy mapę na części a gra automatycznie te części ładuje, gdy się przemieszczamy między tymi podziałami. Czyli w grze załadowane jest to co widzimy co bardzo oszczędza możliwości obliczeniowe komputera.

Na mapie stawiamy brush oteksturowany common\caulk i przylegający do "światła" danego miejsca czyli zamykający przestrzeń czy też potocznie mówiąc ścianę zamykającą przejście w korytarzu.

Przy pomocy klawiszy Ctrl+Shift+Lewy myszy zaznaczamy powierzchnię po dwóch stronach naszego brusha i nadajemy im texturę editor\visportals.

Jeśli teraz zastosujemy taki brush np. we wszystkich futrynach drzwi czy za zakrętami w korytarzach to gra będzie nam ładować tylko to co aktualnie widzimy + ciut więcej na zapas a same visportale nie będą widoczne.
Pojawia się tylko jeden problem. visPortale są przez elementy mapy kojarzone jako ściany i nie "przewodzi" jakich elementów jak path-pointy dla chodzących postaci itp.
W niektórych przypadkach to moze być nawet spory problem.
Obrazek
ODPOWIEDZ