Gość Diegtiariow Opublikowano 12 Listopada 2022 Zgłoś Udostępnij Opublikowano 12 Listopada 2022 Uniwersalne kompilatory poziomów x64 Oryginalne kompilatory poziomów: GSC Game World Poprawki kompilatora i paczka: SkyLoader Podziękowania: Abramcummer, K.D. Aktualna wersja: 1.3 Do pracy potrzebny jest Microsoft Visual C++ 2017 Redistributable x64. UWAGA: w danym kompilatorze domyślnie wyłączono statyczne światła i statyczne cienie słońca. Dla włączenia tych komponentów należy użyć odpowiedniego klucza, który jest w opisie kluczy. OPIS ZMIAN, KOMPILATORÓW I TROCHĘ PORAD: Spoiler Zestaw kompilatorów: Spoiler Kompilator geometrii [SoC, CS, CoP] Kompilator trawy [SoC, CS, CoP] Kompilator siatki AI [SoC, CS, CoP] Zbieracz spawnu [SoC, CS, CoP] Główne zmiany: Spoiler Wsparcie x64 Wsparcie podstawowych gier serii Wszystkie kompilatory zostały połączone w jedną aplikację Interfejs został w pełni przepisany w WinForms Dodano menu kompilatora, w którym można wybrać projekt poziomu, ustawić pewne konfiguracje i uruchomić kompilację Dodano system zapisów i wczytywania ustawień ostatnich projektów Liczby tworzonych wątków nie jest już ustalona. Zależy to od ilości rdzeni procesora Przejście na bibliotekę DirectXTex w celu zamiany przestarzałych FreeImage i nvDXT Usunięto błędy obliczeniowe parametrów oświetlenia RGB i Sun; pozostawiono tylko Hemi Przeprowadzono prace nad rozdzieleniem niektórych faz kompilacji na wątki i kodu zewnętrznych bibliotek Zintegrowano Discord Rich Presence w celu śledzenia statusu kompilacji na zdalnym PC Dodano możliwość automatycznego wyłączenia PC po kompilacji Wykonano pasek postępu na panelu zadań dla wyświetlenia stanu obecnej fazy kompilacji, gdy aplikacja jest zminimalizowana Dodano klucze dla przyspieszonej kompilacji poziomów w celach testowania Dodano eksperymentalne klucze dla wyłączenia niektórych faz kompilacji i ustawienia parametrów z pominięciem parametrów SDK Dodano podstawowe zmiany poprzednich kompilatorów Rozszerzono wyjście informacji o niektórych błędach Poprawiono niektóre wyloty oryginalnych kompilatorów Niektóre niuanse i porady: Spoiler Można nie ustawiać klucz -version. W takim wypadku wyjściowy format danych będzie następujący: dla poziomu z SoC SDK – SoC format, dla poziomu CS/CoP SDK – CoP format. Dla poziomów, zebranych przez SoC SDK, będzie automatycznie zastosowane SoC wygładzanie, co oznacza, że nie ma obowiązku używania klucza -nosmg (z wyjątkiem zmodyfikowanych SoC SDK, dodających grupy wygładzania). Na etapie wczytywania plików .thm najpierw następuje próba otwarcia pliku wzdłuż ścieżki $game_textures$ (gamedata\textures), jeśli jej nie ma – wzdłuż ścieżki $textures$ (rawdata\textures). Powinni to wziąć pod uwagę ludzie, pracujący z SoC. Dla częściowej poprawy często spotykanych problemów z pojawieniem się czarnych poligonów, zmieniono przesunięcie pozycji wiązki światła przy pieczeniu cieniowania od hemisfery. W związku z tym, przy modelowaniu geometrii budynków zalecane jest nie tworzyć two-side geometrii dla ścian (jak, np. w statkach na Zatonie), a zachować określoną ich grubość. Jeśli chcesz pozostawić geometrię jak jest, to można przywrócić przesunięcie pozycji wiązki światła na oryginalną wartość przy pomocy klucza -hemi_bias 0.001, ale wtedy ilość czarnych trójkątów będzie tak, jak przy użyciu starych kompilatorów. W wersji produkcyjnej wersji poziomu nie jest zalecane używanie klucza -skipthm, ponieważ z powodu brakujących tekstur i plików .thm na powierzchniach może nieprawidłowo wypalić się światło. Nie warto ustawiać Weld distance na 0. Czasami to prowokuje tworzenie krzywych fake'owych cieni od jakiejś geometrii. Lepiej ustawić małą wartość, ale więcej od 0. W przypadkach, kiedy na poziomie trzeba poprawić tylko kolizję poziomu lub rozstawić fake'i dla aktora, można użyć klucza -cform. Będzie się kompilowała tylko colision-geometria poziomu bez pieczenia oświetlenia, tym samym znacząco zmniejszy się czas kompilacji. Dla analizy tego, jak kompilator zmienił geometrię poziomu pod grę, można wspomóc się kluczami -saveobj_base, -saveobj_lmap i -saveobj_cform. Geometria zostanie zapisana w ścieżce temp\geom… do plików z rozszerzeniem .obj dla dalszego przeglądu ich 3D edytorze. Również klucz -saveobj_lmap może pomóc w ręcznym edytowaniu lightmap tekstur, jeśli na nich zostały wykryte problemy. OPIS KLUCZY: Spoiler Główne klucze: Spoiler W celu kompilacji geometrii poziomu: start bin\compilers_sky_x64\xrCompiler.exe -geometry -f nazwa_poziomu -version nazwa_wersji (shoc/cs/cop) W celu kompilacji detail'ów (trawy): start bin\compilers_sky_x64\xrCompiler.exe -details -f nazwa_poziomy -version nazwa_wersji (shoc/cs/cop) W celu kompilacji siatki AI: start bin\compilers_sky_x64\xrCompiler.exe -aispawn -f nazwa_poziomu -version nazwa_wersji (shoc/cs/cop) W celu kompilacji zebrania spawnu: start bin\compilers_sky_x64\xrCompiler.exe -aispawn -s nazwa_poziomu1,nazwa_poziomu2,nazwa_poziomu3 -out all Klucze do kompilacji geometrii: Spoiler -skipthm – nie przerywaj kompilacji, gdy brakuje tekstur i plików .thm -removeinvalid – nie przerywaj kompilacji przy znalezionych invalid faces i usuń je -skipinvalid – nie przerywaj kompilacji przy znalezionych invalid faces i pomiń je -tex_rgba – nie używać kompresji dla zapisanych tekstur -tex_bc7 – użyj kompresji BC7 dla zapisanych tekstur (format wspierany tylko na DX11) -silent – automatycznie zamknij aplikację po zakończeniu kompilacji -sleep – wyłącz komputer po zakończeniu kompilacji -nohemi – wyłącz oświetlenie hemi. Znacząco przyspiesza kompilację. Przeznaczony do testowania geometrii -underground – kompilować poziom jako podziemny. Przyspiesza kompilację -static – włączyć statyczne oświetlenie (nie działa z kluczem -nohemi) -cform – eksportować tylko kolizję poziomu -noise – wyłączyć tworzenie Progressive geometrii. Przyspiesza kompilację, ale nie tworzy uproszczonej geometrii dla poziomu i Multiple Usage obiektów -nosmg – nie używać grupy wygładzania -notess – wyłączenie teselacji geometrii -noweld – wyłączenie weldingu małych trójkątów -nomerge – pominąć fazę Merging geometry -nostrip – wyłączyć optymalizację i stripification geometrii -dx_opt – włączenie optymalizacji geometrii środkami D3DX optimizer zamiast NvTriStrip -gi – włączyć fazę Radiosity -no_mt_mu – nie włączać obliczenia/rozliczenia oświetlenia dla Multiple Usage obiektów równolegle do głównej kompilacji -high – bardzo wysoki priorytet dla wątków -saveobj_base – zapisać całą geometrię poziomu do plików .obj (podstawowa transformacja) -saveobj_lmap – zapisać całą geometrię poziomu do plików .obj (transformacja lightmap) -saveobj_cform – zapisać całą kolizję poziomu do pliku .obj -qual_draft – ustawić jakość sceny w Draft (nie wpływa na zastosowane shadery) -qual_high – ustawić jakość sceny w High (nie wpływa na zastosowane shadery) -ppm liczba – ustawić jakość lightmap zamiast wartości w SDK -weld_dist liczba – ustawić Weld distance zamiast wartości w SDK -hemi_bias liczba – ustawić przesunięcię pozycji wiązki światła przy użytym hemi (domyślnie: 0.1, w oryginale: 0.001) Klucze do kompilacji trawy: Spoiler -skipthm – nie przerywać kompilacji, gdy brakuje tekstur i plików .thm -silent – automatycznie zamknąć aplikację po zakończeniu kompilacji -sleep – wyłączyć komputer po zakończeniu kompilacji -nohemi – wyłączyć (pieczenie) oświetlenie hemi -static – włączyć (pieczenie) statyczne oświetlenie (nie działa z kluczem -nohemi) Klucze do kompilacji siatki AI: Spoiler -draft – nie obliczać ukrycia dla AI-siatki -verify – sprawdź AI-siatkę pod kątem błędów -noverbose – nie wyprowadzać informacji o pojedyńczych węzłach (z kluczem -verify) -skipthm – nie przerywać kompilacji, gdy brakuje tekstur i plików .thm -silent – automatycznie zamknąć aplikację po zakończeniu kompilacji -sleep – wyłączyć komputer po zakończeniu kompilacji Ogólne klucze do wszystkich kompilatorów: Spoiler -help – wywołanie informacji z listą wszystkich kluczy startowych -t liczba – ustawić ilość wątków dla wielowątkowych operacji (nie działa z kluczem -tbb) -fsltx nazwa_pliku – użyć swój .ltx zamiast fsgame.ltx. -log_name nazwa_pliku – stworzyć plik logu z daną nazwą. Przydatne dla kompilacji lokacji kolejno -discord – włączyć Discord Rich Presence z wyprowadzeniem nazwy poziomu i statusu kompilacji -discord_s – włączyć Discord Rich Presence z wyprowadzeniem tylko statusu kompilacji -tbb – uzyć wielowątkowości TBB (nie jest zalecane) Przykłady plików .bat: Spoiler Przyspieszona kompilacja poziomu dla testowania geometrii bez "upieczonego" oświetlenia: start bin\compilers_sky_x64\xrCompiler.exe -geometry -f zaton -nohemi -noise start bin\compilers_sky_x64\xrCompiler.exe -details -f zaton -nohemi start bin\compilers_sky_x64\xrCompiler.exe -aispawn -f zaton -draft Kompilacja podziemnego poziomu, całkowicie zamkniętego geometrią nosun: start bin\compilers_sky_x64\xrCompiler.exe -geometry -f labx8 -underground Kompilacja tylko kolizji: start bin\compilers_sky_x64\xrCompiler.exe -geometry -f zaton -cform Kompilacja lokacji kolejno z ostatnią instrukcją wyłączenia PC: start /wait bin\compilers_sky_x64\xrCompiler.exe -geometry -f zaton -log_name zaton_geometry -silent start /wait bin\compilers_sky_x64\xrCompiler.exe -details -f zaton -log_name zaton_detail -silent start /wait bin\compilers_sky_x64\xrCompiler.exe -aispawn -f zaton -log_name zaton_aimap -silent start /wait bin\compilers_sky_x64\xrCompiler.exe -geometry -f jupiter -log_name jupiter_geometry -silent start /wait bin\compilers_sky_x64\xrCompiler.exe -details -f jupiter -log_name jupiter_detail -silent start /wait bin\compilers_sky_x64\xrCompiler.exe -aispawn -f jupiter -log_name jupiter_aimap -silent -sleep SCREENY: Spoiler LINKI DO POBRANIA: Spoiler Wersja 1.3: Google Drive: https://drive.google.com/file/d/1HQkX-yF0zU9dIjWpooPFqztEbiwT-Sek/view Yandex: https://disk.yandex.ru/d/QdLcvEyYJKEZyQ Wersja 1.2: Google Drive: https://drive.google.com/file/d/1Z3Ht7i8ik_fP0K4PmwulgycApebAv7dW/view Yandex: https://disk.yandex.ru/d/EnO0rVAzOD3pnw Wersja 1.1: Google Drive: https://drive.google.com/file/d/1ZR8bnMkTGqFiZgGE7DtHCRYfSgj0GrPz/view Yandex: https://disk.yandex.ru/d/D2BonH03dGrWGg Wersja 1.0: Google Drive: https://drive.google.com/file/d/1npIDqoizxV9oB7A_E7Hi23ilh5rqWvQn/view Yandex: https://disk.yandex.ru/d/h3VUbD0wkxZ5hA ŹRÓDŁO: ap-pro.ru Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.