跳到主要内容
知仓学习社ZHICANG

unity-decal

Create and configure URP Decal Projectors

不碰外部(只输出文字)无严重或高危命中Besty0728/Unity-Skills

它会碰到什么

扫了多少1 个文本文件,6 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

> Before calling any skill in this module: if you are about to call a skill with parameters guessed from its name or description, STOP — read this file (or fetch its schema via GET /skills/recommend?includeSchema=true) first. If you already have the parameter definitions from recommend/schema, you may proceed straight to dryRun.

Triggers

  • Adding decals in URP
  • Configuring a Decal Projector
  • Enabling the Decal Renderer Feature
  • 在 URP 中添加贴花、配置 Decal Projector、启用 Decal Renderer Feature

Decal Skills

URP Decal Projector creation and configuration (URP only; HDRP decal APIs are not covered here).

Operating Mode

  • Query skills (decal_get_info, decal_find_all) are SkillMode.SemiAuto — they run in all three modes without grant.
  • Mutating skills (decal_create, decal_set_properties, decal_set_properties_batch, decal_ensure_renderer_feature) are SkillMode.FullAuto — under Approval they need user grant (grant triggers one server-side execute returning the result); under Auto / Bypass they execute directly.
  • decal_delete carries SkillOperation.Delete and is auto-forbidden in Approval / Auto modes (NeverInSemi). Only Bypass or the user-managed Allowlist can run it.

URP Package Stub

This module is compiled against com.unity.render-pipelines.universal (URP). When URP is not installed, every skill returns a stub { error: "Universal Render Pipeline package … is not installed." } (RenderPipelineSkillsCommon.NoURP()). The stub is a diagnostic payload, not a permission denial — it does not require grant and is not treated as NeverInSemi.

Guardrails

Routing:

  • For renderer feature management in general: urp
  • For DecalProjector scene operations: this module

Runtime-first rules:

  • Call decal_ensure_renderer_feature before assuming the current URP renderer is decal-ready
  • Use decal_get_info / decal_find_all to discover real projector state before editing
  • decal_set_properties_batch expects items to be a JSON array string
  • This module targets the URP Decal workflow first; do not assume HDRP decal APIs are covered here

Skills

decal_create

Create a Decal Projector.

| Parameter | Type | Required | Default | Description |

|-----------|------|----------|---------|-------------|

| name | string | No | "Decal Projector" | Name of the new GameObject |

| materialPath | string | No | null | Decal material asset path; left unassigned when omitted |

| x | float | No | 0 | World position X |

| y | float | No | 0 | World position Y |

| z | float | No | 0 | World position Z |

decal_get_info

Inspect a Decal Projector.

| Parameter | Type | Required | Default | Description |

|-----------|------|----------|---------|-------------|

| name | string | No* | null | GameObject name |

| instanceId | int | No* | 0 | GameObject instance ID |

| path | string | No* | null | GameObject hierarchy path |

\* Supply at least one locator — an empty call is refused up front rather than reported as "not found".

decal_set_properties

Modify Decal Projector properties. Every property below is applied only when supplied, so a call changes exactly the fields you name.

| Parameter | Type | Required | Default | Description |

|-----------|------|----------|---------|-------------|

| name | string | No* | null | GameObject name |

| instanceId | int | No* | 0 | GameObject instance ID |

| path | string | No* | null | GameObject hierarchy path |

| materialPath | string | No | null | Decal material asset path |

| drawDistance | float | No | null | Max distance at which the decal is drawn |

| fadeScale | float | No | null | Fraction of drawDistance at which fading starts |

| fadeFactor | float | No | null | Overall opacity multiplier |

| startAngleFade | float | No | null | Angle (degrees) where angle-based fading begins |

| endAngleFade | float | No | null | Angle (degrees) where angle-based fading completes |

| uvScale | string | No | null | UV tiling as "x,y" |

| uvBias | string | No | null | UV offset as "x,y" |

| size | string | No | null | Projector box size as "x,y,z" |

| pivot | string | No | null | Projector pivot offset as "x,y,z" |

| renderingLayerMask | uint | No | null | Rendering layer mask bits |

| scaleMode | string | No | null | ScaleInvariant or InheritFromHierarchy |

decal_find_all

List Decal Projectors in the scene.

| Parameter | Type | Required | Default | Description |

|-----------|------|----------|---------|-------------|

| limit | int | No | 50 | Max projectors returned |

decal_delete

Delete a Decal Projector GameObject.

| Parameter | Type | Required | Default | Description |

|-----------|------|----------|---------|-------------|

| name | string | No* | null | GameObject name |

| instanceId | int | No* | 0 | GameObject instance ID |

| path | string | No* | null | GameObject hierarchy path |

decal_set_properties_batch

Batch-edit Decal Projectors.

| Parameter | Type | Required | Default | Description |

|-----------|------|----------|---------|-------------|

| items | json string | Yes | - | JSON array of {name, instanceId, path, materialPath, drawDistance, fadeScale, fadeFactor, startAngleFade, endAngleFade, uvScale, uvBias, size, pivot, renderingLayerMask, scaleMode} — same per-item keys as decal_set_properties |

decal_ensure_renderer_feature

Ensure the target URP renderer has a DecalRendererFeature.

| Parameter | Type | Required | Default | Description |

|-----------|------|----------|---------|-------------|

| assetPath | string | No | null | URP asset path; the active URP asset is used when omitted |

| rendererIndex | int | No | -1 | Renderer index within the URP asset; -1 selects the asset's default renderer |

| rendererDataPath | string | No | null | UniversalRendererData asset path — takes precedence over rendererIndex, and must belong to the resolved URP asset |

Returns alreadyExists: true when the feature was already present, so the call is safe to repeat.


Exact Signatures

Exact names, parameters, defaults, and returns are defined by GET /skills/schema or unity_skills.get_skill_schema(), not by this file.

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 1,753
本站分层T1
该仓技能数83
原文件路径SkillsForUnity/unity-skills~/skills/decal/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 83 个技能