Konfigurator 3D — plan techniczny

Lektura
6min
Objętość
1212słów
Sekcji
26
Slug
konfigurator-3d

Status

  • i
    FAZA 3-4 (6-12 miesięcy po starcie sprzedazy) — NIE priorytet na start. Wymaga: portfolio z profesjonalnymi zdjeciami, ruch na stronie >500 unikalnych/mies., ustabilizowane ceny i opcje.
  • i
    Zaden polski producent betonu dekoracyjnego nie ma konfiguratora 3D - to unikalna przewaga techniczna producenta-programisty
  • i
    Powtarzalne zapytania o warianty (kolor, rozmiar, dodatki) zajmuja czas obslugi

Funkcjonalność konfiguratora

  1. Klient wybiera typ produktu (umywalka, doniczka, blat, numer domu, zegar)
  2. Obraca model 3D w przegladarce
  3. Zmienia parametry: kolor, kruszywo, wymiary, dodatki (LED, glow, acid stain)
  4. Widzi wizualizacje na zywo - zmiana parametru = model sie aktualizuje
  5. Dostaje cene w czasie rzeczywistym
  6. Sklada zamówienie z dokladna specyfikacja

Argumenty za i przeciw

ZaPrzeciw
Zaden polski producent betonu tego nie maZero sensu bez portfolio i ruchu na stronie
Redukuje pytania - klient sam widzi opcjeDev time: 80-150h. Za te godziny zrobisz 30-50 produktow fizycznych.
Value perception - konfigurator = "poważna firma"Klient premium chce rozmawiac z czlowiekiem, nie klikac widgety
Viralowy potencjal (LinkedIn/Twitter/HN)Bez SEO/ruchu nikt go nie zobaczy
Automatyzacja wycenNa 5 zamówień/mies. ręczna wycena = 30 min

Stack techniczny

WarstwaTechnologiaDlaczego
FrontendVue 3 + Nuxt 3 (SSG/SSR)Twoj stack. SEO.
Renderer 3DThree.js (via TresJS - Vue wrapper)Najpopularniejszy. TresJS = natywna integracja z Vue 3.
Modele 3D.glTF / .glbStandard webowy, maly rozmiar, PBR materials
Materiały/teksturyPBR (Physically Based Rendering)Realistyczny beton, terrazzo, drewno
UI konfiguracjiTailwind + headless UISzybko, responsywnie
Kalkulacja cenLogika w Pinia storeReaktywna
Backend (zamówienia)Laravel (Twoj stack)API do zapisu konfiguracji + wyceny
HostingVercel (frontend) + VPS (Laravel API)Darmowy tier Vercel na start

Produkty i parametry konfigurowalne

ProduktParametryWpływ na cene
Umywalka nablatowaKształt (okragla/prostokatna/owalna), O/wymiary, kolor betonu, kruszywo terrazzo, wykończenie, żywica epoksy, LED WLED smartTak
DoniczkaKształt (cylindryczna/stozkowa/z brzuchem), O, wysokosc, kolor, technika (acid stain/gładka/terrazzo), LED opcjaTak
BlatWymiary (dl x szer x gr), kolor, kruszywo, otwor na umywalke, krawędź (prosta/fazowana/zaokrąglona)Tak
Numer domuCyfry (input), font (3-5 opcji), kolor tla, kolor cyfr, glow-in-the-dark, wymiarTak
Zegar sciennyO, kolor, material wskazowek, dodatki (mech/epoksy/LED)Tak

Model danych — ProductConfig

interface ProductConfig { productType: 'sink' | 'planter' | 'countertop' | 'house_number' | 'clock', dimensions: { diameter?: number, width?: number, length?: number, height?: number, thickness?: number } // mm, material: { concreteType: 'gfrc' | 'scc' | 'uhpc' | 'terrazzo', color: string // hex lub nazwa: 'anthracite' | 'white' | 'natural' | 'sage', aggregate: string // 'marble_white' | 'glass_blue' | 'copper' | 'shell', finish: 'matte' | 'satin' | 'polished' }, addons: { epoxyInterior?: boolean, ledWled?: boolean, glowInDark?: boolean, acidStain?: boolean, woodAccent?: boolean }, pricing: { baseCost: number, laborCost: number, addonsTotal: number, margin: number, finalPrice: number } }

Stale kosztówe materiałów

MaterialKoszt (zl/kg)Gęstość (kg/m3)
GFRC5,501 920
SCC4,002 350
UHPC12,002 475
Terrazzo2,152 300

Bazowy czas pracy per produkt

Umywalka (sink)
4,0h
Doniczka (planter)
1,5h
Blat (countertop)
6,0h
Numer domu (house_number)
1,0h
Zegar (clock)
1,5h

Koszty dodatkow

DodatekKoszt (zl/szt.)
Żywica epoksy (Epidian 5 + Z-1 + aplikacja)45
WLED (ESP32 + WS2812B + zasilacz + montaz)85
Pigment fosforescencyjny (glow)35
Acid stain (FeCl3 + aplikacja)25

Koszty kruszywa dekoracyjnego

KruszywoKoszt (zl/kg)
Marmur biały2,50
Marmur zielony3,50
Szklo niebieskie5,00
Szklo lustrzane6,00
Miedz15,00
Mosiadz18,00
Muszle4,00

Logika cenowa

Formula: (material + praca + dodatki) x 2,8 x mnoznik wykończenia. Mnoznik: mat=1,0, satyna=1,15, połysk=1,35. Stawka pracy: 80 zl/h.

Koszt materialu = objętość x gęstość x cena za kg. Terrazzo: dopłata za kruszywo dekoracyjne (60% objętości zamienione na kruszywo).

Wynik zaokrąglony do pełnych zlotych.

TresJS — deklaratywny 3D w Vue

TresJS (tresjs.org) to Vue 3 wrapper na Three.js. Zamiast imperatywnego Three.js piszesz deklaratywne komponenty Vue: TresCanvas, TresPerspectiveCamera, OrbitControls, TresMesh, TresAmbientLight, TresDirectionalLight.

Reaktywność Vue = zmiana parametru w storze automatycznie aktualizuje material/geometrie. Bez ręcznego renderer.render().

Modele parametryczne (kodem)

Dla prostych kształtow (cylindryczne doniczki, prostokatne blaty) modele parametryczne w Three.js: LatheGeometry z profilePoints generowanymi z parametrów konfiguracji. Zmiana O i wysokosci w real-time.

Rekomendacja: modele parametryczne (kodem) dla prostych kształtow + Blender dla organicznych (umywalki, donice z brzuchem).

Darmowe tekstury PBR

  • ambientCG.com — darmowe tekstury PBR, licencja CC0
  • polyhaven.com — darmowe tekstury PBR, modele 3D, HDRIs

WAZNE: tekstury z własnych produktow

  • Zrob zdjecia SWOICH produktow i generuj z nich tekstury — Generyczne tekstury betonu wyglądaja inaczej niż Twoj beton. Klient dostanie produkt inny niż w konfiguratorze -> reklamacja.

Źródła modeli 3D

ŹródłoFormatKonwersjaKoszt
Twoje mastery (Fusion 360, FreeCAD, Blender).STL / .STEPBlender -> export .glb0 zl
Parametryczne (Three.js geometry)Kod JSCylinder, lathe, extrude0 zl
Gotowe (Sketchfab, TurboSquid).glTFGotowe0-200 zl

Tekstury PBR betonu

MapaCo robiSkad
Albedo (color)Kolor bazowy betonuZdjecia Twoich produktow -> Materialize/Substance
NormalMikrostruktura (pory, tekstura)Generowane z albedo
RoughnessMat vs połyskRęcznie (mat=1, połysk=0.1)
AO (Ambient Occlusion)Cienie w zaglebieniachBake w Blenderze

MVP vs Full Version

CechaMVP (faza 3, ~40h)Full (faza 4+, ~120h)
Produkty2 (umywalka + doniczka)5+
Modele 3DParametryczne (kod)Blender + parametryczne
Kolory5 presetowColor picker + custom
TerrazzoBrakLosowe generowanie kruszywa na modelu
Wymiary3 rozmiary (S/M/L)Suwak mm-by-mm
LED/glowCheckbox (tak/nie)Podglad efektu swiecenia
CenaStatyczny cennikKalkulacja real-time
ZamówienieFormularz kontaktowy z konfiguracjaKoszyk + platnosc online
ARBrakPodglad w pokoju (WebXR)
MobileResponsywnyTouch gestures, pinch-to-zoom

Alternatywa na start: interaktywna galeria z wariantami (faza 1-2)

Zamiast pełnego konfiguratora 3D - 80% wartośći za 20% pracy: zdjecia 5 wariantow koloru z frontendowym color grading, klient klika kolor -> zdjecie sie zmienia, wybiera rozmiar -> cena sie aktualizuje, prosty formularz zamówienia.

To robi 90% marek premium (Luxum, KERA, Kast Concrete). Czas: ~8-12h vs ~40-120h. ROI na start jest dużo lepszy.

Harmonogram wdrozenia konfiguratora

Faza 1-2: Interaktywna galeria z wariantami

8-12h, najwyższa wartość
  • Zdjecia + kolory + cena

Faza 3: MVP konfiguratora 3D

~40h, wysoka wartość
  • 2 produkty, parametryczne modele, TresJS

Faza 4: Full konfigurator

~120h, srednia wartość
  • AR, terrazzo generator, kalkulacja real-time, 5+ produktow

Optymalizacja wydajnosci

  • Draco compression na .glb - 10x mniejszy plik modelu
  • LOD (Level of Detail) - niższy detail na mobile
  • Lazy loading modeli - laduj model dopiero gdy klient klika produkt
  • Baked lighting - precalculated shadows zamiast real-time
  • Max 50k polygons per model - plynne 60fps na mid-range phone

Terrazzo generator (faza 4)

Podejscie 1: Proceduralny shader (GLSL)

Zaawansowany

Najszybszy rendering, ale trudny w implementacji.

Podejscie 2: Instance mesh

Średni

Setki malych geometrii (kamyczkow) rozrzuconych po surface modelu.

Podejscie 3: Tekstura Canvas 2D

Rekomendowany na MVP

Proceduralnie generowana tekstura (Canvas 2D -> Three.js texture). Najprostsze, wystarczajaco realistyczne.

Rekomendacja terrazzo generator

Rekomendacja: Canvas 2D na MVP (najprostsze). Shader GLSL na full version (najwydajniejszy przy zlozonych wzorach).

WebXR / AR podglad (faza 4+)

Klient klika "Zobacz w swoim pokoju" -> kamera telefonu -> model umywalki na blacie. Three.js ma wbudowany WebXR. TresJS wspiera go przez <TresCanvas xr>.

Wymaga HTTPS i zgodnej przegladarki (Chrome Android, Safari iOS 16+). ~80% smartfonow wspiera to natywnie.

Laravel API — integracja konfiguratora

Endpoint
POST /api/configurator/quote
Dane wejsciowe
config (ProductConfig) + customer (email, name)
Odpowiedz
quote_id, price (PLN), estimated_delivery (3-4 tygodnie), config_snapshot
Format quote_id
'SF-2026-0042' (prefiks marki + rok + numer sekwencyjny)
Zapis
Konfiguracja w DB (JSON column) - klient dostaje link do swojej konfiguracji

Powiazane dokumenty

DokumentPowiązanie
24-strategia-cenowa.mdBazowe ceny i marze - źródło stalych cennikowych
06-produkty.mdLista produktow do konfiguracji
25-fotografia-produktowa.mdŹródło zdjec dla galerii wariantow i tekstur PBR
38-raport-premium-produkty.mdBOM per produkt - dane do logiki cenowej
23-branding.mdKolorystyka, typografia - UI konfiguratora

Komentarze 0

Nowy komentarz

0 / 20 000
Brak komentarzy. Napisz pierwszy.