Unity ShaderGraph力场交互效果案例

Unity ShaderGraph力场交互效果案例

  • 前言
  • 最终效果
  • 制作过程
    • 开启相机深度贴图
    • 找到与墙面交汇点
    • 将主节点改为透明
    • 关闭渲染物体的阴影
    • 修正Alpha并与菲涅尔效果叠加
    • 制作流动贴图效果
    • 贴图与效果合并
  • 暴露参数
  • 贴图素材

前言

好好学习,天天向上。
视频链接: https://www.youtube.com/watch?v=NiOGWZXBg4Y

最终效果

Unity ShaderGraph力场交互效果案例_第1张图片
Unity ShaderGraph力场交互效果案例_第2张图片

制作过程

开启相机深度贴图

将RenderPipelineAsset中的DepthTexture勾选,可以生成相机深度图。
Unity ShaderGraph力场交互效果案例_第3张图片

找到与墙面交汇点

访问屏幕位置知道顶点的距离然后比较场景深度缓冲区,如果我们减去此顶点距离,从我们的场景深度来看,就能得到一个渐变的交集。
拆分屏幕位置,从场景深度减去它,将场景位置减去偏移量可以控制边缘的梯度。
Unity ShaderGraph力场交互效果案例_第4张图片

将主节点改为透明

Unity ShaderGraph力场交互效果案例_第5张图片

关闭渲染物体的阴影

Unity ShaderGraph力场交互效果案例_第6张图片

修正Alpha并与菲涅尔效果叠加

将Alpha通过One Minus(1-)修正到0-1之间,使用平滑渐变,并与菲涅尔效果相加得到发光的边缘。
Unity ShaderGraph力场交互效果案例_第7张图片

制作流动贴图效果

Unity ShaderGraph力场交互效果案例_第8张图片

贴图与效果合并

将贴图与之前做的效果相乘,再与一个值相加,即可控制填充效果。
Unity ShaderGraph力场交互效果案例_第9张图片

暴露参数

Unity ShaderGraph力场交互效果案例_第10张图片

贴图素材

Unity ShaderGraph力场交互效果案例_第11张图片

你可能感兴趣的:(Unity,unity,shader)