Japanese
Leave Your Message

Scalanie materiałów i kompresja tekstur: ukryte wąskie gardło wydajności w lekkim BIM

2026-08-21

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.

  1. 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.

  1. 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+)
  1. 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.

  1. 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.

  1. 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+)
  1. 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.

A_technical_infographic_style__2026-08-21T06-18-10.png

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.

  1. 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+)
  1. 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.

  1. 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.

  1. 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ą.

  1. 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+)
  1. 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.