Unity-ShaderGraph制作2D动画精灵发光

Unity-ShaderGraph制作2D动画精灵发光

  • 项目设置
  • 准备素材
  • 编写ShaderGraph
  • 总结

项目设置

普通的2D工程,在PackManager上下载Universal RP这样能安装URP的所有包。
由于是2D项目,没有设置管线渲染素材所以我们要告诉Unity使用URP渲染2D图形。
Create->Rendering->URP->pipeline asset这样会创建两个素材
一个是管线默认的渲染器如下图:
Unity-ShaderGraph制作2D动画精灵发光_第1张图片
RendererList中默认的是渲染3D图形的我们要把他改成渲染2D图形的render所以
Create->Rendering->URP->2D Renderer
把创建出来的2D Renderer拖到RendererList中
Edit->ProjectSettings 把新建的pipeline asset拖入这里在这里插入图片描述

准备素材

为了添加发光特效需要使用Bloom,为了能看到效果首先需要在摄像机上启用他
找到我们场景中Camera Rendering 勾选post processing
为了确保可以使用HDR值来告诉Bloom要处理什么所以我们创建的pipeline asset 中HDR勾选上
然后在场景中创建一个Global Volume在他上面添加一个Bloom

需要在玩家身上添加一个2D点光源 为了和bloom后期处理效果符合得到发光效果

Unity-ShaderGraph制作2D动画精灵发光_第2张图片
使用的大概是这样的素材
Unity-ShaderGraph制作2D动画精灵发光_第3张图片
所以我们需要一张自发光贴图去让素材的一些部分发光 所以使用PhotoShop制作下自发光贴图
把攻击和项链设置成不同的透明度加以区分
Unity-ShaderGraph制作2D动画精灵发光_第4张图片
注意导入的时候要把这个纹理贴图的类型改成Default
接着到SpriteEditor中为这个图集添加上面的纹理
Unity-ShaderGraph制作2D动画精灵发光_第5张图片

编写ShaderGraph

创建一个Unit ShaderGraph 创建材质 添加到游戏中的玩家身上
Unity-ShaderGraph制作2D动画精灵发光_第6张图片这样的效果能适应图集上有的所有动画,非常神奇

Unity-ShaderGraph制作2D动画精灵发光_第7张图片

总结

制作一张需要发光部分的次级纹理,与一个颜色节点相乘后相加到原来的图集上,使用点光源 配合Bloom实现发光的效果。

你可能感兴趣的:(ShaderGraph)