Unity Shader学习:Dissolve消融效果

Unity Shader学习:Dissolve消融效果

消融效果在游戏里非常常用,这里简单的实现下,代码里用到了if分支在shader里可能会费一点,如果想直接用puppet_master大佬版本的话可以自己改一下,主要if分支比较好理解,大佬的写法比较绕但是没用到分支,性能可能更好。

消融效果基本原理:利用噪声图的随机使主贴图在相应的位置逐渐剔除噪声颜色值小于一定阈值的像素,再在更靠内(噪声颜色值比阈值稍大一点)的地方安排一个内边缘,在内外边缘之间显示渐变的消融颜色。

shader部分:

Shader "Custom/DissolveEffect" {
   
	Properties {
   
	    _MainTex("MainTex",2D)="white"{
   }
	    _NoiseTex("NoiseTex",2D)="white"{
   }
		//高光大小
		_Gloss("Gloss",Range(0.0,20.0)) = 20.0
		//高光强度
		_SpecularFactor("SpecularFactor",Range(0.0,5.0)) = 1.0
		//消融阈值
		_DissolveThreshold("DissolveThreshold",Range(0.0,1.0)) = 0.5
		//消融系数(消融边界值=消融系数*消融阈值)
		_HalfDissolveThresholdFactor
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值