ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Unity Shader ASE基础效果思路与代码(二):边缘光、扰动火焰

2026/9/24 11:14:33 拓冰建站 浏览量
Unity Shader ASE基础效果思路与代码(二):边缘光、扰动火焰

Unity Shader ASE基础效果思路与代码(二):边缘光、扰动火焰

文章目录

  • Unity Shader ASE基础效果思路与代码(二):边缘光、扰动火焰
    • 边缘光
        • 效果展示:
        • 代码与思路:
    • 扰动火焰
        • 效果展示:
        • 代码与思路:

边缘光

效果展示:
  • 方法一: ASE自带节点Fresnel,但是会出现闪点,方法二有解决方法:
    在这里插入图片描述
  • 方法二: 自己写方程
    在这里插入图片描述
代码与思路:

源自菲涅尔方程(Fresnel Equation)

  • 方法一: 圈1为Fresnel自带自带节点,将其和uv流动、HDR颜色相乘。

    注意:

    1. 要在subshader关掉深度写入,开启AlphaBlend、透明渲染
    2. 设置HDR颜色,和打开post后处理
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
  • 方法二: Schlick近似菲涅尔方程,边缘光公式参考此方程
    在这里插入图片描述
    实际代码的公式是:
    叠亮 + 亮度 * pow(1 - 法线向量 点乘 视角向量,强度)
    在这里插入图片描述
    其中,圈1是将值限定在[0,1],前面pow的幂运算超出正常值时候,会出现闪点
    在这里插入图片描述

扰动火焰

效果展示:

在这里插入图片描述

代码与思路:

慢速噪声、快速噪声和主噪声叠加,让其在Y方向流动,叠加出来的噪声图给到火焰贴图UV上。

在这里插入图片描述
代码总览(字太小看不清,后文分块截图):
在这里插入图片描述

将叠加到的噪声和火焰UV相加。y方向流动的噪声,用Append叠加到y上
在这里插入图片描述

快速噪声部分:

  • 用Voronoi生成噪声。
  • Voronoi的UV部分,用一张uv叠加(Append)一个y方向的流动。Angle可以控制角度,因为我这的TimeDirection(圈1和2)是变化的(见第二张图),所以能够旋转。
  • 设置Texture Coordinates节点的Tiling参数,可以改变噪声贴图的稀疏程度。
  • Voronoi图又叫泰森多边形,有关Voronoi节点的更多详细信息见官方文档
    在这里插入图片描述

在这里插入图片描述
慢速噪声及主噪声纹理:

  • 和快速噪声纹理大同小异
    在这里插入图片描述
    在这里插入图片描述