Jak zmniejszyć rozmiar pliku GLB

Porównaj kilka eksportów, zmieniając jedno ustawienie naraz. Sama liczba trójkątów nie wyjaśnia rozmiaru pliku: ta sama siatka może mieć małą teksturę lub kilka dużych obrazów. Zacznij od kompresji geometrii, a jeśli plik nadal jest za duży, sprawdź ustawienia tekstur.

1. Zapisz punkt odniesienia

Zachowaj oryginalny GLB. Uruchom profil Zachowawczy bez redukcji trójkątów i konwersji tekstur, a potem zapisz wynik i polecenie. Zanotuj bajty oraz trójkąty obu plików. Następne próby zawsze zaczynaj od oryginału, aby przypisać każdą różnicę zmienionemu ustawieniu.

2. Porównaj kompresję geometrii przed usuwaniem detali

Wypróbuj profil Mniejszy plik z oryginalnymi teksturami. Włącza Meshopt bez żądania redukcji trójkątów. Jeśli oszczędność wystarczy, a przeglądarka modeli obsługuje rozszerzenia wyniku, redukcja trójkątów może wcale nie być potrzebna.

Falisty model przykładowyRozmiar pliku (bajty)Trójkąty
Oryginał186 7568 192
Profil Zachowawczy119 1208 192
Profil Mniejszy plik39 2488 192

Pomiary używają naszej oryginalnej falistej próbki CC0 i natywnego gltfpack 1.3. Tekstura ma tylko 16 × 16 pikseli, więc przykład pokazuje głównie kompresję geometrii. Liczba trójkątów nie zmieniła się w obu eksportach; nie oznacza to zachowania wszystkich innych właściwości.

3. Sprawdź, czy dominują tekstury

Druga próbka ma tę samą geometrię i jeden wygenerowany PNG 1024 × 1024. Początkowo zajmuje 3 061 644 bajty. Meshopt z niezmienionym PNG daje 2 914 152 bajty; zmiana tylko tekstury na WebP z jakością 8 daje 445 632 bajty. Wszystkie trzy pliki mają 8192 trójkąty.

W tym przykładzie zmiana tekstury dała znacznie więcej niż kompresja siatki. To przykład diagnostyczny, nie oczekiwana oszczędność dla każdego modelu. Zdjęcie, mapa normalnych i płaskie logo kodują się inaczej.

Wybierz ustawienia kompresji tekstur →

4. Zatrzymaj się na wyniku użytecznym w aplikacji

Porównaj model z docelowej odległości, a potem przetestuj ładowanie na reprezentatywnym urządzeniu. Mniejszy transfer nie oznacza automatycznie mniejszego użycia pamięci GPU ani szybszego renderowania. Zachowaj najmniejszą wersję spełniającą wymagania wyglądu i zgodności.

Redukuj trójkąty, gdy geometria nadal jest zbyt gęsta →

Znajdź przyczynę większego wyniku →

Dokumentacja silnika: gltfpack

Otwórz optymalizator ↗