TP026

BƯỚC — Thương hiệu sneaker

Trang thương hiệu giày sneaker với 4 model 3D: giày xoay 360° theo cuộn kèm chú thích bám theo chi tiết, rồi bay vào phòng phối màu đổi màu trực tiếp trên model; kệ bộ sưu tập 3D, lookbook cuộn ngang, đếm ngược drop.

Điểm nổi bật
Trong gói tải về

Website song ngữ (VI/EN) cho thương hiệu giày: giày 3D xoay theo cuộn với chú thích bám chi tiết, phòng phối màu đổi màu trực tiếp trên model, kệ bộ sưu tập 3D, lookbook cuộn ngang, đếm ngược drop và công cụ tìm size.

Chạy thử

Cần Node.js 18+.

npm install
npm run dev       # http://localhost:5173
npm run build     # xuất bản tĩnh vào dist/

Mặc định tiếng Việt; thêm ?lang=en để mở tiếng Anh.

Model 3D

ModelDùng ở
shoe-runnerHero xoay + phòng phối màu
shoe-court, shoe-trailKệ bộ sưu tập
shoe-highKệ + khối drop
npm i -D @gltf-transform/core @gltf-transform/extensions @gltf-transform/functions meshoptimizer sharp
node scripts/optimize-models.mjs

Script giảm lưới (≤ 80k tam giác), nén texture WebP và meshopt, cập nhật manifest.

Cấu trúc

src/shoe-stage.js   Giày hero: xoay theo cuộn → bay vào phòng phối màu, kéo xoay, đổi màu
src/shelf.js        Hàng model 3D gắn vào thẻ HTML (bộ sưu tập + drop)
src/intro.js        Intro dây giày
src/models.js       Tải GLB (meshopt) / bản tạm từ ảnh, hiệu ứng hiện + đổi màu dùng chung
src/view.js         Renderer, map khung HTML → không gian 3D, kéo xoay
src/main.js         Ghép trang: phối màu, bộ lọc, lookbook, đếm ngược, size
src/locales.js      Toàn bộ chữ vi + en
src/style.css       Giao diện (biến màu ở :root)

Tuỳ biến nhanh

Muốn đổiSửa ở
Màu phối (độ xoay sắc độ / tô màu)COLORWAYS trong src/main.js (hue radian, hoặc tint)
Vị trí 3 chú thích trên giàyANCHORS (tỉ lệ trong khung bao model)
Giày trên kệ, giá, nhóm lọcSHOES
Ngày dropDROP (mặc định thứ Sáu kế tiếp, 20:00)
Bảng quy đổi sizerenderSize()

Ghi chú