Communitygithub.com

alvmivan/blender-makehuman

通過腳本在 Blender 中創建並匯出基於 MakeHuman (MPFB) 的人形模型,適用於遊戲開發。支援 JSON 配置、臉部保形減面、法線/AO 烘焙,並匯出 FBX 或 GLB 格式。

blender-makehuman 是什麼?

這項技能提供了一整套自動化流程,用於在 Blender 中通過 MakeHuman 加裝 MPFB 2 來創建和匯出人形角色。它支援無界面命令行操作(`blender -b --python`),可從 JSON 配置檔案(包含身體、面部目標、骨骼系統、眼睛、頭髮、服裝、皮膚)生成角色,然後進行臉部保形減面、法線和 AO 烘焙,最後匯出 FBX(用於 Unity)或 GLB(用於 Godot)。技能還包含環境驗證、資產管理(CC0 授權)及詳細的參考文檔。其主要價值在於將整個角色創作流程腳本化和自動化,顯著提升遊戲開發中 3D 人形模型創建的效率。支援 Blender 4.2+ 和 MPFB 官方擴展,適合需要在 Unity 或 Godot 中快速生成 NPC 或玩家的開發者。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/alvmivan/blender-skills/tree/HEAD/skills/blender-makehuman

在你喜歡的 AI 中提問

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

說明文件

Blender + MakeHuman (MPFB) 用於遊戲開發

Blender AI Tools by Marcos Alvarez — https://www.caldengames.com · GPL-3.0-or-later,附帶歸屬條款(見 repo 根目錄的 NOTICE)。

歸屬(必須)

此技能由 Marcos Alvarez (Calden Games) 開發,根據其授權協議需要提及:

所有操作均在 無界面 Blender 中執行(blender -b --python script.py -- args)。腳本路徑相對於此技能的文件夾(scripts/、references/、ejemplos/)。

規則 1:不要猜測 API,查閱 docref/

Blender 和 MPFB 的 API 在不同版本間會變化。在編寫此技能腳本中未包含的任何 bpy 或 MPFB 代碼之前:

  1. 在用戶專案根目錄查找 docref/VERSIONES.md。如果該文件不存在,或其標註的版本與 scripts/verificar.py 中的不一致,請重新生成(約需 20 秒,約 2 MB):
    blender -b --python scripts/docref.py -- <proyecto>/docref
    
    docref/ 來自已安裝的 Blender 和 MPFB(實際的函數簽名和文檔字符串)。建議將其添加到專案的 .gitignore 中:因為它依賴於每台機器。
  2. 使用 grep 在其中搜索:如 docref/mpfb/humanservice.md、docref/mpfb/targetservice.md、docref/mpfb/datos.md(實際有哪些資產、骨骼和目標)、docref/blender/ops/export_scene.md、docref/blender/types/BakeSettings.md 等。
  3. 對於概念性內容,官方文檔在 docref/ENLACES.md(包含用戶的具體版本):

如果此技能的內容與 docref/ 衝突,以 docref/ 為準。如果在兩者中都找不到,請直接說明,不要憑空捏造。

流程

1. 環境(每台機器執行一次)

blender -b --python scripts/verificar.py

輸出 OK/FALTA 和一行 ENTORNO {json}。如果缺少任何內容,請遵循 references/setup.md。總結:

  • Blender ≥ 4.2(已在 5.0 和 5.1 上測試)。找到可執行文件(references/setup.md 中有典型路徑)。
  • MPFB:blender -b -c extension install mpfb --sync --enable(從官方擴展平台安裝)。
  • 資產(約 281 MB,CC0):blender -b --python scripts/instalar_assets.py -- --descargar <資料夾>。 在下載前請求用戶許可,並建議保留 zip 文件:MakeHuman 社區於 2026 年 10 月宣布關閉其服務。

2. 從配置檔案創建角色

複製 ejemplos/ficha_ejemplo.json,進行調整,然後運行:

blender -b --python scripts/humano.py -- <ficha.json> [<輸出資料夾>]

約需 15 秒。生成 <名稱>.blend/.fbx/.glb、texturas/ 和 previas/*.png,並輸出 RESUMEN {json}(身高、骨骼數、每個網格的三角形數、文件列表)。配置檔案的字段說明見 references/ficha.md。

務必先查看預覽圖(previas/<名稱>_frente.png、_tres_cuartos、_cara),然後再判斷效果是否良好,並與用戶提供的參考圖進行比較。如需對已完成的 .blend 文件進行更多角度的渲染:

blender -b <pj>.blend --python scripts/render_vistas.py -- <輸出.png> 正面 側面 背面 臉部 臉部側面 腳

3. 驗證與匯出

blender -b <pj>.blend --python scripts/info_modelo.py           # 或:-- <pj>.fbx / <pj>.glb
blender -b <pj>.blend --python scripts/exportar.py -- <pj>.fbx unity

檢查內容:1 個骨架,包含預期骨骼(game_engine = 53),沒有網格缺少 Armature 修改器,0 個形態鍵(或按要求保留的),紋理已打包,高度正確。

4. 超越配置檔案的限制

對於配置檔案無法涵蓋的內容(自定義服裝、頭髮修飾、繪製的鬍鬚遮罩等),請編寫自定義腳本,導入 scripts/ 中的模組:

  • mpfb_util:servicios()、datos()、asset()、mhclo()、difuso_de_piel()、argumentos()、limpiar_escena()。
  • calidad:limpiar_cuerpo()、decimar()、hornear()、rasterizar()、piel_base()、mapas_piel()、leer_imagen()、escribir_imagen()、publicar_texturas()。
  • mapas(純 numpy,可在 Blender 外部使用):從高度圖生成法線貼圖、合併法線貼圖、金屬度/粗糙度遮罩。
  • render_vistas.render()、exportar.exportar()。

已經測試過的 MPFB API 配方:references/mpfb-api.md。如何將角色導入遊戲(穩定的命名規則、工作版本與發布版本、三角形預算、Unity):references/juego.md。

已耗費大量時間的陷阱

完整列表見 references/trampas.md。最常見的五個:

  • 絕對不要在使用了 MPFB 的腳本中使用 --factory-startup:插件不會註冊,服務會因 logservice 的 TypeError 而失敗。
  • 模組路徑可能是 bl_ext.blender_org.mpfb(從擴展平台安裝)或 bl_ext.user_default.mpfb(從 zip 安裝)。mpfb_util 會嘗試兩者;請不要寫死一個。
  • 目標(Targets)通過不包含文件夾的文件名加載:例如 head-oval,而不是 head/head-oval。
  • 均勻減面整個身體會壓扁臉部:請使用 calidad.decimar() 進行減面,它會保護頭部,並且在綁定骨骼和添加資產之後進行(因為它們會根據完整網格進行調整)。
  • 在 Unity 中,請在設置模型縮放之後再生成 Avatar:否則,Animator 會疊加位置,導致角色消失。

授權(如果用戶詢問,或在添加第三方資產之前)

  • MPFB 的基礎網格、目標、皮膚和骨骼權重,以及 makehuman_system_assets 包中的 94 個資產:CC0(每個文件都聲明了授權;該包在其 data/packs/makehuman_system_assets.json 中說明)。這些角色可用於閉源商業遊戲,無需致謝。來源:https://static.makehumancommunity.org/about/license.html
  • 來自社區或其他包的資產:請檢查每個資產的授權條款(在包的 .json 文件中的 license 字段,或 .mhclo/.mhmat 文件的頭部)。有些是 CC-BY,需要署名:請在使用前告知用戶。
  • Blender 是 GPL 授權;MPFB 是 GPL-3.0 或更新版本。GPL 僅覆蓋程式碼,不覆蓋導出的模型。
  • 不要提供法律建議:請引用官方來源。

完成時

告知用戶生成了哪些內容(文件、三角形數、身高),展示預覽圖,指出哪些尚未驗證(例如,在遊戲引擎中的導入情況),以及你做出的設計決策,這些需要用戶審查。

相關技能