把真實城市變成 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 聰不聰明不是關鍵,真正卡住我的是思考和記錄被迫分開。
這是一場以 Google 工具為主的 Agentic Workflow 設計實驗。我刻意限制可用工具,想知道 Google 工具鏈真正的上限在哪裡。
當我們談論 AI 工具時,往往關注功能和價格,卻忽略了一個關鍵問題:不同的 AI 模型在面對同一個問題時,會給出怎樣不同的答案?這個實驗源於一個簡單的好奇心:如果讓三個主流 AI 模型回答同一個技術問題,它們的回答會有多大差異?
Godot 4 的遊戲在 Mac 或 PC 上跑 60fps 很輕鬆,但當你點下 Export HTML5 丟上網頁,打開第一秒就可能碰壁:灰色畫面、跨域安全限制、iOS 閃退、音效死鎖。