Báo cáo những gì đã thử để tái dựng thế giới xung quanh vật thể chính (hero capture) — đường, khu phố, toà nhà quanh một cảnh — và kết quả.
Ảnh + tham chiếu Apple/Google + OSM → mô hình image-to-3D (TRELLIS.2 / Pixal3D) → GLB có texture → LOD → Blender. Đã chạy đầu-cuối trên toà nhà thật. Kết quả: dùng được cho một vật thể đơn lẻ; ở quy mô lớn cho ra hướng/tỉ lệ tuỳ tiện, geometry mỏng/thoái hoá, và mỗi toà là một job GPU riêng.
LiDAR USGS 3DEP + màu ảnh NAIP + footprint OSM → một mesh/splat liền mạch phủ hàng nghìn toà cùng lúc. Kết quả: liền mạch, nhận diện được, sạch bản quyền, không floater. Các mục 02+ nói về hướng này.
Một ảnh tham chiếu → một GLB mesh có texture (~1 triệu tam giác mỗi cái), chạy trên GPU Vast thuê. Các output dưới đây render tươi bằng hardware WebGPU.
Cả hai hướng đều nặng AI — khác nhau ở chỗ AI ra tay. Sinh geometry từ số 0 là nơi chất lượng sụp ở quy mô lớn; còn nâng cấp + phủ vật liệu lên geometry thật là nơi nó trụ được.
Mọi thứ bắt đầu từ ba nguồn miễn phí, sạch thương mại cho khu RangerOne (Arlington, TX): LiDAR USGS 3DEP (điểm 3D thật), ảnh hàng không NAIP của USDA (màu), và footprint OpenStreetMap (2.722 toà). Không một pixel Google/Apple nào chạm vào kết quả — chúng chỉ là tham chiếu.
Đầu tiên chúng ta thử biến môi trường thành Gaussian Splat (cùng chất liệu với hero). Qua bốn lần retrain, splat cứ kéo nhoè toà nhà thành vệt đứng — không phải lỗi tinh chỉnh mà là trần dữ liệu: LiDAR hàng không 2018 dày ở mái/mặt đất nhưng yếu ở tường, nên các gaussian trôi tự do không có gì để bám.
env3.csplod (2,6M gaussian, WebGPU 3DGS): lòng chảo sân vận động, địa hình, cây, sông.
Lời giải là ngừng chống lại nó: mesh hoá LiDAR thành một bề mặt liền mạch (như địa hình Cesium). Bề mặt thì không thể trôi, nên vệt nhoè biến mất hoàn toàn — và các điểm đã sẵn màu hàng không nên mesh có texture miễn phí.
Đây là mesh WebGPU thật, sinh từ LiDAR — không có geometry Google/Apple. Bề mặt liền mạch = không floater, nhận diện rõ sân vận động/đường/hồ/cây.
Chụp từ trên cao thấy mái và mặt đất nhưng gần như không thấy tường. Trên mesh LiDAR thô, toà nhà “tan chảy” (mái đổ thẳng xuống đất, không có mặt đứng). Cách đã dùng: lấy footprint OSM, lấy độ cao mái từ LiDAR, rồi đùn tường đứng giữa hai cái đó (City3D / LoD2).
Đã thử enhance ảnh bằng AI (Gemini, Qwen-Image-Edit) trên các render trước khi train. Enhance từng góc nhìn riêng lẻ: splat train thành cháo, đo được PSNR ~9,5. Enhance một bề mặt 3D chung (bake texture) rồi render các góc nhất quán từ nó: PSNR ~22.
Cũng đã dựng 3D-tiles photoreal của Google/Overture với hệ LOD streaming (giảm 90% dung lượng cho góc tổng quan).