描边Shader Graph

        作为一个Sg新手,在学习描边效果时找了很多教程,但是感觉过于繁琐,现在分享一下自己的想法。首先看到的教程思想是设置rendering layer然后渲染这个层是通过卷积来比较alpha从来保证边缘。但是我在跟着这个教程学的时候感觉对新手不是很友好。(手把手带你在URP中实现指定物体的外轮廓描边效果【Unity创作心得#13-1】_哔哩哔哩_bilibili

        我的思路就是很简单的通过offset,通过四个垂直的offset获得一个拓展后的贴图的alpha,然后再用这个减去原贴图的alpha,就可以得到边缘的alpha。通常thick不会太厚,控制在0.005-0.02差不多

        获得后四个拓展后的贴图后将他们相加后得到拓展后的alpha图        

在获得了拓展后的alpha中一定要一个非常重要的函数就是clamp,将alpha控制在0-1,否则就是没用,然后用拓展后的减去原来的alpha,即可以获得边缘

        但是在这一步后并没有结束

        1.首先在输出的片元节点上,alpha值必须选择clamp后的,表示显示的整个贴图包含了边缘,否则就是原来的贴图,没有边缘 

        2.就是原贴图进行输入时需要将rgb与原贴图的alpha进行mul,否则就会引起没必要的拉伸 

        3.最后就是直接相加了,自己的颜色想要什么即可以和边缘进行mul,因为我们获得的边缘是拓展的,所以和原贴图在uv上没有任何的重叠,直接相加,就可以得到边缘效果的shader graph了 

 

不知道有什么局限的地方,希望大家的指正 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值