Archived2023· Academic Project
來生投放所
以電商平台概念讓使用者設計理想的來生,包含互動地圖、心理測驗、重生新聞 feed 與 3D 希望方塊。
ReactNode.jsMySQLLeafletThree.js
概念發想
這是資策會畢業專題,組員五人共同發想。「如果死後可以自己選擇投生的地方與身分,你會怎麼選?」
我們把這個哲學問題包裝成電商平台的形式——選地點、選物種、選身分,結帳送出,等待下一世。目標是在荒誕的框架裡,讓使用者真的思考「什麼對自己最重要」。
功能介紹
互動地圖(Leaflet)
使用 Leaflet 呈現世界地圖,使用者可以點選想投生的國家或城市。資料量大時使用 marker clustering 避免地圖過度擁擠,同時整合 react-window 做清單的虛擬捲動,保持效能。
心理測驗
設計一套多選題問卷,根據答案計算「來生屬性」——系統推薦最適合你的投生地點與物種。
重生新聞 feed
仿造新聞網站格式,以戲謔的語氣產出「來生頭條」,加強沉浸感。
3D 希望方塊
使用 @react-three/fiber 製作一個可互動的 3D 方塊,象徵使用者的來生心願。這是整個專案技術難度最高的部分。
技術挑戰
雙主題系統(陰/陽)
整個介面分為「陰間」(深色、冷色系)和「陽間」(淺色、暖色系)兩套主題,對應死後與重生的概念。
用 React Context 實作全域主題切換,所有元件根據當前主題套用不同 CSS 變數,避免 class 爆炸。
3D 渲染效能
@react-three/fiber 在低階裝置上幀率偏低。透過 useFrame 節流、降低幾何體細分數,以及在使用者未互動時暫停動畫,將平均 FPS 從 28 提升至穩定 55+。
MySQL 搜尋效能
投生清單超過千筆資料,模糊搜尋速度慢。在搜尋欄位加入複合索引後,查詢時間從 ~400ms 降至 ~30ms。