Jak zmniejszyć rozmiar pliku GLB
Zacznij od porównania kilku kontrolowanych eksportów. Rozmiar pliku i liczba trójkątów opisują różne rzeczy: ta sama siatka może mieć małą teksturę lub kilka dużych obrazów. Ten przewodnik pomoże Ci zdecydować, co zmienić w pierwszej kolejności; połączone przewodniki dotyczą poszczególnych ustawień.
1. Zapisz linię bazową
Zachowaj oryginał GLB. Uruchom ustawienie wstępne Konserwatywne bez zmniejszania trójkątów i konwertowania tekstur, a następnie zapisz wynik i polecenie. Zapisz liczbę bajtów i trójkątów w obu plikach. Zawsze rozpoczynaj późniejsze próby od oryginału, aby móc przypisać każdą różnicę zmienionemu ustawieniu.
2. Porównaj kompresję geometrii przed usunięciem szczegółów
Wypróbuj ustawienie wstępne Mniejszy plik z oryginalnymi teksturami. Umożliwia kompresję Meshopt bez żądania redukcji trójkątów. Jeśli daje to wystarczające oszczędności, a Twoja przeglądarka obsługuje rozszerzenia wyjściowe, być może nie będziesz musiał w ogóle zmniejszać trójkątów.
| Próbka tętnienia | Rozmiar pliku (w bajtach) | Trójkąty |
|---|---|---|
| Oryginalny | 186,756 | 8,192 |
| Konserwatywne ustawienie | 119,120 | 8,192 |
| Mniejsze ustawienie wstępne pliku | 39,248 | 8,192 |
W pomiarach tych wykorzystano naszą oryginalną próbkę tętnienia CC0 i natywną próbkę gltfpack 1.3. Jego tekstura ma wymiary zaledwie 16×16 pikseli, więc ilustruje głównie kompresję geometrii. Liczba trójkątów w obu eksporcie pozostała niezmieniona; nie oznacza to, że optymalizator zachował wszystkie inne właściwości.
3. Sprawdź, czy dominują tekstury
Drugie urządzenie wykorzystuje tę samą geometrię z wygenerowanym 1024 × 1024 PNG. Zaczyna się od 3 061 644 bajtów. Meshopt z niezmienionym PNG daje 2 914 152 bajtów; zmiana tylko wyjściowej tekstury na WebP przy jakości 8 daje 445 632 bajtów. Wszystkie trzy pliki zawierają 8192 trójkątów.
W przypadku tego urządzenia zmiana tekstury miała znacznie większe znaczenie niż kompresja siatki. To przykład diagnostyczny, a nie oczekiwana oszczędność dla każdego modelu. Zdjęcie, zwykła mapa i płaskie logo będą kodowane inaczej.
Wybierz ustawienia kompresji tekstur →
4. Zatrzymaj się na wyniku, z którego może skorzystać Twoja aplikacja
Porównaj model w zamierzonej odległości oglądania, a następnie przetestuj ładowanie na reprezentatywnym urządzeniu. Mniejsze pobieranie nie oznacza automatycznie mniejszego zużycia pamięci GPU lub szybszego renderowania. Zachowaj najmniejszą wersję, która spełnia Twoje wymagania dotyczące wyglądu i zgodności.
Zmniejsz trójkąty, gdy geometria jest nadal zbyt gęsta →
Zdiagnozuj wynik, który stał się większy →
Odniesienie do silnika: gltfpack
Otwórz optymalizator ↗