TP015

An Lâm Villas Phú Quốc

Resort & biệt thự nghỉ dưỡng: ảnh phong cảnh trở thành không gian 3D bước vào được — thị sai che khuất theo độ sâu, camera tiến sâu vào ảnh khi cuộn, chuyển cảnh theo lớp gần–xa.

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

Website song ngữ cho resort, biệt thự nghỉ dưỡng hoặc dự án BĐS: 5 ảnh phong cảnh thành không gian 3D bước vào được (thị sai che khuất theo độ sâu), cuộn để tiến vào ảnh, chuyển cảnh theo lớp gần–xa.

Chạy thử

Cần Node.js 18+.

npm install
npm run dev       # mở http://localhost:5173
npm run build     # xuất bản tĩnh vào dist/ — upload lên hosting bất kỳ

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

Cấu trúc

index.html            Khung trang (mọi section)
src/scene.js          Shader “ảnh 3D bước vào được” + chuyển cảnh theo độ sâu
src/locales.js        TOÀN BỘ nội dung chữ (vi + en) — sửa ở đây
src/main.js           Ghép trang: preloader, cuộn, tương tác, form
src/style.css         Giao diện: biến màu/font ở `:root`, bố cục, responsive
src/fx.js + fx.css    Bộ motion: preloader, tách chữ, con trỏ, nút từ tính, marquee, đếm số, parallax, mở ảnh
src/smooth-scroll.js  Cuộn mượt (Lenis)
src/i18n.js           Chuyển ngôn ngữ (data-i18n)
public/images/        Ảnh webp (+ `*-depth.webp` = bản đồ độ sâu)
asset-prompts.json    Prompt tạo lại từng ảnh bằng AI
PROMPT.md             Prompt dựng lại trang bằng AI builder
scripts/depth-map.mjs  Tạo bản đồ độ sâu cho ảnh mới (chạy local)

Tuỳ biến nhanh

Muốn đổiSửa ở
Chữ, giá, địa chỉsrc/locales.js
Màu nền / chữ / fontbiến :root trong src/style.css + link Google Fonts trong index.html
Đổi các cảnh hành trìnhmảng SCENES trong src/main.js (mỗi cảnh cần ảnh + -depth.webp)
Độ mạnh thị sai / tiến vào ảnhuView * 0.035 và dolly * 0.16 trong src/scene.js
Màu vệt nắng khi chuyển cảnhuniform uSeam trong src/scene.js
Công thức lợi nhuận đầu tưhàm calc() trong src/main.js
Mặt bằng biệt thựSVG .plan-svg trong index.html (mỗi phòng một path data-room)

Ảnh & bản đồ độ sâu

npm i -D @huggingface/transformers sharp
node scripts/depth-map.mjs anh-moi.png public/images/anh-moi-depth.webp

(Depth Anything V2 — chạy offline sau lần tải model đầu tiên.)

Ghi chú