Jak zbudować konfigurator 3D produktu w Babylon.js, który ładuje się szybko i przekazuje konfigurację do koszyka?
Poradnik budowy konfiguratora 3D produktu w przeglądarce na Babylon.js: przygotowanie modeli glTF, warianty materiałów, kompresja geometrii i tekstur, WebGL i WebGPU, wydajność strony i przekazanie konfiguracji do koszyka.
Konfigurator 3D w przeglądarce składa się z trzech części: modeli produktu, silnika renderującego i logiki konfiguracji połączonej z koszykiem. Do konfiguratora w Babylon.js modele najlepiej przygotować w formacie glTF 2.0. Warianty kolorów i materiałów można zapisać w jednym pliku dzięki rozszerzeniu KHR_materials_variants, a rozmiar plików zmniejszyć kompresją geometrii (Draco, Meshopt) i tekstur (KTX2 z Basis Universal). Babylon.js obsługuje WebGL i WebGPU, przy czym WebGPU według MDN nie działa jeszcze we wszystkich popularnych przeglądarkach. Reguły, które opcje się wykluczają, i cena konfiguracji powinny pochodzić z tego samego źródła co koszyk, a nie z kodu sceny 3D.
Krótka odpowiedź
Źródła sprawdzone 13 listopada 2026.
Ten poradnik jest dla osoby, która planuje konfigurator 3D produktu w sklepie internetowym albo na stronie producenta i chce zrozumieć, z czego składa się warstwa 3D, zanim zamówi projekt. Opisuje przygotowanie modeli, wydajność, przeglądarki i połączenie z koszykiem.
Odpowiedź w skrócie: o jakości konfiguratora decydują modele i ich przygotowanie, a nie sam silnik. Babylon.js daje gotowy loader glTF, obsługę wariantów materiałów i narzędzia optymalizacji sceny, ale reguły konfiguracji i ceny muszą być przechowywane poza sceną, w systemie, który obsługuje zamówienie.
1. Z czego składa się konfigurator 3D
Konfigurator to więcej niż obracany model. Zanim powstanie wycena, rozdziel odpowiedzialność między elementy:
| Element | Za co odpowiada | Gdzie się znajduje |
|---|---|---|
| Modele 3D | Geometria, materiały i warianty produktu | Pliki glTF lub GLB na serwerze plików |
| Scena | Kamera, światło, interakcja i przełączanie wariantów | Babylon.js w przeglądarce |
| Reguły konfiguracji | Które opcje są dostępne i które się wykluczają | Silnik reguł lub system CPQ |
| Cena i koszyk | Cena konfiguracji, dostępność i zamówienie | Platforma e-commerce i ERP |
Taki podział pozwala zmieniać modele bez ruszania reguł cenowych i odwrotnie. Gdy reguły są zapisane tylko w kodzie sceny, każda zmiana oferty wymaga pracy programisty 3D.
2. Modele: glTF 2.0 zamiast plików z CAD
Pliki z programów CAD opisują produkt do produkcji, z dokładnością i liczbą detali, których przeglądarka nie potrzebuje. Do konfiguratora model trzeba uprościć i wyeksportować do formatu przeznaczonego do wyświetlania.
Takim formatem jest glTF 2.0, opisany w specyfikacji glTF 2.0 organizacji Khronos. Plik zawiera geometrię, materiały oparte na fizycznym modelu oświetlenia (PBR), tekstury i hierarchię elementów, a wersja binarna GLB mieści to w jednym pliku.
Przy przygotowaniu modeli ustal z grafikiem 3D: nazwy elementów, które konfigurator będzie podmieniać lub ukrywać, punkt odniesienia (origin) i skalę (glTF używa metrów), oraz budżet wielkości pliku dla wersji mobilnej.
3. Warianty materiałów w jednym pliku
Jeśli produkt ma kilkanaście kolorów lub wykończeń, osobny plik dla każdego wariantu wydłuża ładowanie przy każdej zmianie.
Rozszerzenie KHR_materials_variants pozwala zapisać wiele wariantów materiałów dla tej samej geometrii w jednym pliku glTF i przełączać je w czasie działania bez ponownego ładowania modelu. Specyfikacja podaje jako typowe zastosowanie handel internetowy, na przykład zmianę koloru butów. Rozszerzenie zostało ratyfikowane przez Khronos Group. Specyfikacja zaznacza, że rozszerzenie jest przeznaczone dla skończonej listy wariantów przygotowanych z góry, a nie dla konfiguratorów z dynamicznymi regułami składania produktu.
Loader glTF w Babylon.js zawiera implementację tego rozszerzenia (kod źródłowy rozszerzenia KHR_materials_variants w repozytorium Babylon.js), więc nazwy wariantów zapisane w pliku mogą odpowiadać opcjom w interfejsie konfiguratora.
4. Rozmiar plików: kompresja geometrii i tekstur
Na telefonie każdy megabajt modelu wydłuża czas do pierwszego obrazu. glTF ma rozszerzenia, które zmniejszają rozmiar danych:
- KHR_draco_mesh_compression: kompresja geometrii biblioteką Draco.
- EXT_meshopt_compression: kompresja geometrii metodą Meshopt.
- KHR_texture_basisu: tekstury KTX2 z kompresją Basis Universal, które zajmują mniej miejsca w pobieraniu i w pamięci karty graficznej.
Według dokumentacji loadera glTF w Babylon.js silnik przy takich plikach domyślnie pobiera dekodery z CDN Babylon i uruchamia je w web workerach. Dokumentacja wskazuje, że może to rodzić problemy z ochroną danych (RODO) lub z polityką Content Security Policy, i zaleca hostowanie dekoderów na własnym serwerze.
Kompresja przenosi część pracy na urządzenie, które musi dane rozpakować. Wybór metody sprawdź na docelowych telefonach, mierząc czas od otwarcia strony do pokazania modelu.
5. WebGL czy WebGPU
Babylon.js renderuje przez WebGL albo WebGPU. Według dokumentacji Babylon.js o WebGPU obsługa tego API jest dostępna od wersji 5.0 z maja 2022 i jest kompatybilna wstecz z implementacją WebGL. Różnica w kodzie aplikacji to asynchroniczne uruchomienie silnika.
Według strony MDN o WebGPU API to API nie ma statusu Baseline, bo nie działa w części powszechnie używanych przeglądarek, i jest dostępne tylko w bezpiecznym kontekście (HTTPS).
Dla konfiguratora w sklepie oznacza to, że WebGL powinien zostać ścieżką działającą u wszystkich klientów. WebGPU można włączać tam, gdzie przeglądarka je obsługuje, po sprawdzeniu, że daje mierzalną różnicę dla Twojej sceny.
6. Wydajność sceny i strony
Wydajność konfiguratora ma dwie strony: płynność samej sceny i szybkość wczytania strony produktu. Dla sceny dokumentacja Babylon.js o optymalizacji sceny opisuje między innymi te techniki:
- Instancje: powtarzalne elementy rysowane jednym wywołaniem rysowania.
- Zamrożenie materiałów i macierzy świata: mniej przeliczeń dla elementów, które się nie zmieniają.
- Zamrożenie listy aktywnych siatek: oszczędność czasu procesora, gdy scena jest statyczna.
Dla strony ważne jest, co klient zobaczy, zanim scena się wczyta. Według opisu metryki LCP na web.dev dobry wynik to 2,5 sekundy lub mniej, a lista elementów branych pod uwagę obejmuje obrazy, wideo, tła z obrazem i bloki tekstu; lista nie wymienia elementu canvas. Statyczny obraz produktu wyświetlony od razu, a scena 3D ładowana po nim, pomaga utrzymać ten wynik.
Testuj na słabszych telefonach, a nie tylko na komputerze zespołu. Ustal budżet: maksymalny rozmiar modeli, liczbę wywołań rysowania i czas do pierwszej interakcji.
7. Od konfiguracji do koszyka
Konfiguracja wybrana w scenie musi trafić do koszyka jako dane, które zrozumie sklep, ERP i produkcja. Ustal format zapisu przed budową sceny:
Jeśli konfigurator obsługuje produkty z regułami technicznymi, cenami zależnymi od opcji i akceptacją ofert, warstwa 3D jest tylko częścią systemu CPQ. Reguły, ceny i połączenie z ERP opisujemy w poradniku o CPQ dla producentów i e-commerce B2B.
- Identyfikator konfiguracji zapisany po stronie serwera, a nie tylko w adresie strony.
- Lista wybranych opcji z kodami, które zna ERP lub system produkcyjny.
- Cena obliczona po stronie serwera według tych samych reguł co w koszyku.
- Obraz konfiguracji do koszyka, potwierdzenia zamówienia i oferty.
- Wersja modelu i reguł, żeby dało się odtworzyć konfigurację po zmianie oferty.
8. Od czego zależy zakres projektu
Nie da się rzetelnie wycenić konfiguratora bez znajomości produktu i stanu modeli. Na zakres wpływają: liczba produktów i opcji, stan plików CAD lub modeli 3D, liczba reguł wykluczających opcje, sposób liczenia ceny i integracje ze sklepem oraz ERP.
Na pierwszą rozmowę przygotuj jeden produkt z pełną listą opcji, dostępne pliki modeli, opis tego, jak dziś powstaje wycena, oraz listę urządzeń, na których klienci przeglądają ofertę.
Rozsądnym pierwszym krokiem jest konfigurator jednego produktu z prawdziwymi danymi i pomiarem czasu ładowania na telefonach. Dopiero potem warto skalować go na cały katalog.
Najczęstsze pytania
- Babylon.js czy Three.js do konfiguratora produktu?
- Oba silniki wyświetlają modele glTF w przeglądarce. Wybór warto oprzeć na prototypie z Twoim modelem, pomiarze wydajności na docelowych telefonach i doświadczeniu zespołu.
- Czy można użyć modeli z programu CAD?
- Można je użyć jako punkt wyjścia, ale wymagają uproszczenia geometrii, przygotowania materiałów i eksportu do glTF. Pliki CAD zawierają detale potrzebne do produkcji, które w przeglądarce zwiększają rozmiar i spowalniają scenę.
- Czy konfigurator 3D działa na telefonach?
- WebGL jest dostępny w przeglądarkach mobilnych, ale wydajność zależy od rozmiaru modeli i tekstur oraz od mocy urządzenia. Dlatego budżet plików i testy na słabszych telefonach powinny być częścią projektu od początku.
- Czy konfigurator 3D zastępuje system CPQ?
- Nie. Warstwa 3D pokazuje produkt i przyjmuje wybory klienta. Reguły dostępności opcji, cena i przekazanie zamówienia do ERP to zadania CPQ albo platformy e-commerce, z którymi konfigurator musi być połączony.
Opisz swój produkt i opcje konfiguracji
Treść zaktualizowano: 13 listopada 2026
Google Preferred Sources
Czytaj GMI częściej w Google
Dodaj gmi.software do preferowanych źródeł. Google może częściej wyróżniać nasze nowe materiały w Top Stories i obsługiwanych widokach AI.