Meshroom 教學Author: Kelvin Huang MeshRoom 是由 AliceVision 推出的開源的攝影測量(Photogrammetry)與 3D 重建軟體,可以將一組從不同角度拍攝的照片,重建成 點雲、網格模型與貼圖。它現在除了傳統的 3D 重建流程之外,也逐漸發展成一個節點式的電腦視覺處理工具箱。你可以拿著相機或手機圍著物體拍很多張照片,匯入 MeshRoom 之後,它就會分析照片間的共同特徵、推算相機位置,最後重建出 3D 模型。這很適合用在文物數位化、產品掃描、場景重建、道具建模、環境製作等用途。
![]() MeshRoom 的優點是免費、開源,它把複雜的 3D 重建流程做成可視化節點,而且社群資源不少,GitHub 與說明文件都能找到資料。不過 MeshRoom 有幾個現實上的限制,它不是「拍幾張就能穩出完美模型」的軟體,對於照片的品質、拍攝角度、光線、材質都很要求,若物件是金屬、黑色、透明、反光材質,將會比霧面物體更難重建,這是攝影測量本身就常見的限制,使用 3D 掃描設備也會遇到相同的情況,不是 MeshRoom 單獨才有的問題。 首先到官網下載 MeshRoom 安裝檔,目前的版本支援 Windows 與 Linux 系統,安裝通常不複雜,下載後解壓縮即可開始使用。 ![]() 您需要知道一個關於硬體上的重點:MeshRoom 的完整 Photogrammetry 流程通常對 NVIDIA CUDA GPU 比較友善。如果沒有使用 NVIDIA 顯卡,有些節點可能無法正常執行或功能受限。官方有說明部分流程可降低 CUDA 依賴,但對大部份的使用情境來說,最穩定的仍然是用 NVIDIA 顯卡。 拍照前的觀念,比軟體操作更重要,使用 MeshRoom 重建 3D 模型能否成功,照片的品質比後面的參數調整更重要。影像取得是很重要的前置工作,因為 Photogrammetry 的核心是在不同照片裡找到相同特徵點。拍攝時先掌握這些原則: 1、繞著物體走一圈,每張照片要和前後照片有足夠重疊,每次只移動一點點,這樣 MeshRoom 比較容易知道照片彼此之間的關係,這是官方教學強調的影像採集重點。 2、拍攝光線要穩定,避免要一下很亮、一下很暗,也不要強反光。金屬、黑色、透明、鏡面材質本來就比較難做 Photogrammetry,因為特徵不穩定或會反射環境,這時常需要額外處理。 3、背景不要太雜亂,如果背景充滿複雜干擾,軟體有時會把背景也一起當成重建對象。建議先用霧面、紋理適中、輪廓清楚的小物件練習,例如雕像、模型、公仔、石頭、鞋子這類物體。 剛開始練習可準備 30~100 張的照片,不用一開始就追求超大量。先拍一圈平視角度,再補一圈稍微由上往下拍的角度;如果物件底部不重要,可以先不處理底部。這樣通常比只拍單一高度更容易成功,因為可以讓 MeshRoom 取得更完整的立體資訊。 開啟 MeshRoom 之後,最簡單的入門方式並不需要自己拉節點,而是直接使用預設的工作流程。 MeshRoom 本身就是以標準 Photogrammetry Pipeline 建立的,對標準用途已有一條預設流程。接著將拍好的照片直接拖進 MeshRoom 視窗裡。匯入後 MeshRoom 將會建立專案,並在畫面上顯示照片與節點流程。您會看到節點串列,但先不用急著改參數。第一次的目標是先成功跑完一次完整流程。 本教學使用無人機的空拍照展示 MeshRoom 操作,原本來自 DJI FLIP 無人機拍攝的 MP4 影片,使用自行使用 Python 撰寫的程式轉存成連續照片,若需要原始碼可在網頁下方取得。將這些圖片拖曳到 Meshroom 匯入專案,建議先進行儲存,因為使用 MeshRoom 重建 3D 模型的運算相當費時,要有心理準備。照片數量越多、解析度越高、GPU 算力不夠,時間差異會很大,這是很正常的情況。 ![]() 儲存後將會建立不同的資料夾,實際上是對應到不同的節點,您不需要深入瞭解,這些資料夾包括: CameraInit:讀取影像 metadata、感光元件資訊,產生 viewpoints.sfm 和 cameraInit.sfm FeatureExtraction:從照片中找可辨識的特徵 ImageMatching:比對不同照片的共同特徵 FeatureMatching:比對不同照片的共同特徵 StructureFromMotion:推算相機位置,建立稀疏點雲 DepthMap:計算每個視角的深度資訊 Meshing:把點雲轉成網格 Texturing:把原始照片資訊烘成材質貼圖 判斷重建 3D 模型是否成功 最先看的不是最後貼圖多漂亮,而是 StructureFromMotion 的結果是否正常。如果這一步成功,將會看到相機位置分布成圍繞物體的一圈,並出現大致符合物體形狀的稀疏點雲。這代表 MeshRoom 已經大致理解照片之間的空間關係。這一步是後面深度圖與建模的基礎。如果在這一步就失敗,後面通常也不會有漂亮結果。常見原因包括照片太少、太模糊、重疊不足、材質太反光、物體在照片間有移動。 生成網格與貼圖後先檢查的重點 當流程跑到 Meshing 和 Texturing 之後,可以看到比較完整的模型。這時先檢查: 1、看模型外形有沒有歪掉、破洞、缺角。 2、看表面有沒有大面積噪點或奇怪凸起。 3、看貼圖是否糊掉、拉伸或拼接不自然。 MeshRoom 的預設流程能處理標準情境,但最後品質仍然很依賴原始照片與拍攝方式。 Meshroom 匯入 Blender 將 texturedMesh.obj 拖曳到 Blender 即可檢視空拍建模的效果。 ![]() Meshroom 匯入 Unity 搭配 Unity 使用的話,開啟 [ MeshroomCache > Texturing > xxxxxxxxxx ] 資料夾後,將網格、材質、貼圖檔案拖曳到 Unity 專案。 包括 texturedMesh.obj / texturedMesh.mtl / texture_1001.png / texture_1002.png / texture_1003.png 檔案。 將 texturedMesh.obj 拖曳到場景,檢視 Meshroom 空拍建模的效果。 ![]() ![]() 關閉 Direction Light 陰影的效果。 ![]() Meshroom 相關連結
Copyright © 2026 CG Digital Corp. All rights reserved.
|