TP028

Mochi Toys — Art toy blind box

Website thương hiệu art toy với 6 model 3D: 5 nhân vật bay lơ lửng theo chuột, hộp blind box 3D lắc rồi nổ confetti ra figure ngẫu nhiên theo đúng tỉ lệ, bản bí mật là bóng đen cho tới khi bạn mở trúng, bộ sưu tập lưu lại.

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

Website song ngữ (VI/EN) cho thương hiệu art toy, figure, đồ sưu tầm: nhân vật 3D trôi theo chuột, mở blind box 3D có tỉ lệ thật, bản bí mật hiện bóng đen, bộ sưu tập lưu lại, nghệ sĩ, sự kiện và shop.

Chạy thử

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 ở
fig-banh-bao, fig-ca-phe, fig-nem, fig-cheHero, mở hộp, bộ sưu tập
fig-rongBản bí mật (bóng đen cho tới khi mở trúng)
blind-boxKhối mở hộp
npm i -D @gltf-transform/core @gltf-transform/extensions @gltf-transform/functions meshoptimizer sharp
node scripts/optimize-models.mjs

Cấu trúc

src/opener.js    Hộp blind box 3D: lắc, tan biến, confetti, figure bật ra
src/intro.js     Intro viên gacha rơi – nảy – tách đôi
src/slots.js     Model gắn vào ô HTML (hero, thẻ bộ sưu tập)
src/models.js    Tải GLB / bản tạm từ ảnh, hiệu ứng hiện, bóng đen (silhouette)
src/main.js      Tỉ lệ bốc, bộ sưu tập (localStorage), sự kiện
src/locales.js   Toàn bộ chữ vi + en (tên & tính cách nhân vật)

Tuỳ biến nhanh

Muốn đổiSửa ở
Nhân vật, màu thẻFIGS trong src/main.js
Tỉ lệ bản bí mậtSECRET_ODDS (mặc định 1/72)
Vị trí các bé ở herothuộc tính --x --y --w --d của .hs trong index.html
Ngày sự kiệnrenderEvents() (tính từ hôm nay)

Ghi chú