Scalanie materiałów i kompresja tekstur: ukryte wąskie gardło wydajności w lekkim BIM
Jak działa 3D ExpertTenwywołania rysowania, pamięć tekstur i czasy ładowania — od tysięcy zbędnych materiałów po usprawniony potok .opt
Przez 3D Expert Co., Ltd. | Osaka, Japonia | AIjuż 2026
Proces produkcyjny: gdzie odbywa się optymalizacja materiałów i tekstur
Optymalizacja materiałów i tekstur odbywa się na etapie odciążania procesu produkcyjnego 3D Expert. Oto jak produkty są ze sobą połączone:
- Wtyczka 3D/BIM — Obecnie 6 natywnych wtyczek eksportowych dla platform CAD/BIM (Revit, Bentley, Tekla itp.), opartych na oficjalnych interfejsach API dostawców. Na tym etapie następuje ekstrakcja surowej geometrii, tekstur, materiałów, drzew struktur i atrybutów z formatów natywnych (.rvt, .dgn itp.) do pośredniego pliku GLZIP. Wtyczka NIE scala materiałów ani nie kompresuje tekstur — zachowuje każdą definicję materiału i obraz tekstury dokładnie tak, jak zostały utworzone, dzięki czemu moduł odciążający ma dostęp do kompletnych danych.
- Generator plików Opt — lekki silnik, w którym faktycznie odbywa się scalanie materiałów i kompresja tekstur. Wykorzystuje pośrednie formaty GLZIP (z wtyczki) lub otwarte/standardowe formaty (IFC, FBX, STEP, 3DXML itp.) i stosuje pełną ścieżkę optymalizacji: grupowanie haszy materiałów, pakowanie atlasu tekstur, kodowanie Basis Universal/KTX2, zarządzanie rozdzielczością, pakowanie kanałów PBR — wszystko na komputerze lokalnym użytkownika. Dane wyjściowe: model w formacie **.opt** + plik DB z osadzonymi zoptymalizowanymi materiałami i skompresowanymi teksturami.
- Rapid3D Loader dla Three.js — pakiet npm, który bezpośrednio odczytuje pliki .opt. Po stronie webowej osadza dekoder WASM, który transkoduje tekstury Basis Universal do natywnego, skompresowanego formatu WebGL przeglądarki w momencie ładowania, a następnie przesyła je do Three.js jako tekstury natywne dla GPU. Żadne surowe dane pikselowe nie trafiają do pamięci głównej.
- 3D Model & Data Asst — aplikacja desktopowa dla systemu Windows 10 lub nowszego. Importuje pliki GLZIP (z wtyczki) lub formaty otwarte, wewnętrznie wykonuje to samo scalanie materiałów i kompresję tekstur, a następnie natychmiast renderuje zoptymalizowany model z pełnym zapytaniem o właściwości — wszystko w jednej zintegrowanej aplikacji. NIE generuje plików .opt; jest to narzędzie do przeglądania dla użytkownika końcowego, a nie konwerter plików.
Krótko mówiąc: wtyczka bezstratnie wyodrębnia materiały i tekstury do GLZIP. Generator plików Opt łączy, pakuje i kompresuje je do plików .opt do wdrożenia w internecie. Rapid3D Loader dekoduje skompresowane tekstury za pomocą WASM do renderowania w przeglądarce. 3D Model & Data Asst wykonuje to samo scalanie i kompresję wewnętrznie, a następnie renderuje na komputerze — bez danych wyjściowych .opt.
────────────────────────────────────────────────────────────
12 technik — mapowanych na produkt
Domena 1: Scalanie materiałów — od tysięcy instancji do dziesiątek wywołań rysowania
W modelu Revit ten sam materiał betonowy może zostać wygenerowany 500 razy — raz dla każdej płyty stropowej, ściany i kolumny, która się do niego odwołuje. Każde wystąpienie stanowi osobny wpis w pliku eksportu, a każdy unikalny materiał wymusza osobne wywołanie rysunku w WebGL. Model składający się z 10 000 elementów i 8000 wystąpień materiału może wygenerować ponad 3000 wywołań rysunku, podczas gdy scena wizualna faktycznie wymaga ich mniej niż 100. Proces scalania materiałów w 3D Expert eliminuje tę redundancję bez utraty ani jednego szczegółu wizualnego.
- Grupowanie materiałów na podstawie haszu
Właściwości wizualne każdego materiału – kolor bazowy (RGBA), odniesienie tekstury albedo, chropowatość, metaliczność, mapa normalnych, kolor emisyjny, tryb alfa i odcięcie alfa – są łączone w deterministyczny ciąg haszujący. Materiały z identycznymi haszami są grupowane w jedną, wspólną definicję. W praktyce model z 8000 wystąpień materiałów zazwyczaj redukuje się do 60–150 unikalnych materiałów. Redukcja jest bezstratna: jeśli dwa materiały wyglądają identycznie, stają się jednym; jeśli różnią się w dowolnym widocznym kanale, pozostają oddzielne.
- Zasilane przez: Generator plików Opt (scalanie materiałów → dane wyjściowe .opt)Alternatywa dla komputerów stacjonarnych: 3D Model & Data Asst (łączenie materiałów i renderowanie, Win 10+)
- Instancyjna redukcja materiałów
Poza grupowaniem opartym na haszach, silnik eliminuje nadpisania materiałów dla poszczególnych elementów, które powielają definicję nadrzędną. Gdy 200 drzwi odwołuje się do „Drzwi – Stal” bez indywidualnych nadpisań, silnik konsoliduje je do jednej instancji materiału i 200 odniesień do geometrii, zamiast 200 niezależnych obiektów materiału. To bezpośrednio redukuje równomierne przesyłanie bufora przez GPU i obciążenie kompilacji shaderów – główny koszt w scenach WebGL 2 z wieloma materiałami.
- Obsługiwane przez: Generator plików Opt (instancje materiałów → dane wyjściowe .opt). Alternatywa dla komputerów stacjonarnych: 3D Model & Data Asst (instancje materiałów + renderowanie, Windows 10+)
- Izolacja materiału przezroczystego
Materiały przezroczyste (szklane kurtyny, zbiorniki wodne, panele półprzezroczyste) nie mogą być scalane z materiałami nieprzezroczystymi — wymagają oddzielnych przebiegów renderowania z wyłączonym zapisem głębokości i sortowaniem od tyłu do przodu. Silnik automatycznie identyfikuje materiały z włączonym mieszaniem alfa i izoluje je do dedykowanego pakietu materiałów przezroczystych. Pozwala to zachować poprawne wizualne warstwowanie, a jednocześnie umożliwia agresywne scalanie nieprzezroczystej większości. Fasada szpitala z 2000 szklanych paneli i 6000 elementów nieprzezroczystych staje się 2 grupami materiałów zamiast 8000 wystąpień.
- Obsługiwane przez: Opt File Generator (grupowanie materiałów z uwzględnieniem przezroczystości → dane wyjściowe .opt). Alternatywa dla komputerów stacjonarnych: 3D Model & Data Asst (grupowanie + renderowanie, Windows 10+)
Domena 2: Generowanie atlasu tekstur — minimalizowanie powiązań tekstur
Nawet po scaleniu materiałów, model BIM nadal może odwoływać się do setek pojedynczych plików tekstur — zdjęć elewacji, próbek materiałów, map wzorów. W WebGL każde powiązanie tekstury to zmiana stanu, która blokuje potok GPU. Silnik atlasu 3D Expert pakuje małe tekstury do współdzielonych atlasów, redukując liczbę zmian powiązań z setek do jednocyfrowych.
- Automatyczne pakowanie atlasu
Silnik analizuje wszystkie wymiary tekstur i pakuje zgodne tekstury do atlasów o potędze liczby dwa (zazwyczaj 2048×2048 lub 4096×4096). Model ze 180 indywidualnymi próbkami materiałów o wymiarach 256×256 może zmieścić się w jednym atlasie o wymiarach 4096×4096, zmniejszając liczbę powiązań tekstur ze 180 do 1. Algorytm pakowania wykorzystuje heurystykę bin-packing, która minimalizuje marnowanie miejsca, jednocześnie respektując oryginalne wymagania dotyczące rozdzielczości każdej tekstury.
- Zasilane przez: Generator plików Opt (pakowanie atlasu → wyjście .opt) → Rapid3D Loader (próbkowanie z uwzględnieniem atlasu, renderowanie w sieci). Alternatywa dla komputerów stacjonarnych: 3D Model & Data Asst (pakowanie atlasu i renderowanie, Windows 10+)
- Reparametryzacja UV
Po spakowaniu tekstur do atlasu, współrzędne UV każdej siatki muszą zostać przemapowane, aby wskazywały na właściwy podregion. Silnik automatycznie transformuje współrzędne UV na etapie odciążania – ręczna edycja UV nie jest wymagana. Przemapowanie jest dokładne: piksel pobrany z atlasu pasuje do piksela, który zostałby pobrany z oryginalnej, samodzielnej tekstury, co gwarantuje brak różnic wizualnych.
- Obsługiwane przez: Opt File Generator (remapowanie UV + pakowanie atlasu → dane wyjściowe .opt). Alternatywa dla komputerów stacjonarnych: 3D Model & Data Asst (remapowanie UV + renderowanie, Windows 10+)
- Wyściółka Atlas i zapobieganie krwawieniu
Przeciekanie tekstur – zjawisko, w którym próbkowany teksel z jednej podtekstury przecieka do sąsiedniej – jest częstym artefaktem w naiwnych implementacjach atlasów. Silnik dodaje konfigurowalne wypełnienie (2–4 teksele) między podteksturami i zaciska współrzędne UV do wewnętrznego obszaru bezpiecznego. W odległości, gdzie przejścia na poziomie mipmap mogłyby pobierać teksele z sąsiednich regionów, wypełnienie zapewnia czyste filtrowanie. Jest to szczególnie ważne w przypadku fasad BIM, gdzie pojedynczy piksel przecieku tekstury może sprawić, że rama okna będzie wyglądać, jakby była wykonana z nieprawidłowego materiału.
- Zasilane przez: Generator plików Opt (pakowanie atlasu wypełnianego → wyjście .opt) → Rapid3D Loader (próbkowanie atlasu z wypełnianiem, renderowanie w sieci). Alternatywa dla komputerów stacjonarnych: 3D Model & Data Asst (wypełniony atlas + renderowanie, Win 10+)
Domena 3: Kompresja formatu tekstur — zmniejszanie rozmiaru pamięci
Surowe tekstury w modelach BIM są zazwyczaj przechowywane w plikach PNG lub JPEG. Na GPU są one dekompresowane do pełnego, nieskompresowanego formatu RGBA — pojedyncza tekstura fasady o wymiarach 4096×4096 zajmuje 64 MB pamięci GPU w postaci zdekodowanej. 3D Expert stosuje natywne dla GPU, skompresowane formaty tekstur, które pozostają skompresowane w pamięci GPU, zmniejszając rozmiar pamięci 6–10-krotnie przy minimalnej utracie jakości percepcyjnej.
- Basis Universal / Kodowanie KTX2
Tekstury są transkodowane do Basis Universal, pośredniego, skompresowanego formatu spakowanego w kontenerze KTX2. Basis Universal można szybko transkodować w momencie ładowania do natywnego formatu GPU dowolnej platformy — ETC2 w WebGL, BC7 w WebGL2 na komputerach stacjonarnych, ASTC na urządzeniach mobilnych. Tekstura o rozmiarze 4096×4096, która w stanie nieskompresowanym zajmowałaby 64 MB, w formacie Basis zajmuje 5–8 MB. W przeglądarce dekoder WASM programu Rapid3D Loader przetwarza transkodowanie w milisekundach, przekazując wynik do WebGL w postaci CompressedTexture2D — żadne surowe dane pikselowe nie trafiają do pamięci JavaScript.
- Obsługiwane przez: Generator plików Opt (kodowanie Basis/KTX2 → wyjście .opt) → Rapid3D Loader (transkodowanie WASM → natywny format GPU, renderowanie internetowe). Alternatywa dla komputerów stacjonarnych: 3D Model & Data Asst (kompresja tekstur + renderowanie, Windows 10+)
- Poziomy rozdzielczości i adaptacyjne mipmapy
Nie każda tekstura musi mieć rozdzielczość 4096×4096. Materiał sufitowy oglądany z wysokości stojącej rzadko wymaga rozdzielczości większej niż 512×512. Silnik ocenia prawdopodobną odległość oglądania każdej tekstury i stosuje limity rozdzielczości: tekstury elewacji zachowują rozdzielczość 4096, materiały wewnętrzne spadają do 2048, a powtarzalne wzory (beton, dywan) do 1024 lub 512. Dla każdej tekstury generowane są pełne łańcuchy mipmap, co umożliwia procesorowi graficznemu próbkowanie niższych poziomów rozdzielczości z większej odległości, co dodatkowo zmniejsza przepustowość pamięci. Użytkownicy mogą skonfigurować maksymalną rozdzielczość globalnie lub dla każdej klasy materiału.
- Zasilane przez: Generator plików Opt (poziomy rozdzielczości + generowanie mipmap → dane wyjściowe .opt) → Rapid3D Loader (próbkowanie z uwzględnieniem mipmap, renderowanie w sieci). Alternatywa dla komputerów stacjonarnych: 3D Model & Data Asst (zarządzanie rozdzielczością + renderowanie, Windows 10+)
- Pakowanie kanałów PBR
Nowoczesne materiały PBR często wykorzystują trzy oddzielne tekstury w skali szarości: chropowatość, metalizm i okluzję otoczenia (AO). Przechowywanie ich jako trzech tekstur 1024×1024 zużywa trzy wiązania tekstur i trzykrotnie więcej pamięci. Silnik umieszcza je w kanałach R, G i B jednej tekstury RGB – co oznacza trzykrotną redukcję zarówno liczby tekstur, jak i pamięci, bez utraty jakości (dane w skali szarości są mapowane 1:1 na jeden kanał koloru). Model z 50 zestawami materiałów PBR zmniejsza liczbę tekstur ze 150 do 50.
- Obsługiwane przez: Generator plików Opt (pakowanie kanałów → wyjście .opt) → Rapid3D Loader (próbkowanie PBR z uwzględnieniem kanału, renderowanie w sieci). Alternatywa dla komputerów stacjonarnych: 3D Model & Data Asst (pakowanie kanałów + renderowanie, Windows 10+)
Domena 4: Kontrola dokładności i integracja rurociągów — ostatnia mila
Łączenie materiałów i kompresja tekstur są potężne, ale tylko wtedy, gdy można je dostosować do indywidualnych potrzeb projektu. Wizualny model do prezentacji dla klienta wymaga innych ustawień kompresji niż model instalacji w terenie działający na tablecie. 3D Expert oferuje kompleksowe sterowanie, które pozwala raz ustawić kompromis między jakością a kompresją i zastosować go w całym procesie przetwarzania materiałów i tekstur.
- Konfigurowalne profile kompresji
Każda technika — agresywność scalania materiałów, maksymalny rozmiar atlasu, poziom jakości Basis, limity poziomów rozdzielczości — jest udostępniana jako parametr w profilach kompresji. Profil „Prezentacja” może ustawić jakość Basis na 80, maks. teksturę na 4096 i włączyć wszystkie optymalizacje. Profil „Tablet terenowy” może ograniczyć tekstury do 2048, ustawić jakość Basis na 50 i zastosować agresywne pakowanie kanałów. Profile są zapisywane i ponownie wykorzystywane w różnych projektach, co zapewnia spójną jakość wyjściową.
- Zasilane przez: Generator plików Opt (przetwarzanie wsadowe sterowane profilami → dane wyjściowe .opt)Alternatywa dla komputerów stacjonarnych: 3D Model & Data Asst (interaktywny wybór profili + renderowanie, Win 10+)
- Deduplikacja tekstur
Modele BIM często zawierają zduplikowane pliki tekstur — ten sam wzór cegieł przesłany pod trzema różnymi nazwami lub próbkę materiału skopiowaną w ramach połączonych modeli. Silnik oblicza skróty percepcyjne wszystkich obrazów tekstur i oznacza obiekty bliskie duplikacji. Identyczne tekstury są scalane w jeden plik referencyjny; obiekty bliskie duplikacji (ten sam obraz, inna rozdzielczość) są kompresowane do wersji o najwyższej rozdzielczości. Model, który zawierał 2500 plików tekstur, może zawierać tylko 800 unikalnych obrazów po deduplikacji — co oznacza 3-krotną redukcję liczby plików i zajmowanego miejsca na dysku/w pamięci.
- Obsługiwane przez: Generator plików Opt (deduplikacja tekstur → dane wyjściowe .opt) → Rapid3D Loader (ładowanie tekstur z deduplikacją, renderowanie w sieci). Alternatywa dla komputerów stacjonarnych: 3D Model & Data Asst (deduplikacja tekstur + renderowanie, Windows 10+)
- Integralność danych materiałowych w całym rurociągu
Scalanie materiałów i kompresja tekstur nie odbywają się w izolacji — są synchronizowane z bazą danych atrybutów. Po scaleniu 200 elementów w ramach jednej grupy materiałów, oryginalne odniesienie do materiału każdego elementu jest zachowywane w bazie danych atrybutów. Kliknięcie dowolnego elementu w przeglądarce (za pomocą Rapid3D Loader) lub na komputerze (za pomocą 3D Model & Data Asst) nadal zwraca poprawną nazwę materiału, właściwości i dane producenta z modelu źródłowego. Optymalizacja wizualna jest transparentna dla użytkownika; dane inżynieryjne pozostają nienaruszone.
- Obsługiwane przez: wtyczkę 3D/BIM (ekstrakcja materiałów/atrybutów → GLZIP) → Generator plików Opt (scalanie materiałów + kompresja tekstur, synchronizacja bazy danych atrybutów → .opt) → Rapid3D Loader (materiały typu „kliknij, aby zapytać”, renderowanie w sieci). Alternatywa dla komputerów stacjonarnych: wtyczka 3D/BIM (ekstrakcja) → 3D Model & Data Asst (odchudzanie + zapytanie o atrybuty + renderowanie, Windows 10+)
────────────────────────────────────────────────────────────
Łączenie wszystkiego: który produkt zaspokaja poszczególne potrzeby?
12 technik optymalizacji materiałów i tekstur stanowi wspólny fundament. Wybór produktu zależy od miejsca, w którym model będzie wykorzystywany i poziomu kontroli, jakiego potrzebujesz:
- Tworzysz internetową platformę BIM, w której szybki czas ładowania i mała ilość pamięci mają kluczowe znaczenie?
→ Użyj wtyczki 3D/BIM do wyodrębnienia materiałów i tekstur z formatów natywnych do GLZIP, a następnie uruchom Generator plików Opt z profilem kompresji zoptymalizowanym pod kątem internetu (jakość bazowa 60–70, maks. liczba tekstur 2048, włączone pakowanie atlasu). Dane wyjściowe: .opt + DB. Załaduj za pomocą Rapid3D Loader dla Three.js, który automatycznie obsługuje transkodowanie tekstur WASM i próbkowanie z uwzględnieniem atlasu. - Dostarczasz klientom modele BIM na komputerach stacjonarnych lub laptopach na placu budowy?
→ Użyj wtyczki 3D/BIM, aby wyodrębnić, a następnie przekazać klientowi 3D Model & Data Asst (Win 10+). Klient importuje GLZIP lub otwarte formaty (IFC, FBX itp.), a aplikacja wewnętrznie stosuje scalanie materiałów i kompresję tekstur, a następnie renderuje — wszystko w jednym narzędziu. Nie są potrzebne pliki .opt. - Konwertowanie otwartych formatów (IFC, FBX, STEP, 3DXML) bez natywnej licencji CAD?
→ Pomiń wtyczkę. Prześlij otwarte formaty bezpośrednio do Generatora plików Opt w celu wsadowego scalania materiałów i kompresji tekstur (dane wyjściowe: .opt dla sieci) lub do 3D Model & Data Asst w celu interaktywnej optymalizacji i przeglądania na komputerze. - Potrzebujesz dostarczania treści zarówno przez Internet, jak i na komputery stacjonarne, korzystając z tego samego modelu źródłowego?
→ W przypadku sieci: wyodrębnij za pomocą wtyczki (natywnej) lub zaimportuj otwarte formaty → Generator plików Opt (scalanie materiałów + kompresja tekstur → .opt) → Rapid3D Loader. W przypadku komputerów stacjonarnych: zaimportuj GLZIP lub otwarte formaty do 3D Model & Data Asst (Win 10+) — program scala i kompresuje dane wewnętrznie, a następnie renderuje. Te same optymalizacje materiałów/tekstur, różne cele wdrożenia.
────────────────────────────────────────────────────────────
Wnioski: Dlaczego materiały stanowią prawdziwe wąskie gardło
Scalanie materiałów i kompresja tekstur to najbardziej niedoceniane techniki w odchudzeniu BIM. Większość narzędzi koncentruje się na geometrii – dziesiątkowaniu siatki, kompresji Draco, poziomie szczegółowości (LOD) – i traktuje materiały jako kwestię drugorzędną. Jednak w rzeczywistych modelach BIM to właśnie materiały i tekstury stanowią wąskie gardło wydajności. Model z idealnie skompresowaną geometrią, ale 8000 niezoptymalizowanych wystąpień materiałów i 2500 surowych tekstur nadal będzie blokował GPU, zużywał pamięć i zapewniał słabe wrażenia użytkownika.
12-technikowy proces 3D Expert rozwiązuje ten problem w sposób systematyczny: grupowanie materiałów oparte na haszach redukuje wywołania rysowania, pakowanie atlasu eliminuje narzut związany z wiązaniem tekstur, kodowanie Basis Universal zmniejsza pamięć GPU 6–10-krotnie, pakowanie kanałów zmniejsza liczbę tekstur PBR 3-krotnie, a deduplikacja tekstur całkowicie usuwa zbędne pliki. Każda technika jest zintegrowana z silnikiem odciążającym — a nie dołączona jako postproces — i każda technika zachowuje dane atrybutów, dzięki którym model BIM jest czymś więcej niż siatką.
Rezultat: model, który ładuje się w sekundy, a nie minuty; renderuje się z prędkością 60 klatek na sekundę, a nie 12; i zużywa o 50–80% mniej pamięci — niezależnie od tego, czy jest obsługiwany przez Rapid3D Loader w przeglądarce, czy wyświetlany w 3D Model & Data Asst na komputerze. Na tym właśnie polega różnica między modelem, który dobrze się prezentuje, a modelem gotowym do sprzedaży.
────────────────────────────────────────────────────────────
O firmie 3D Expert Co.,Ltd.
Firma 3D Expert Co.,Ltd. z siedzibą w Osace w Japonii opracowuje wydajne oprogramowanie 3D/BIM dla globalnego sektora AEC. Nasze portfolio produktów obejmuje:
- Wtyczka 3D/BIM — obecnie 6 natywnych dodatków eksportowych dla platform CAD/BIM, opartych na oficjalnych interfejsach API dostawców. Umożliwia bezstratną ekstrakcję geometrii, tekstur, materiałów, drzew struktur i atrybutów z formatów natywnych (.rvt, .dgn itp.). Dane wyjściowe: pośredni GLZIP. NIE wykonuje kompresji ani odciążania.
- Generator plików Opt — lekki silnik desktopowy do przetwarzania wsadowego. Wykorzystuje pośrednie formaty GLZIP (z wtyczki) lub otwarte formaty (IFC, FBX, STEP, 3DXML itp.) i stosuje kompresję Draco, scalanie materiałów, pakowanie atlasu tekstur, kodowanie Basis Universal/KTX2, pakowanie kanałów PBR oraz generowanie poziomu szczegółowości (LOD) — wszystko na komputerze lokalnym użytkownika. Dane wyjściowe: model w formacie .opt + baza danych. To JEDYNY produkt generujący pliki .opt.
- 3D Model & Data Asst — natywna aplikacja desktopowa dla systemu Windows 10+. Importuje pliki GLZIP (z wtyczki) lub formaty otwarte, wykonuje tę samą redukcję wagi (Draco, scalanie materiałów, kompresję tekstur, LOD) i renderuje model z pełnym zapytaniem o właściwości — wszystko w jednej zintegrowanej aplikacji. NIE generuje plików .opt.
Rapid3D Loader dla Three.js — pakiet npm (opt-rapid3d-loader) z wbudowanym dekoderem WASM dla geometrii Draco i tekstur Basis Universal, progresywnym strumieniowaniem fragmentów (PDR) oraz interfejsami API z pełną interakcją. Bezpośrednio odczytuje i ładuje modele w formacie .opt (wygenerowane przez Opt File Generator) do scen Three.js.
Dowiedz się więcej lub rozpocznij bezpłatny okres próbny na stronie https://www.opt3ds.com/
Kontakt: info@3dexpert.jp
© 2010–2026 3D Expert Co.,Ltd. Wszelkie prawa zastrzeżone.

