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。