用途:根据用户描述的效果,为 Unity 项目生成完整的 .shader 文件(HLSL/ShaderLab),并给出材质设置步骤。触发词包括 /shader、/shader-gen、"creer un shader"、"effet visuel shader"、"dissolve"、"outline" 等。
主要能力:覆盖 dissolve、outline、toon/cel-shading、hologram、force field、water surface、triplanar mapping、vertex displacement 等效果,也可组合为自定义效果。生成前会检测项目渲染管线:在 Packages/manifest.json 中查找 com.unity.render-pipelines.universal(URP)或 com.unity.render-pipelines.high-definition(HDRP),无匹配则为 Built-in。按管线选用对应模板,URP 需包含 CBUFFER_START(UnityPerMaterial) 以兼容 SRP Batcher,并需提供 ShadowCaster pass。Unity 6+ 的自定义渲染 pass 使用 Render Graph API(RecordRenderGraph),旧 Execute 已弃用。
使用方式:用户先描述所需效果;技能检测渲染管线;生成 .shader 文件(建议放在 Assets/Shaders/ 或子目录,命名如 Game_Category_EffectName.shader);随后提供材质设置说明(Assets > Create > Material,在 Material 下拉中选择着色器,配置暴露的 Properties,应用到目标 GameObject)。
适用场景:需要快速获得 Unity 视觉效果着色器、原型开发、移动端优化着色器、URP/HDRP 自定义渲染 pass 等。
限制与规则:必须先检测渲染管线再生成代码;必须包含 Fallback;关键参数须暴露为 Properties;不得混用 CGPROGRAM/ENDCG 与 HLSLPROGRAM/ENDHLSL;URP/HDRP 不得使用 surface shader;URP 必须包含 CBUFFER_START(UnityPerMaterial);移动端优先 half 精度。常见问题包括着色器变粉(编译错误)、SRP Batcher 不兼容、URP 下不生效、透明不显示、无阴影、移动端性能低、纹理平铺错误、深度相交失效等,资料中给出了对应排查方向。详细效果配方与 HLSL 工具函数见 references/shader-recipes.md 和 references/hlsl-utils.md。