Community影像github.com

TraX22/blender-materials-render

為 Blender 物件賦予可實際渲染的材質(Principled BSDF、玻璃、金屬、自發光、程式化紋理),設定燈光、世界、攝影機與渲染參數,並透過 BlenderLab 連線產出最終圖像。在用戶要求材質、顏色、紋理、燈光、攝影機或 Blender 場景渲染時使用,也可用於處理渲染結果出現全黑、灰階、平淡或噪點的問題。

blender-materials-render 是什麼?

此技能讓 AI 助手能直接透過 BlenderLab 連線操控 Blender,為 3D 物件建立可實際渲染的材質,包括 Principled BSDF 節點的各種表面類型(塑膠、金屬、玻璃、自發光、橡膠、車漆等),並自動設定燈光、世界背景與攝影機。技能特別強調材質設定必須作用於正確的節點(而非 viewport 顯示色),以避免常見的「視埠正常但渲染錯誤」問題。支援 EEVEE 與 Cycles 兩種渲染引擎,能根據場景需求選擇合適的引擎與參數,並執行小尺寸測試渲染後再進行最終高品質輸出。最終渲染結果會寫入檔案並回報完整路徑。此技能適用於所有支援 MCP 的 AI 代理平台(如 Claude Code、Cursor、Codex 等),只要用戶安裝並啟動 BlenderLab 連線即可運作。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/TraX22/HydraOps-Skills/tree/HEAD/blender-materials-render

Installed? Explore more 影像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

Blender 的材質、燈光與渲染

你透過 BlenderLab 連線 在用戶的 Blender 中工作。 視埠捕捉與最終渲染是不同的:捕捉顯示的是視埠當下的著色模式,而渲染則使用渲染引擎、燈光與世界。大多數「看起來沒事但渲染錯誤」的問題都源於此。

你的 Blender 連線

你透過 BlenderLab(官方 Blender Lab 伺服器)工作;其工具以 blenderlab_… 為前綴:

  • 場景中有什麼:get_objects_summary;單一物件的詳細資訊:get_object_detail_summary(依 name 查詢)。檔案(無論是否儲存)及其路徑:get_blendfile_summary_path_info。
  • 執行 Python:execute_blender_code。每次呼叫之間不會保留任何內容(請在每個腳本中攜帶你的輔助函式);腳本列印的內容會回傳,指派給 result 的字典會作為資料回傳。其防護機制會拒絕某些運算元(如退出 Blender、回復原廠設定)。
  • 查看 3D 視埠:使用 get_screenshot_of_area_as_image 並設定 area_ui_type: "VIEW_3D"(整個視窗:get_screenshot_of_window_as_image);將視埠對準某個物件:jump_to_view3d_object_by_name。
  • 查詢 Python API:get_python_api_docs(傳入識別碼,例如 bpy.types.BevelModifier)、search_api_docs;手冊:search_manual_docs。
  • 快速渲染:render_thumbnail_to_path、render_viewport_to_path;圖片會存到 Blender 的暫存資料夾,結果會回傳真實路徑。
  • 匯出:程式碼(bpy.ops.export_scene.gltf、bpy.ops.export_scene.fbx)。
  • 資產庫與 3D 產生器:無。請自行建立物件,或要求用戶提供要匯入的檔案。

如果這些工具不可用,請停止並告知:用戶必須安裝 BlenderLab 連線(工具 → 連線),將其提供給此代理程式,並讓 Blender 開啟且附加元件的伺服器已啟動。請勿將無法完成的工作描述為已完成。

工作順序

  1. 觀察:使用場景工具;有哪些物件、哪些已有材質、是否有攝影機、燈光、世界?讀取 bpy.app.version_string 及目前的渲染引擎。
  2. 材質:每種不同表面建立一個材質,以其本質命名(如 Oak_Wood、Brushed_Steel),並在不同物件間重複使用。
  3. 燈光與世界:在評估任何材質之前先設定燈光與世界:無法在黑暗中評估材質。
  4. 攝影機:對準主題,使用合理的焦距。
  5. 測試渲染:小尺寸(25-50% 解析度,少量樣本),觀察後修正。
  6. 最終渲染:輸出到檔案,並回報路徑、引擎、解析度與時間。

每個步驟的程式碼位於 references/shading-and-render.md。在撰寫第一個腳本前請先開啟該檔案。

材質:常見問題

  • 顏色設定在錯誤位置。 material.diffuse_color 和 object.color 僅是視埠顯示顏色:它們不會出現在渲染中。實際渲染的顏色是 Principled BSDF 節點的 Base Color 輸入。若希望實體模式視埠與渲染一致,請兩者都設定。
  • Blender 4.0 中輸入名稱變更。 Transmission 改為 Transmission Weight、Emission 改為 Emission Color、Specular 改為 Specular IOR Level、Clearcoat 改為 Coat Weight、Subsurface 改為 Subsurface Weight。請透過名稱查詢輸入並確認其存在後再設定;不確定時請使用連線的 API 工具。
  • 已建立材質但從未指定。 將材質附加到 obj.data.materials;若同一網格的不同部位使用不同材質,請設定 polygon.material_index。
  • 依類型而非名稱尋找節點。 該節點僅在英文介面中稱為「Principled BSDF」。請使用 next(n for n in nodes if n.type == 'BSDF_PRINCIPLED')。
表面類型Principled BSDF 設定
漆面、塑膠Base Color;Roughness 0.3-0.6;Metallic 0
金屬Metallic 1.0;Base Color = 金屬的顏色;Roughness 0.15-0.5
玻璃Transmission Weight 1.0;Roughness 0-0.05;IOR 1.45;需要有世界或燈光才能產生折射內容
發光Emission Color + Emission Strength (1-20)
橡膠、布料、消光Roughness 0.8-1.0
車漆、清漆Coat Weight 1.0;Coat Roughness 0.05

Metallic 應為 0 或 1,幾乎從不取中間值。純黑色 (0, 0, 0) 與純白色 (1, 1, 1) 的 Base Color 在燈光下看起來不對勁:請維持在約 0.03-0.9 的範圍內。

燈光與世界

  • 沒有世界且沒有燈光會導致渲染全黑;而即使有燈光,若世界空無一物,玻璃或鉻金屬在空世界中渲染也會全黑,因為沒有東西可反射或折射。請為世界設定顏色與強度,或使用 HDRI。
  • 一個可靠的起點:一個大型區域光作為主光(與物體成 45° 角,位於上方一側)、另一側較弱的補光、後方一道邊緣光,以及強度較低的世界(0.2-0.5)。
  • 區域光功率以瓦特為單位,且需要較高數值:距離小型物體 2 公尺的 1 平方公尺區域光約需 100-500 W。太陽光的強度則不同:2-5。
  • 物體下方的地面平面可提供接觸陰影;沒有它物體會看起來懸浮在空中。
  • HDRI 可一次提供逼真的光線與反射。Blender(MCP for Blender)連線可從 Poly Haven 下載 HDRI:但此為第三方內容,需在 HydraOps 中獲得授權,因此請先詢問。在 BlenderLab 上,請要求用戶提供 HDRI 檔案。

渲染引擎

EEVEECycles
速度數秒數秒至數分鐘
用途預覽、風格化、動畫最終靜態圖、玻璃、精確光線
注意事項反射與折射需啟用光線追蹤;否則玻璃與光滑表面會看起來平淡或有顆粒感噪點:提高樣本數並保持降噪開啟;僅在用戶設定後才使用 GPU

EEVEE 的引擎識別碼因版本而異(4.2-4.5 為 BLENDER_EEVEE_NEXT,之前與之後為 BLENDER_EEVEE):參考資料顯示如何無需猜測即可正確設定。請勿變更用戶的渲染裝置或偏好設定。

攝影機

  • 若場景中沒有攝影機,請建立一個並設為場景攝影機;除非用戶要求,否則不要移動用戶已放置的攝影機。
  • 使用 Track To 約束將攝影機對準主題或空物體;物件使用 50-85 mm,房間與環境使用 24-35 mm。
  • 使用小型測試渲染來檢查構圖,而非視埠截圖(除非切換至攝影機視圖,否則視埠並非攝影機)。

渲染

  • 渲染到檔案,使用用戶可找到的資料夾中的絕對路徑(若 .blend 已儲存則放在其旁,否則詢問或使用用戶的暫存資料夾),並回報完整路徑。切勿在未告知的情況下覆寫現有檔案。使用程式碼執行(參考資料中有說明):BlenderLab 自己的渲染工具僅用於快速檢查,無論你給什麼路徑,它們都會寫入 Blender 的暫存資料夾;請回報它們結果中命名的路徑。
  • 先進行小型測試。全解析度的 Cycles 渲染可能需要數分鐘,且會在執行期間鎖住 Blender;在開始長時間渲染前請告知用戶。
  • 在宣告成功前先查看結果:視埠捕捉不等於渲染。如果你無法自行查看渲染檔案,請坦誠說明,並描述你所設定的內容,而非圖像「看起來如何」。
  • 色彩管理:預設的視圖轉換(AgX 或 Filmic)會使強烈顏色去飽和以達到真實感;若需完全匹配的平面圖形顏色,請使用 Standard。

疑難排解

症狀常見原因
渲染全黑無燈光且無世界;攝影機位於物體內部;物件被隱藏不渲染
物體呈現灰色或白色材質未指定,或顏色設定在 diffuse_color 而非 Base Color
玻璃呈現黑色世界空白;在 EEVEE 中光線追蹤關閉
呈現粉紅或洋紅色缺少影像紋理檔案
有顆粒感Cycles:樣本數過少或未啟用降噪。EEVEE:光線追蹤關閉,或軟陰影樣本數過低
平淡、無深度僅有世界光:請加入主光與地面平面
顏色 washed-out視圖轉換:嘗試 Standard,或降低曝光度
曲面呈現塊狀平面著色:請啟用平滑著色

在宣告完成之前

  • 每個可見物件都已指定材質,且其 Base Color 已在節點上設定。
  • 存在燈光或已發光的世界,以及一個構圖對準主題的攝影機。
  • 已將渲染結果寫入檔案,並提供了路徑、引擎與解析度。
  • 僅變更了被要求的項目:未刪除物件,也未變更偏好設定。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

相關技能