用途:在 Godot 4.3+ 中实现着色器效果,内容包括 Godot 着色器语言、可视化着色器、常见视觉配方与后处理效果。
主要能力:区分 canvas_item、spatial、particles、sky、fog 着色器类型及适用节点;说明 Shader 与 ShaderMaterial 的关系;列出内置变量(canvas_item 的 UV、COLOR、TEXTURE、VERTEX、TIME、SCREEN_UV;spatial 的 ALBEDO、METALLIC、ROUGHNESS、NORMAL、EMISSION、ALPHA)与 uniform 提示(hint_range、source_color、filter_linear_mipmap、repeat_enable、hint_normal)。
常用配方:2D 提供溶解、描边、闪白、调色板替换、滚动 UV、波浪扭曲;3D 提供卡通着色、边缘光/Fresnel、简单水面。另含可视化着色器节点、后处理(ColorRect 叠加、WorldEnvironment)、CompositorEffect、渲染模式与模板缓冲效果。
使用方式:通过 Inspector 的 Material 新建 ShaderMaterial 与 Shader,或直接创建 .gdshader 文件;代码中可用 GDScript 的 mat.set_shader_parameter 或 C# 的 SetShaderParameter 设置参数。
限制与注意:示例仅针对 Godot 4.3+,SCREEN_TEXTURE 在 4.0 已移除,需用 hint_screen_texture;Godot 4.7 中 textureQueryLod() 仅限 fragment,LinearToSRGB 行为变更;模板缓冲需 4.5+,canvas_item 无模板模式;SMAA 与 Shader Baker 为 4.5+,仅 Forward+/Mobile;着色器性能与具体实现需自行用 Godot 分析器验证。