和 AI 討論幾輪後,我幫自己設定目標:用空拍機拍攝的照片,做出一個任何人都能在瀏覽器裡直接旋轉、縮放、互動瀏覽的3D模型
並統整了需瞭解的主要工具
(一) Litchi——負責「拍」
一款第三方無人機飛行App,能讓手上的空拍機 - Air 2S 執行自動格線飛行任務(Waypoint/Area Mapping),依照設定好的重疊率、高度,自動飛完整塊區域、自動拍照,取代人工手動一張一張拍的做法。
但需要大概台幣 800 買斷;這部份如果沒有打算花錢的話,可以自己先手動飛行,控制照片拍攝的頻率
照片成果會影像後面一連串的建模到網頁顯示,因為是「基底」的關係,所以我選擇買軟體來求好的品質
(二) WebODM(OpenDroneMap)——負責「建」
開源的攝影測量引擎,吃 Litchi 拍出來的大量重疊照片,透過運算比對照片間的特徵點(Structure from Motion),反推出實際的3D結構,產出正射影像圖、點雲,以及最重要的——帶紋理(Texture)的3D模型。
(三) Blender——負責「修」
免費的3D軟體,負責把WebODM跑出來的模型「瘦身」:減少面數、壓縮紋理(Texture)解析度,讓檔案小到能符合線上展示平台的限制,同時盡量不犧牲視覺品質。
(四) Sketchfab——負責「秀」
純網頁的3D展覽平台,把優化好的模型上傳上去,任何人打開連結,就能直接在瀏覽器裡互動瀏覽,不需要下載任何軟體。
(Optional) Three.js——延伸支線,做互動小遊戲
如果只是要完成「拍攝→建模→優化→展示」這條主線,用不到這個。但我另外規劃了一個Optional的延伸挑戰:用Three.js把模型做成可以互動的小遊戲(例如在3D場景裡藏東西讓人尋找)。
這部分會依據這 30 天的狀況來決定是否有這一個環節,希望是有啦! 但有很怕中間遇到很多未知的坑 XD
Litchi(拍攝) → WebODM(建模) → Blender(優化) → Sketchfab(展示)
這條產線是線性依賴的,這也代表整個計畫裡,最關鍵的風險其實是最前端的「拍攝」這一步:只要天氣不好、或是照片品質不夠,就需要再安排其他日子蒐集素材了 XD。
有了這張地圖,接下來的內容會沿著這條主線走:先搞懂每個工具能做什麼,再動手設定、挑選可以飛行的地點後,實際拍攝,最後跑出建模成果,一路到上線展示。
30天後,希望這張地圖上的基本四個核心節點,都已經被我親手走過一遍。
最好還能跟 Three.js 沾點邊 哈