靠近消失Shader
靠近就消失或者出现的功能
看了林新发大佬的功能,觉得很不错,大佬是用 Shader Graph实现的,我在 Builtin 里面用手写熟练一下。
实现思路
大佬讲的挺明白的,这个功能也比较简单,主要就是传入坐标,判断距离,用一种方式消失,增加边缘颜色。
先上效果图。
具体步骤如下:
- 获取世界坐标
- 判断是否处于阈值范围,然后 Clip。
- 增加噪声溶解效果
- 增加溶解边缘颜色
部分源码
1 | fixed4 frag (v2f i) : SV_Target |
总结
一个比较简单的效果,这里面第一个比较绕的点就是距离越近,消失的部分越大,所以用 1 减去距离和阈值的比值就好。然后就是在优化的时候因为前面的逻辑里面有 if 的嵌套,所以后面改成 step 的时候在我的代码里面那个减去两个颜色重复的部分思考的比较慢,其他就没啥了。工程链接放到最底下了。
参考链接
- https://blog.csdn.net/linxinfa/article/details/112555890?ops_request_misc=%257B%2522request%255Fid%2522%253A%252247428B9A-F3AA-4A5C-80B2-872ACCA8DDEA%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=47428B9A-F3AA-4A5C-80B2-872ACCA8DDEA&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-16-112555890-null-null.nonecase&utm_term=shader&spm=1018.2226.3001.4450
- 工程地址 https://gitee.com/XiaozhuGit/NearToDissolveShader
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.