rainyeve
  • 首页
  • 编程
  • 涂鸦
  • 其他
  • 关于
2019年5月15日
编程

【Unity Shader】简单溶解效果

【Unity Shader】简单溶解效果
2019年5月15日
编程

实现效果

控制PBR Master的AlphaClipThreshold参数和Emission参数实现边界发光和“裁剪”,裁剪的边沿用噪声图控制避免边沿过于平滑。

效果图
配合粒子系统做成敌人现身的效果

Shader Graph

用到的函数节点加起来只有十个左右,十分简易。
shader graph
主要是用SmoothStep做一个高光的边界,与噪声图做混合后应用到Emission上,再用Step来控制AlphaClipThreshold,得到类似溶解的效果。

预览
模拟溶解

局限

溶解的细节程度与模型的顶点数正相关,我用的low poly风格模型,所以可以看到溶解的细节并没有Shader Graph预览的时候那么丰富。

截图
模型的面数低,所以溶解的细节不丰富。噪声取样自模型的UV1

还有对于low poly的模型,导入的时候要生成LightmapUVs,并且在Shader Graph中,噪声取样的时候用UV1。若用模型本身的UV0,可以看到噪声完全不起效。

uv0
若采用模型本身的UV0,噪声不起效

在烘焙的时候也是如此,导入模型的时候要生成LightmapUVs,否则打到模型上的光烘焙出来是错的。

Post Views: 3,286

shader unity3d

上一篇东京掠影 take 1下一篇 【Unity Shader】UV动画实现生命值槽

分类目录

  • 其他 (2)
  • 旅行 (1)
  • 涂鸦 (6)
  • 编程 (28)
Email: wuch441692@163.com