中EN
概念页

Godot 常见着色技巧对照

Common Godot Shader Techniques

更新于 2026-10-16 约 2 分钟Godot着色器技巧溶解描边后处理

把社区与教程里反复出现的 2D/3D 技巧对照到图形学概念:溶解、描边、风摆、水面、后处理边缘——实现细节以 raw 抽样与官方为准,公式见图形学页。

技巧对照表

技巧常见做法(Godot)图形学/数学锚点
溶解noise/random(uv) + step/smoothstep 改 alpha;像素风先 floor UV伪随机、阈值阈值
描边邻域采样 alpha;或深度/法线差分后处理边缘检测、后处理
风摆vertex 位移或 fragment UV 偏移;像素风 round 到 texel顶点动画、植被
软形状/环distance + smoothstep 遮罩相减SDF 思维
水面/传送门时间周期函数 + 噪声扰动 UV/距离程序噪声、折射近似
屏幕特效hint_screen_texture 等读屏(随版本 API)全屏 pass

应用建议

  • 先在 canvas_item 小精灵验证,再移植 spatial。
  • 像素艺术:所有效果优先「按 texel 吸附」,避免在显示像素上溶解。

取舍

  • 一种效果多种实现:选可维护、可调 uniform 者,而非最短代码。
  • 后处理依赖渲染器与深度预通道——Compatibility 上可能不可用。

参见

  1. GodotShaders 抽样索引(8–15)
  2. Your First Shader from ZERO in Godot 4(GDQuest)
  3. Godot 官方文档(离线 HTML,stable) Godot 4.7/stable
  4. godotshaders.com

相关页面

游戏开发 · GodotGodot 着色器入门Godot Shading LanguageGDShader 是面向 Godot 的 GLSL 简化方言。shadertype 决定用途:canvasitem(2D)、spatial(3D)、particles、sky、fog。材质引用 Shader;uniform 暴露参数。理论公式见图形学页;此处只谈引擎形态与入门路径。游戏开发 · GodotGodot Shaders 社区库索引Godot Shaders Library Indexgodotshaders.com 是社区驱动的 Godot 着色器库:按 Canvas Item / Spatial / Particle / Sky 等浏览与下载片段。本 wiki 只建索引与抽样要点,不镜像上千源码。图形学着色器伪随机Shader Pseudorandom片元着色器里没有真正的「每次调用都不同」的随机:rand(x) 必须是确定性伪随机——同一输入永远同一输出。常用手法是 fract(sin(x)大数);二维则用 dot 把 vec2 压成标量再喂给同一套路。把空间 floor 成格子后,格子共享一个随机值,就能在秩序与混沌之间做生成设计。图形学着色器纹理采样Shader Texture SamplingGPU 把图像存成 sampler2D:一张浮点向量的「表」,坐标连续时硬件做插值。片元里用 texture2D(sampler, uv)(现代 GLSL 为 texture)按归一化 UV 取色。BoS 强调:通道是 [0,1] 连续域、可越界重复、可用噪声扭曲 UV——图像变成可拉伸的「数码软垫」,为后处理与光学玩具式特效铺路。图形学透明渲染与 Alpha 混合Transparency & Alpha Blending本页讲最简单的"视角相关"透明:半透明物体只衰减其后方物体的颜色。z-buffer 每像素只存一个表面,所以透明物体通常要从后往前用 over 运算符混合;顺序无关透明 (OIT) 方法用多遍渲染、逐像素链表或近似公式避免排序,各有内存、性能或准确性代价。预乘 alpha 让过滤、混合和合成更正确高效。图形学植被程序动画与着色Vegetation Procedural Animation & Shading游戏里大片草木不能靠蒙皮关键帧模拟。实用做法是在 GPU 上用风场做程序弯曲,并把叶片着色拆成廉价的透光近似与环境遮蔽。CryENGINE 2 /《Crysis》把主弯曲、叶缘细节波与次表面贴图组合成可上万实例的管线。

输入关键词开始搜索

滚轮或双指缩放 · 拖动平移 · 双击放大 / 还原