AI 3D建模工具

通过自然语言指令为 Unity ProBuilder 提供 AI 驱动的 3D 建模与网格编辑能力,支持创建基础形状、挤出、倒角、设置材质、合并对象及桥接细分等操作,适用于快速关卡原型设计和程序化几何生成。

  • by IvanMurzak
  • C#
  • 本地部署
  • 56 星标
  • 更新于
在 GitHub 查看 IvanMurzak/Unity-AI-ProBuilder

使用说明

Unity AI ProBuilder

AI-powered 3D modeling tools for Unity ProBuilder. Enables AI assistants to create and manipulate editable meshes through natural language commands. Create primitive shapes, extrude faces, bevel edges, apply materials, merge objects, and perform advanced mesh operations like bridging and subdivision. Supports semantic face selection by direction (up, down, left, right) for intuitive editing. Perfect for rapid level prototyping and procedural geometry generation. Built on top of the AI Game Developer platform.

How to use

Stability status

Unity Version Editmode Playmode Standalone
2022.3.62f3
2023.2.22f1
6000.3.1f1

RQL (no extension tools)

Since Unity-MCP 1.0.0 this package adds no MCP tools: it contributes an RQL module, so agents use rql-query / rql-mutate (the unity-rql skill carries the full "ProBuilder" guide with examples). M below stands for probuilder | get meshes | where gameObject.name == "Crate".

Former tool RQL
probuilder-create-shape probuilder | call CreateShape("Cube", "Crate", "(2, 1, 2)", "(0, 0.5, 0)") (type, name, size, position, rotation, parent)
probuilder-create-poly-shape probuilder | call CreatePolyShape(["(0, 0)", "(4, 0)", "(4, 3)"], 0.5, "Floor") (points, height, name, position, flipNormals, parent)
probuilder-get-mesh-info M | select faceCount vertexCount edgeCount bounds directions materials, M | get faces | select index direction center edges, probuilder.vertices($, start, count)
probuilder-extrude M | call Extrude(probuilder.facing($, "Up"), 0.5) (faces, distance, method)
probuilder-delete-faces M | call DeleteFaces([0, 2])
probuilder-set-face-material M | call SetFaceMaterial(probuilder.facing($, "Up"), "Assets/Materials/Grass.mat")
probuilder-flip-normals M | call FlipNormals([0]) (all faces when omitted)
probuilder-bevel M | call Bevel(probuilder.edges($, [4]), 0.1)
probuilder-bridge M | call Bridge(probuilder.openEdges($)[0], probuilder.openEdges($)[2])
probuilder-connect-edges M | call ConnectEdges(probuilder.edges($, [4]))
probuilder-subdivide-edges M | call SubdivideEdges([[0, 1]], 2)
probuilder-set-pivot M | call SetPivot("Center") / SetPivot("FirstVertex") / SetPivotAt("(0, 0, 0)")
probuilder-merge-objects probuilder | call Merge([ref("ProBuilderMesh#…"), ref("GameObject#…")], true)

Faces are index lists ([0, 1]), edges vertex index pairs ([[0, 1]]); probuilder.facing($, "Up") replaces the former faceDirection parameter. Every call validates its input first and is undoable.

Installation

Option 1 - Installer

  • ⬇️ Download Installer
  • 📂 Import installer into Unity project
    • You can double-click on the file - Unity will open it automatically
    • OR: Open Unity Editor first, then click on Assets/Import Package/Custom Package, and choose the file

Option 2 - OpenUPM-CLI

openupm add com.ivanmurzak.unity.mcp.probuilder