位置: - 正文

unity3d shader之浮雕效果(unity2d shader)

编辑:rootadmin

推荐整理分享unity3d shader之浮雕效果(unity2d shader),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity2d shader,unity shader frac,unity3d的shader,unity shader frac,unity shader frac,unity shader lod,unity漂浮,unity漂浮,内容如对您有帮助,希望把文章链接给更多的朋友!

浮雕就是对图像上的一个像素和它右下的那个像素的色差的一种处理

非常容易,只需要一个简单的算法

用fragment shader来实现

我们只看实现部分就好

在frag函数中

mcmc = tex2D (_MainTex, i.uv_MainTex).rgb;

获取当前点的颜色

mc = tex2D (_MainTex, i.uv_MainTex&#;fixed2(1,1)/_Size).rgb;

获取当前点右下角(偏移了(1,1)个单位)的点的颜色,

由于CG函数tex2DSize函数(获取图片长宽的像素数)在unity中不能用,我也不知道用什么函数来替代它,就弄了个外部变量_Size方便调节

如果有什么函数能代替tex2DSize函数各位看官一定要告诉我

unity3d shader之浮雕效果(unity2d shader)

diffs = abs( mcmc - mc);diffs为亮点颜色差max0 = diffs.r>diffs.g?diffs.r:diffs.g;max0 = max0>diffs.b?max0:diffs.b;求出色差中rgb的最大&#;设为色差数gray = clamp(max0&#;0.4 , 0, 1);灰度&#;其实就是这个色差数c = float4(gray.xxx,1)*_Color;

最终颜色

效果如下:

全部代码如下:

-----------------by wolf

Unity之一天一个技术点(十八)---让敌人缓慢转向,并且跟踪玩家 哦也,公司年会开完就放假,年前不会再更新了~提前恭祝大家新年快乐,心想事成~publicTransformtargetpublicintmoveSpeedpublicintrotateSpeedprivateTransformmytransform;voi

传智播客C++第五/5期完整版 年6月份到年月份的传智播客C第五期培训视频。真正完整版,不加密。未压缩近G!教程的含金量我就不多说了,我们的质量永远是最好的。具

基于web的AssetBundle的研究 原因:(1)在实际开发中如果场景很大,加载时间会比较花费时间,尤其是在unity的web项目中比较明显。比如我做的幼儿园项目web版在网络比较慢的情况下

本文链接地址:https://www.jiuchutong.com/biancheng/378800.html 转载请保留说明!
下一篇链接:https://www.jiuchutong.com/biancheng/378801.html
免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络