mcpField
U
unity-probuilder

unity-probuilder

github.com/besty0728クリエイティブ・メディア1.9k82 回インストール今日更新
リポジトリ

unity-probuilder について

unity-probuilder は Unity のレベルグレーボックス作成やメッシュ編集向けのスキルモジュールです。エディターで編集可能なジオメトリを作成・調整でき、形状の一括作成や面、エッジ、頂点、UV、マテリアルの操作に対応します。ProBuilder パッケージが必要です。

主な機能

  1. 01形状の個別作成と一括作成
  2. 02面やエッジの押し出し、結合、編集
  3. 03頂点の移動、溶接、確認
  4. 04UV 投影とマテリアル設定
  5. 05メッシュ情報の確認とピボット調整

活用シーン

  1. 01レベルのグレーボックスを素早く作成
  2. 02ProBuilder メッシュの表面を編集
  3. 03斜面や不規則な輪郭を調整
  4. 04プロトタイプ形状に色やマテリアルを適用

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/besty0728/unity-skills --skill unity-probuilder

インストール後、Claude Code で/unity-probuilderを入力して読み込まれたか確認します。

同梱ファイルMODELING_REFERENCE.md

詳細

このモジュールのスキルを呼び出す前に: スキル名や説明から推測したパラメーターでスキルを呼び出そうとしている場合は、いったん停止してください。まずこのファイルを読むか、GET /skills/recommend?includeSchema=true でスキーマを取得してください。recommend/schema からすでにパラメーター定義を取得している場合は、そのまま dryRun に進めます。

トリガー

  • レベルのグレーボックス化
  • ProBuilder ジオメトリの作成または編集
  • エディター内での形状のプロトタイピング
  • 关卡灰盒搭建、创建或编辑 ProBuilder 几何体、在编辑器内快速搭形

Unity ProBuilder スキル

通常のプリミティブ GameObject ではなく、編集可能な ProBuilder メッシュにこのモジュールを使用してください。ブロックアウト、レベルジオメトリ、プロシージャルなメッシュの調整に最適です。

必要条件:com.unity.probuilder パッケージ。 バッチ優先:シーンのブロックアウトやレベル生成で 2+ 個の形状を作成する場合は、probuilder_create_batch を優先してください。

ガードレール

動作モード(v1.9 の 3 段階):

  • 承認(デフォルト):スキルの照会(例:probuilder_get_info、probuilder_get_vertices)はそのまま実行されます。作成・変更スキルは FullAuto です。1 回呼び出して MODE_RESTRICTED が返されたら、許可プロトコルを実行してください。/permission/grant が成功すると、スキルはサーバー側で実行され、同じ応答で結果が返されます。
  • 自動/バイパス:SemiAuto と FullAuto はそのまま実行されます。
  • このモジュールで自動実行が禁止されるスキル:probuilder_combine_meshes(SkillOperation.Modify | Delete。Delete ビットにより NeverInSemi がトリガーされます)。このスキルはバイパスモード中、またはユーザーが Allowlist に追加した後にのみ呼び出せます。許可フローでは MODE_FORBIDDEN が返されます。probuilder_delete_faces は Operation = SkillOperation.Modify のみであり、承認/自動モードでも引き続き許可できます。
  • com.unity.probuilder が存在しない場合、すべてのスキルは実行されず、パッケージ不足の診断情報を返します。

禁止事項(よくある誤り):

  • probuilder_create_mesh は存在しません。代わりに probuilder_create_shape を使用してください。
  • probuilder_edit_face は存在しません。probuilder_extrude_faces、probuilder_delete_faces、probuilder_merge_faces など、用途に合った面スキルを使用してください。
  • probuilder_set_material と probuilder_set_face_material は別のスキルです。前者はオブジェクト全体、後者は選択した面に適用します。
  • 通常のメッシュが自動的に ProBuilder メッシュになることはありません。
  • メッシュの再構築呼び出し(ToMesh() + Refresh())は、スキルによってすでに処理されています。手動で再構築する手順を作らないでください。

ルーティング:

  • 編集可能なトポロジーを持たない通常のプリミティブオブジェクトには、gameobject_create を使用してください。
  • マテリアルアセットの作成やシェーダー作業には、material を使用してください。
  • 大規模なブロックアウト生成では、このモジュールを material および light と組み合わせてください。ただし、ジオメトリの作成はこのモジュールで行ってください。

オブジェクトの指定

ほとんどの編集/照会スキルでは、次のいずれかを指定できます。

  • name
  • instanceId
  • path

シーン内に同じ名前のオブジェクトが複数ある場合は、instanceId を優先してください。

スキル

作成とバッチ処理
スキル用途主なパラメーター
probuilder_create_shapeパラメトリックな ProBuilder 形状を作成shape、name?、x/y/z?、sizeX/Y/Z?、rotX/Y/Z?
probuilder_create_batch1 回の呼び出しで複数の形状を作成items、defaultParent?

サポートされている shape の値:Cube、Sphere、Cylinder、Cone、Torus、Prism、Arch、Pipe、Stairs、Door、Plane。

面とエッジの編集
スキル用途主なパラメーター
probuilder_extrude_faces選択した面を押し出すtarget、faceIndexes?、distance?、method?
probuilder_delete_facesインデックスで面を削除するtarget、faceIndexes
probuilder_merge_faces面を1つに結合するtarget、faceIndexes?
probuilder_flip_normals面の向きを反転するtarget、faceIndexes?
probuilder_detach_faces共有頂点から面を分離するtarget、faceIndexes?、deleteSourceFaces?
probuilder_bevel_edgesエッジを面取りするtarget、edgeIndexes?、amount?
probuilder_extrude_edgesエッジを外側に押し出すtarget、edgeIndexes、distance?、extrudeAsGroup?
probuilder_bridge_edges2つのエッジを新しい面でつなぐtarget、edgeA、edgeB、allowNonManifold?
メッシュ、頂点、UV、マテリアル
スキル用途主なパラメーター
probuilder_subdivide細分化してディテールを追加するtarget、faceIndexes?
probuilder_conform_normals法線の向きを一貫して外側にそろえるtarget、faceIndexes?
probuilder_move_vertices頂点を差分で移動するtarget、vertexIndexes、deltaX/Y/Z?
probuilder_set_vertices頂点の絶対位置を設定するtarget、vertices
probuilder_get_vertices頂点位置を取得するtarget、vertexIndexes?、verbose?
probuilder_weld_vertices近接する頂点を結合するtarget、vertexIndexes、radius?
probuilder_project_uvボックス投影でUVを設定するtarget、faceIndexes?、channel?
probuilder_set_face_material面にマテリアルを割り当てるtarget、faceIndexes?、materialPath?、submeshIndex?
probuilder_set_materialオブジェクト全体にマテリアルまたは簡易カラーを割り当てるtarget、materialPath?、r/g/b/a?
probuilder_combine_meshes複数のメッシュを結合するnames
クエリとピボット
スキル用途主なパラメーター
probuilder_get_info面、頂点、マテリアルの統計情報を取得するtarget
probuilder_center_pivotピボットを中央に配置する、または位置を変更するtarget、worldX/Y/Z?

ブロックアウトのワークフロー

  1. probuilder_create_batchで主要なボリュームを作成します。
  2. ディテールを追加する前に、移動経路とゲームプレイ上のスケールを確認します。
  3. 面やエッジの操作で表面を調整します。
  4. 頂点を編集して、ランプ、傾斜、不規則なシルエットを作成します。
  5. レイアウトが安定したら、簡易カラーまたは実際のマテリアルを適用します。

最小限の例

import unity_skills

unity_skills.call_skill("probuilder_create_batch", items=[
    {"shape": "Cube", "name": "Ground", "sizeX": 20, "sizeY": 0.5, "sizeZ": 12, "y": -0.25},
    {"shape": "Cube", "name": "Platform_A", "sizeX": 3, "sizeY": 0.3, "sizeZ": 3, "x": 4, "y": 1.5},
    {"shape": "Cube", "name": "Ramp", "sizeX": 3, "sizeY": 1, "sizeZ": 5, "x": 8, "y": 0.5}
])

unity_skills.call_skill("probuilder_move_vertices",
    name="Ramp",
    vertexIndexes="4,5",
    deltaY=-0.8
)

unity_skills.call_skill("probuilder_set_material",
    name="Platform_A",
    r=0.2, g=0.6, b=1.0
)

重要な注意事項

  1. ProBuilder オブジェクトは、ProBuilderMeshを通じて編集可能なトポロジーを保持します。
  2. 面を編集する前にprobuilder_get_infoを、頂点を編集する前にprobuilder_get_verticesを使用してください。
  3. 物理駆動のプロップに設定するMeshColliderは、凸形状である必要があります。
  4. プロトタイプの作成時には簡易カラーの割り当てで問題ありませんが、本番環境ではマテリアルアセットを使用してください。
  5. ProBuilderがインストールされていない場合、パッケージが見つからないというエラーが発生するのは想定どおりです。

正確なシグネチャ

正確な名前、パラメーター、デフォルト値、戻り値は、このファイルではなくGET /skills/schemaまたはunity_skills.get_skill_schema()で定義されています。 シーン設計のヒューリスティクス、家具の分解方法、詳細な例、拡張モデリングのヒントについては、MODELING_REFERENCE.mdを読み込んでください。

コメント