Tekstury, pliki i paczki · 3 min czytania
Jak dodać mipmapy do YTD: różowe lub migoczące tekstury z bliska
Czytaj w języku: English · Español · Français · Deutsch · Português · Italiano · Türkçe · Русский
Tekstura zwykle ma mipmapy: mniejsze kopie samej siebie, każda o połowę mniejsza od poprzedniej. Gra rysuje pełną teksturę z bliska, a mniejsze kopie z daleka, co jest tańsze i wygląda gładziej. Niektóre eksportery zapisują tekstury tylko z pełnym poziomem, a w FiveM może to wyglądać jak model, który z bliska jest różowy lub rozmazany albo migocze z daleka.
Dlaczego tekstura bez mipmap sprawia kłopot
Prawie wszystko w grze ma mipmapy. Przejrzeliśmy 1500 plików .ytd GTA V: z ich 3534 tekstur kolorów tylko 65 ma jeden poziom, a tylko 2 z nich są większe niż 64 piksele, obie to emblematy pojazdów. Tekstury, które gra zostawia na jednym poziomie, robi to celowo: palety tint, render targety skryptów (script_rt_…), mapy wody, emblematy i niektóre obrazy interfejsu.
Gra nie ma jak zmniejszyć tekstury bez mniejszych poziomów. Gdy zabraknie pamięci tekstur, najprawdopodobniej będzie różowa lub rozmazana, z bliska będzie nagle się pojawiać, a z daleka migotać. Dokładnie to zobaczyliśmy u addonowego peda jednego z klientów: z bliska w grze był różowy, mimo że wszystkie tekstury były na miejscu. Jego tekstura ciała to 2048 × 2048 DXT5 zapisana z jednym poziomem.
Mipmapy kosztują około jednej trzeciej więcej pamięci niż sam pełny poziom. To normalna cena i płacą ją wszystkie tekstury samej gry.
Znajdź tekstury bez mipmap
Trzy narzędzia je wymieniają według tej samej reguły (jeden poziom, ponad 64 piksele i nie jest to rodzaj, który gra trzyma na jednym poziomie):
- Missing Textures Check: cały zasób; sekcja Size and format wymienia tekstury bez mipmap.
- Asset Optimizer: przeciągnięte pliki, z napisem "N textures with no mipmaps" (N tekstur bez mipmap) przy każdym.
- Model Inspector: jeden model i jego
.ytd, z sekcją No mipmaps.
Odbuduj je z mipmapami
- Przeciągnij
.ytddo Asset Optimizer razem z modelami, które go używają (.ydr,.yft,.ydd). Z modelami obok mapy normalne są rozpoznawane po tym, jak modele ich używają. - Zostaw zaznaczone Add missing mipmaps (domyślnie jest włączone).
- Wybierz Largest texture size (największy rozmiar tekstury). Tekstury większe są sprowadzane do tego rozmiaru; pozostałe zachowują swój rozmiar (zaokrąglony do potęgi dwójki) i dostają tylko mipmapy.
- Kliknij Download the lighter files (.zip) i wstaw pliki z powrotem do
stream/pod tymi samymi nazwami. - Przeczytaj What was done to each texture (co zrobiono z każdą teksturą): jedna linia na teksturę, z rozmiarem i formatem przed i po.

.ytd z sześcioma teksturami zapisanymi bez mipmap, po przebiegu: każda odtworzona wraz z poziomami.Każda odbudowana tekstura dostaje wszystkie poziomy aż do 4 pikseli. Skompresowane tekstury kolorów stają się DXT1, gdy żaden piksel nie jest przezroczysty, i DXT5, gdy jakieś są (nieskompresowane pozostają nieskompresowane). Mapy normalne zostają mapami normalnymi i na każdym poziomie są ponownie normalizowane do długości jednostkowej. Palety, render targety i pozostałe rodzaje z jednym poziomem zostają nietknięte, a formaty, których narzędzie nie umie odbudować (np. BC7), zostają takie, jakie są, z notatką.
Texture Editor nie jest tu właściwym narzędziem: zmniejsza i zastępuje tekstury, ale nie dodaje mipmap do tekstury, którą zostawiasz bez zmian. Tekstura zastąpiona tam wraca z mipmapami.
Sprawdź w grze
Gracze trzymają stary .ytd, dopóki się nie połączą ponownie, więc dołącz do serwera zamiast tylko restartować zasób. Potem obejrzyj model z bliska i z daleka.
Pytania
- Czy każda tekstura powinna mieć mipmapy?
- Prawie każda w GTA V je ma. Wyjątkami są tekstury, które gra celowo trzyma na jednym poziomie (palety tint, render targety skryptów, mapy wody), a narzędzia zostawiają je w spokoju.
- Czy mipmapy powiększają moje pliki?
- O około jedną trzecią. Jeśli przez to plik przekroczy ostrzeżenie FiveM 16 MiB, jednocześnie obniż największy rozmiar tekstury.

Narzędzie do tego
Asset Optimizer
Przeciągnij swoje pliki stream: tekstury bez mipmap je odzyskają, za duże zostaną sprowadzone do wybranego rozmiaru, a każdy plik zachowa swoją nazwę.
Otwórz Asset OptimizerPrzydatne także tutaj: Missing Textures Check · Model Inspector

