Community研究與資料分析github.com

Firmansjk/blendergis-terrain

根據使用者提供的座標、地圖範圍邊界與輸出檔名,建構 BlenderGIS 地形圖與灰階高程渲染。專用於此地理參考底圖至 SRTM 的工作流程,而非無關的 Blender 操作。

blendergis-terrain 是什麼?

此技能(skill)專為 BlenderGIS 地形工作流程設計,讓使用者能根據自訂的經緯度座標、Map Range 的 From Min 與 From Max 值,以及輸出的 PNG 檔名,自動建構地理參考底圖並產生灰階高程渲染。它依賴 Blender 即時專案與 BlenderGIS 附加元件,首先從 OpenTopography 取得 SRTM 30 公尺解析度的數值高程模型(DEM)資料,並套用至底圖網格上;接著對地形幾何進行細分與修改器疊加,再利用使用者現有的材質(如 Material.001)中的 Map Range 節點設定灰階映射範圍。最後,技能會建立一個上視正交攝影機,確保完整地形在裁剪範圍內,並以 16 位元灰階 PNG 格式渲染輸出。此技能也注重可攜性與檔案安全性:它會從作用中 .blend 檔案的路徑解析輸出資料夾,除非使用者要求否則不會儲存 .blend 本身,且不會覆蓋既有輸出影像。整個流程會在使用前驗證所有輸入,並避免將 API 金鑰、精確座標等敏感資訊寫入任何公開記錄或版本控制中。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Firmansjk/BlenderGIS-Terrain-Export-AISkill/tree/HEAD/blendergis-terrain

Installed? Explore more 研究與資料分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

BlenderGIS 地形工作流程

使用即時 Blender 專案與 BlenderGIS 附加元件。保留作用中場景,並在使用者已有可用材質時重複使用該材質。

收集執行輸入

在開始前要求提供所有遺漏的值。除非使用者明確要求重複使用,否則不要將先前執行的值延續下來。

  • 緯度
  • 經度
  • Map Range From Min
  • Map Range From Max
  • 渲染檔名(不含副檔名)

使用 BlenderGIS 偏好設定中已設定的本地 OpenTopography API 金鑰。切勿將 API 金鑰、精確座標或每次執行的範圍值寫入此技能、AGENTS.md、版本控制或公開紀錄中。如果缺少金鑰,請要求使用者在本地設定。

建構底圖與地形

  1. 確認 BlenderGIS 已啟用,並在更動任何內容前檢查作用中場景、專案路徑與已選取的地形物件。
  2. 將地理參考場景中心對齊提供的經緯度。使用 Google Satellite 底圖,縮放層級 14,並將目前檢視匯出為紋理平面。
    • BlenderGIS 的 G 位置搜尋使用 Nominatim 地理編碼器。如果使用者未授權將座標傳送至該服務,應在本地設定場景的地理參考,而非提交搜尋查詢。
    • 地圖圖磚提供者會收到所選區域的圖磚請求。當使用者的請求未明確授權該外部請求時,請與使用者確認提供者。
  3. 為底圖範圍請求 OpenTopography SRTM 30 公尺高程資料,並將其套用至已選取的底圖網格。使用使用者的本地 API 金鑰偏好設定;切勿列印或記錄請求 URL。
    • 優先使用暫時的點陣路徑,並在清理暫存檔前將產生的影像/紋理打包至 Blender 專案中。避免覆蓋現有點陣檔案,或在授權的專案資料夾外部寫入 .blend 旁的檔案。
  4. 在編輯模式中,選取所有地形幾何,執行 6 次細分切割。返回物件模式。
  5. 依疊加順序套用地形的修改器。
  6. 移除舊的材質指定,並在使用者現有的 Material.001 材質存在時使用該材質。如果該材質遺失,請詢問要使用哪個材質,而不是在未經指示的情況下自行建立替代材質。
  7. 在該材質中,找到名為 Map Range 的節點。將其標量 From Min 與 From Max 連接埠設為提供的值。Blender 可能顯示重複的浮點數與向量連接埠;請編輯 VALUE 連接埠。保持其他節點的值與連結不變。

設定攝影機與渲染

  1. 建立或重複使用一個上視正交攝影機。將其 X/Y 位置置中對齊地形已評估的世界邊界。將裁剪起始設為 0.1 m,裁剪結束設為 12000 m。
  2. 從要求的正交比例(在既定工作流程中為 9000)開始,將攝影機置於地形上方。選擇一個高於最高表面點且能讓完整地形保持在裁剪範圍內的 Z 值。
  3. 正交攝影機的 Z 值不會改變取景範圍。比較來自 camera.data.view_frame(scene=scene) 的攝影機畫面與地形的世界邊界。如果要求的比例會裁切表面,請解釋尺寸並在變更使用者指定的比例前詢問。全畫面比例應滿足 frame_width >= terrain_width 且 frame_height >= terrain_height。
  4. 切換至佈局工作區,使用作用中攝影機渲染。將影像儲存在作用中 .blend 旁,使用提供的檔名與 .png 副檔名,PNG 格式、BW 色彩模式、16 位元色深。除非使用者要求,否則不要儲存 .blend。
  5. 驗證儲存的檔案存在且為灰階 16 位元 PNG。報告其路徑、渲染設定,以及是否儲存了 .blend 本身。

可攜性與檔案處理

  • 在執行階段從作用中 .blend 解析輸出資料夾;不要硬編碼特定機器的路徑。
  • 如果專案資料夾位於可寫入的工作空間之外,請在授權的工作空間中暫存渲染結果,並使用核准的檔案複製路徑將其放置於專案旁。絕不要透過 Blender 腳本繞過檔案系統權限。
  • 在未先與使用者確認的情況下,不要覆蓋現有的輸出影像。

相關技能