mcpField
U
unity-decal

unity-decal

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

unity-decal について

Unity で URP の Decal Projector を作成、検索、設定するスキルモジュールです。プロパティの一括編集やレンダラー機能の確認にも対応し、HDRP のデカール API は対象外です。

主な機能

  1. 01Decal Projectorの作成
  2. 02プロジェクターの確認と検索
  3. 03プロパティの個別・一括編集
  4. 04URPレンダラーのデカール機能を確保
  5. 05プロジェクターオブジェクトの削除

活用シーン

  1. 01URPシーンへのデカール配置
  2. 02プロジェクターの検索と設定確認
  3. 03外観やサイズの一括調整
  4. 04レンダラーのデカール対応確認

インストール

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

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

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

詳細

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

トリガー

  • URP でデカールを追加する
  • Decal Projector を設定する
  • Decal Renderer Feature を有効にする
  • URP でデカールを追加する、Decal Projector を設定する、Decal Renderer Feature を有効にする

デカールスキル

URP の Decal Projector の作成と設定(URP のみ。HDRP のデカール API は対象外です)。

動作モード

  • クエリスキル(decal_get_info、decal_find_all)は SkillMode.SemiAuto です。許可なしで、3 つすべてのモードで実行されます。
  • 変更スキル(decal_create、decal_set_properties、decal_set_properties_batch、decal_ensure_renderer_feature)は SkillMode.FullAuto です。Approval ではユーザーの許可が必要です(許可するとサーバー側で 1 回実行され、結果が返されます)。Auto/Bypass では直接実行されます。
  • decal_delete には SkillOperation.Delete が設定されており、Approval/Auto モードでは自動的に禁止されます(NeverInSemi)。実行できるのは Bypass またはユーザーが管理する Allowlist のみです。

URP パッケージのスタブ

このモジュールは com.unity.render-pipelines.universal(URP)を対象にコンパイルされています。URP がインストールされていない場合、すべてのスキルはスタブ { error: "Universal Render Pipeline package … is not installed." }(RenderPipelineSkillsCommon.NoURP())を返します。このスタブは診断用のペイロードであり、権限による拒否ではありません。許可は不要で、NeverInSemi としても扱われません。

ガードレール

ルーティング:

  • レンダラー機能全般の管理:urp
  • DecalProjector のシーン操作:このモジュール

ランタイム優先のルール:

  • 現在の URP レンダラーがデカールに対応していると決めつける前に、decal_ensure_renderer_feature を呼び出す
  • 編集前に、decal_get_info/decal_find_all を使って実際のプロジェクターの状態を確認する
  • decal_set_properties_batch では、items に JSON 配列文字列を指定する
  • このモジュールはまず URP のデカールワークフローを対象とします。HDRP のデカール API も対象だと決めつけないでください

スキル

decal_create

Decal Projector を作成します。

パラメーター型必須デフォルト説明
namestringいいえ"Decal Projector"新しい GameObject の名前
materialPathstringいいえnullデカールマテリアルのアセットパス。省略した場合は未割り当てになります
xfloatいいえ0ワールド位置の X 座標
yfloatいいえ0ワールド位置の Y 座標
zfloatいいえ0ワールド位置の Z 座標
decal_get_info

Decal Projector を調査します。

パラメーター型必須デフォルト説明
namestringいいえ*nullGameObject の名前
instanceIdintいいえ*0GameObject のインスタンス ID
pathstringいいえ*nullGameObject の階層パス

* 少なくとも 1 つの検索条件を指定してください。検索条件のない呼び出しは、「見つかりませんでした」と返すのではなく、事前に拒否されます。

decal_set_properties

Decal Projector のプロパティを変更します。以下の各プロパティは指定された場合にのみ適用されるため、呼び出しによって変更されるのは指定したフィールドのみです。無効な値がある場合は、何も書き込まれる前に呼び出し全体が拒否されます。

パラメーター型必須デフォルト説明
namestringNo*nullGameObject 名
instanceIdintNo*0GameObject のインスタンス ID
pathstringNo*nullGameObject の階層パス
materialPathstringNonullDecal マテリアルのアセットパス
drawDistancefloatNonullデカールが描画される最大距離
fadeScalefloatNonullフェードが開始する drawDistance の割合
fadeFactorfloatNonull全体の不透明度倍率
startAngleFadefloatNonull角度ベースのフェードが始まる角度(度)
endAngleFadefloatNonull角度ベースのフェードが完了する角度(度)
uvScalestringNonullUV タイリング("x,y")
uvBiasstringNonullUV オフセット("x,y")
sizestringNonullProjector のボックスサイズ("x,y,z")
pivotstringNonullProjector のピボットオフセット("x,y,z")
renderingLayerMaskuintNonullレンダリングレイヤーマスクのビット
scaleModestringNonullScaleInvariant または InheritFromHierarchy(数値のみを含むその他の値は拒否されます)
decal_find_all

シーン内の Decal Projector を一覧表示します。

パラメーター型必須デフォルト説明
limitintNo50返される Projector の最大数
decal_delete

Decal Projector の GameObject を削除します。

パラメーター型必須デフォルト説明
namestringNo*nullGameObject 名
instanceIdintNo*0GameObject のインスタンス ID
pathstringNo*nullGameObject の階層パス
decal_set_properties_batch

Decal Projector を一括編集します。

パラメーター型必須デフォルト説明
itemsjson stringYes-{name, instanceId, path, materialPath, drawDistance, fadeScale, fadeFactor, startAngleFade, endAngleFade, uvScale, uvBias, size, pivot, renderingLayerMask, scaleMode} の JSON 配列。各項目で使用するキーは decal_set_properties と同じです
decal_ensure_renderer_feature

対象の URP レンダラーに DecalRendererFeature があることを確認します。

パラメーター型必須デフォルト説明
assetPathstringNonullURP アセットのパス。省略した場合はアクティブな URP アセットが使用されます
rendererIndexintNo-1URP アセット内のレンダラーインデックス。-1 を指定すると、アセットのデフォルトレンダラーが選択されます
rendererDataPathstringNonullUniversalRendererData アセットのパス。rendererIndex より優先され、解決された URP アセットに属している必要があります

機能がすでに存在する場合は alreadyExists: true を返すため、呼び出しを繰り返しても安全です。


正確なシグネチャ

正確な名前、パラメーター、デフォルト値、戻り値はこのファイルではなく、GET /skills/schema または unity_skills.get_skill_schema() で定義されています。

コメント