PRZED WYSYŁKĄ

Kompresja GLB i zgodność z przeglądarkami modeli

Rozszerzenie pliku GLB nie gwarantuje, że każda aplikacja będzie mogła załadować jego zawartość. Sprawdź rozszerzenia używane przez dane wyjściowe i przetestuj miejsce docelowe.

Dopasuj ustawienia do swojego modułu ładującego

UstawienieWymóg ładowania
ZachowawczyWsparcie kwantyzacji geometrii; można również zastosować transformacje tekstur.
Standardowy/wysoki MeshoptEXT_meshopt_compression obsługa dekodera.
Tekstury KTX2KHR_texture_basisu i transkoder Basis.
Tekstury WebPEXT_texture_webp i dekodowanie WebP.

Wymagania te można łączyć. Panel wyników wyświetla informacje o zgodności danych wyjściowych. Nasza wersja zapoznawcza zawiera dekodery, więc pomyślny podgląd nie oznacza, że ​​Twoja aplikacja ma je skonfigurowane.

Presety domyślnie korzystają z kwantyzacji geometrii. Wyłączenie tej opcji może usunąć wymagania dotyczące kwantyzacji geometrii, ale Meshopt lub skonwertowane tekstury nadal wymagają odpowiednich programów ładujących. Sprawdź raportowane rozszerzenia, aby uzyskać rzeczywisty wynik.

Korzystanie z Three.js

Skonfiguruj dekoder Meshopt poprzez GLTFLoader.setMeshoptDecoder() dla skompresowanej geometrii. Dla KTX2 skonfiguruj a KTX2Loader, wykryj obsługę modułu renderującego i podłącz ją setKTX2Loader(). Udostępnij pasujące zasoby transkodera w swojej aplikacji. Skonsultuj się z Dokumentacja GLTFLoadera i Dokumentacja KTX2Loadera dla Twojej wersji.

Przykład: oryginał jest ładowany, ale eksport mniejszego pliku nie

Zachowaj oryginalne tekstury i dwukrotnie wyeksportuj to samo źródło: raz za pomocą pliku Conservative i raz za pomocą mniejszego pliku. Jeśli w aplikacji nie działa tylko drugi plik, przed zmianą ustawień geometrii sprawdź zgłoszone rozszerzenia i błąd modułu ładującego. Porównanie to zawęża problem do zmienionych wymagań dotyczących obciążenia; nie dowodzi to, że każda awaria to brakujący dekoder.

Aby uzyskać wynik EXT_meshopt_compression w Three.js, zarejestruj MeshoptDecoder przed załadowaniem. Następnie spróbuj ponownie użyć tego samego wyeksportowanego pliku. Ponowny eksport z wyłączoną kompresją jest rozwiązaniem awaryjnym, gdy nie można zmienić miejsca docelowego, kosztem potencjalnie większego pobrania.

Przykład: oryginalne tekstury działają, ale po wdrożeniu KTX2 nie działa

Zachowaj stałe ustawienia geometrii i porównaj oryginalne tekstury za pomocą KTX2. W przypadku aplikacji Three.js sprawdź, czy aplikacja KTX2Loader jest podłączona i aplikacja detectSupport została uruchomiona. Sprawdź żądania dotyczące base_transcoder.js i base_transcoder.wasm. Odpowiedź 404 lub strona aplikacji HTML zwrócona pod tymi adresami URL wskazuje na dostarczenie zasobów, a nie na jakość tekstur.

Przetestuj ponownie to samo wyjście KTX2 po naprawieniu modułu ładującego lub ścieżki zasobu, w tym na docelowym urządzeniu mobilnym. Plik ładowany w podglądzie tej witryny przeszedł konfigurację tej przeglądarki; Twoja przeglądarka produkcyjna musi nadal spełniać swoje własne wymagania dotyczące ładowania.

Nazwy, extras i zachowanie sceny

Domyślnie włączone są trzy przełączniki zachowywania. Pozostaw je włączone, gdy aplikacja znajdzie obiekty lub materiały według nazwy lub wyświetli extras. Nie obiecują identycznych indeksów węzłów, hierarchii, próbek animacji ani niestandardowych atrybutów. Optymalizacja może łączyć lub reorganizować dane i zmieniać precyzję.

Wybór testowy, zmiany materiałów, odtwarzanie animacji, cele przekształcania i transformacje obiektów w rzeczywistej aplikacji. Zachowanie extras nie jest sposobem na zachowanie dowolnych niestandardowych rozszerzeń.

Ograniczenia wejściowe

Ta usługa odrzuca dane wejściowe skompresowane w formacie Draco, zasoby zewnętrzne i nieobsługiwane wymagane rozszerzenia. Nieznane opcjonalne rozszerzenia można odrzucić. W razie potrzeby wyeksportuj nieskompresowany, osadzony zasób GLB z aplikacji źródłowej.

Aby zapoznać się z listą rozszerzeń silnika i zachowaniem optymalizacyjnym, zobacz wcześniejsza dokumentacja gltfpack. Usługa internetowa stosuje dodatkowe limity walidacji i zasobów.

Załaduj modele gltfpack do Three.js →

Otwórz optymalizator ↗