把真實城市變成 3D 場景:OpenStreetMap、Blender 與 Three.js 的一條管線
Midnight Run 跑的不是我畫出來的賽道,是台北信義區真正的街廓。整條路線來自 OpenStreetMap 的一份快照,經過 Blender 產生城市模型,最後變成瀏覽器裡 1.3MB 的 GLB。
實驗、比較與實戰學習。
THREE.JS × FLOOR PLAN · INTERACTIVE SPACE LAB
在兩種三房格局之間切換,拖拉家具、轉動視角,看一張平面圖怎麼變成可操作的 3D 空間。
開始佈置空間 ↗GODOT × BFS · INTERACTIVE SOLVER LAB
親手推箱、逐層播放 BFS 搜尋、拿一步最佳提示,再看看 CI 怎麼替 100 關守住資料契約。
打開解題實驗室 ↗BLENDER × THREE.JS · IMMERSIVE ESSAY
捲動穿過五個 3D 場景,看看我怎麼從「全部交給 AI」走到把最後的決定留給自己。
開始互動閱讀 ↗OPENSTREETMAP × THREE.JS · SEEDED ARCADE RACE
道路、灰盒建物與高程預生成自開放資料;每個 seed 都會從道路網組出封閉路線,再和三名 AI 對手比三圈。
開始街道賽 ↗OPENSTREETMAP × BLENDER × THREE.JS · REAL CITY
賽道不是畫出來的。整條路線來自 OpenStreetMap 快照,經 Blender 產生城市,最後是瀏覽器裡 1.3MB 的 GLB。
開始夜跑 ↗FREE STARTER · VITE · TYPESCRIPT · MIT
先在線上玩完整互動 Demo,再用 GitHub Template 或 ZIP 帶走包含行動版、reduced motion 與 WebGL fallback 的原始碼。
開啟 Starter →Behind the scenes
Midnight Run 跑的不是我畫出來的賽道,是台北信義區真正的街廓。整條路線來自 OpenStreetMap 的一份快照,經過 Blender 產生城市模型,最後變成瀏覽器裡 1.3MB 的 GLB。
一開始用 AI 寫 App 的時候,我最常下的指令是:「幫我把這個功能做完。」有時候它真的做得很快,快到我覺得自己是不是找到了什麼新方法。
筆記應該在想法出現的當下就被記下來。AI 聰不聰明不是關鍵,真正卡住我的是思考和記錄被迫分開。
保留 2026 年 1 月的工具分工與人工交接經驗,交代當時未完成的串接;本文不提供現行額度或節費成效保證。
一次同題問答,讓三個模型分析彼此的匿名回答。保留當時觀察,同時交代缺少原始紀錄、控制條件與評分標準的限制。
從本站 Last Pitch Derby 的匯出設定與檔案實測,區分單執行緒、gzip 傳輸與記憶體成本,再用一份檢查流程定位灰畫面、聲音與載入問題。