BlenderGIS 地形工作流程
使用即時 Blender 專案與 BlenderGIS 附加元件。保留作用中場景,並在使用者已有可用材質時重複使用該材質。
收集執行輸入
在開始前要求提供所有遺漏的值。除非使用者明確要求重複使用,否則不要將先前執行的值延續下來。
- 緯度
- 經度
- Map Range
From Min - Map Range
From Max - 渲染檔名(不含副檔名)
使用 BlenderGIS 偏好設定中已設定的本地 OpenTopography API 金鑰。切勿將 API 金鑰、精確座標或每次執行的範圍值寫入此技能、AGENTS.md、版本控制或公開紀錄中。如果缺少金鑰,請要求使用者在本地設定。
建構底圖與地形
- 確認 BlenderGIS 已啟用,並在更動任何內容前檢查作用中場景、專案路徑與已選取的地形物件。
- 將地理參考場景中心對齊提供的經緯度。使用 Google Satellite 底圖,縮放層級 14,並將目前檢視匯出為紋理平面。
- BlenderGIS 的
G位置搜尋使用 Nominatim 地理編碼器。如果使用者未授權將座標傳送至該服務,應在本地設定場景的地理參考,而非提交搜尋查詢。 - 地圖圖磚提供者會收到所選區域的圖磚請求。當使用者的請求未明確授權該外部請求時,請與使用者確認提供者。
- BlenderGIS 的
- 為底圖範圍請求 OpenTopography SRTM 30 公尺高程資料,並將其套用至已選取的底圖網格。使用使用者的本地 API 金鑰偏好設定;切勿列印或記錄請求 URL。
- 優先使用暫時的點陣路徑,並在清理暫存檔前將產生的影像/紋理打包至 Blender 專案中。避免覆蓋現有點陣檔案,或在授權的專案資料夾外部寫入
.blend旁的檔案。
- 優先使用暫時的點陣路徑,並在清理暫存檔前將產生的影像/紋理打包至 Blender 專案中。避免覆蓋現有點陣檔案,或在授權的專案資料夾外部寫入
- 在編輯模式中,選取所有地形幾何,執行 6 次細分切割。返回物件模式。
- 依疊加順序套用地形的修改器。
- 移除舊的材質指定,並在使用者現有的
Material.001材質存在時使用該材質。如果該材質遺失,請詢問要使用哪個材質,而不是在未經指示的情況下自行建立替代材質。 - 在該材質中,找到名為
Map Range的節點。將其標量From Min與From Max連接埠設為提供的值。Blender 可能顯示重複的浮點數與向量連接埠;請編輯VALUE連接埠。保持其他節點的值與連結不變。
設定攝影機與渲染
- 建立或重複使用一個上視正交攝影機。將其 X/Y 位置置中對齊地形已評估的世界邊界。將裁剪起始設為
0.1 m,裁剪結束設為12000 m。 - 從要求的正交比例(在既定工作流程中為 9000)開始,將攝影機置於地形上方。選擇一個高於最高表面點且能讓完整地形保持在裁剪範圍內的 Z 值。
- 正交攝影機的 Z 值不會改變取景範圍。比較來自
camera.data.view_frame(scene=scene)的攝影機畫面與地形的世界邊界。如果要求的比例會裁切表面,請解釋尺寸並在變更使用者指定的比例前詢問。全畫面比例應滿足frame_width >= terrain_width且frame_height >= terrain_height。 - 切換至佈局工作區,使用作用中攝影機渲染。將影像儲存在作用中
.blend旁,使用提供的檔名與.png副檔名,PNG 格式、BW 色彩模式、16 位元色深。除非使用者要求,否則不要儲存.blend。 - 驗證儲存的檔案存在且為灰階 16 位元 PNG。報告其路徑、渲染設定,以及是否儲存了
.blend本身。
可攜性與檔案處理
- 在執行階段從作用中
.blend解析輸出資料夾;不要硬編碼特定機器的路徑。 - 如果專案資料夾位於可寫入的工作空間之外,請在授權的工作空間中暫存渲染結果,並使用核准的檔案複製路徑將其放置於專案旁。絕不要透過 Blender 腳本繞過檔案系統權限。
- 在未先與使用者確認的情況下,不要覆蓋現有的輸出影像。