当前位置: 首页 > wzjs >正文

济南营销网站制作公司哪家好湘潭网站建设工作室

济南营销网站制作公司哪家好,湘潭网站建设工作室,产品线上营销推广方案,内网wordpress响应慢这节课是利用材质做雨滴i效果 首先是创建一个圆环,实际上他就是为了创建一个圆,但是是空心的,可以看之前我的做法,这里以他的为准 创建圆环 就是当uv的点在max_radius和min_radius之间的时候绘制。 他这里写了ringThickness&a…

这节课是利用材质做雨滴i效果

首先是创建一个圆环,实际上他就是为了创建一个圆,但是是空心的,可以看之前我的做法,这里以他的为准

创建圆环

就是当uv的点在max_radius和min_radius之间的时候绘制。

他这里写了ringThickness,实际可以看作边的粗

float4 result = float4(0, 0, 0, 0);float2 pointCtr = float2(0.5, 0.5);float2 uvOffset = uv - pointCtr;float radiusMin = 0.05;
float radiusMax = 0.1;
float ringThickness = 0.005;float pointDist = length(uvOffset);if(pointDist >= radiusMin - ringThickness && pointDist <= radiusMax + ringThickness)
{result = float4(1, 1, 1, 1);
}
return result;

实现一个渐变的效果

使用新的函数,当你不知道使用什么函数的时候,可以在蓝图中找到答案,实际上就是全部小写

smoothstep就是在min max之间平滑的插值

float alpha = smoothstep(radiusMin - ringThickness, radiusMin + ringThickness, pointDist);

clamp的valuebetween 0~1

float2 pointCtr = float2(0.5, 0.5);float2 uvOffset = uv - pointCtr;float radiusMin = 0.05;
float radiusMax = 0.1;
float ringThickness = 0.005;float pointDist = length(uvOffset);
float alpha = saturate(smoothstep(radiusMin - ringThickness, radiusMin + ringThickness, pointDist));
if(pointDist >= radiusMin - ringThickness && pointDist <= radiusMax + ringThickness)
{result = float4(1, 1, 1, 1) * alpha;
}
return result;

绘制多个空心圆

首先我们可以只定义一个半径长度,然后定义一个ringThickness去得到这个圆

float4 result = float4(0, 0, 0, 0);float2 pointCtr = float2(0.5, 0.5);float2 uvOffset = uv - pointCtr;float radius = 0.05;
float ringThickness = 0.005;
float pointDist = length(uvOffset);
if (pointDist >= radius - ringThickness && pointDist <= radius + ringThickness)
{return float4(1, 1, 1, 1);
}
return result;

然后就可以去做一些uv的偏移,这里使用作者的方法

float4 result = float4(0, 0, 0, 0);float ringThickness = 0.005;
float fadeInner = 0.005;
float2 seed = float2(123.456, 789.012);float2 offsetRange = float2(-1, 1);float drops = 100;for (int i = 0; i < drops; i++)
{seed = frac(seed * 123.456);float2 randOffset = lerp(offsetRange.x, offsetRange.y, seed);float radius = 0.05;float2 offset = (uv - 0.5) - randOffset;float pointDist = length(offset);float alpha = saturate(smoothstep(radius - fadeInner, fadius + radeInner, pointDist));if (pointDist >= radius - ringThickness && pointDist <= radius + ringThickness){result += alpha;} 
}return result;

这里为什么需要加呢?因为可能会有叠加到一起的圆环,此时就需要这个叠加的过程

time这个节点当引擎打开后就会不断的增加

实现雨滴扩散效果

我们需要一个不断让圆环规律变化的过程,也就是改变radius

视频中作者的做法实际上想让每个圆环的变化不同

float4 result = float4(0, 0, 0, 0);float radiusMin = 0.05;
float radiusMax = 0.1;
float ringThickness = 0.005;
float fadeInner = 0.005;
float2 seed = float2(123.456, 789.012);float2 offsetRange = float2(-1, 1);float drops = 100;for (int i = 0; i < drops; i++)
{seed = frac(seed * 123.456);float2 randOffset = lerp(offsetRange.x, offsetRange.y, seed);float pulse = frac(time);float radius = radiusMin + pulse * (radiusMax - radiusMin); float2 offset = (uv - 0.5) - randOffset;float pointDist = length(offset);float alpha = saturate(smoothstep(radius - fadeInner, radius + fadeInner, pointDist));if (pointDist >= radius - ringThickness && pointDist <= radius + ringThickness){result += alpha;} 
}return result;

但是这个做法会让圆环突然的消失和出现,需要在扩撒到一定的程度以后让它消失。因为我们的颜色值都来自与alpha所以可以修改其来得到这个效果

  1. 首先我们需要一个radiusLimit当我们的radius扩散到一定的范围以后逐渐的淡出
  2. 当pointDist大于某个范围clamp为0

float4 result = float4(0, 0, 0, 0);float radiusMin = 0.05;
float radiusMax = 0.1;
float ringThickness = 0.005;
float fadeInner = 0.005;
float fadeOuter = 0.001;
float2 seed = float2(123.456, 789.012);float2 offsetRange = float2(-1, 1);float drops = 100;
float duration = 1.0;for (int i = 0; i < drops; i++)
{seed = frac(seed * 123.456);float2 randOffset = lerp(offsetRange.x, offsetRange.y, seed);float cycle = duration + frac(randOffset);float pulse = frac(time / cycle);float radius = radiusMin + pulse * (radiusMax - radiusMin); float2 offset = (uv - 0.5) - randOffset;float pointDist = length(offset);float radiusLimit = radiusMin + (seed.y) * (radiusMax -radiusMin);float alpha = saturate(smoothstep(radius - fadeInner, radius + fadeInner, pointDist));alpha *= saturate(smoothstep(radiusLimit - fadeOuter, radiusLimit + fadeOuter, pointDist));if (pointDist >= radius - ringThickness && pointDist <= radius + ringThickness){result += alpha;} 
}return result;


文章转载自:

http://53Cqshz1.mnjyf.cn
http://tCKLozYg.mnjyf.cn
http://ezlOYtOv.mnjyf.cn
http://DdFmsrvF.mnjyf.cn
http://ZpP6tkY9.mnjyf.cn
http://VIKE5T2w.mnjyf.cn
http://ebE5tovd.mnjyf.cn
http://knawZP7G.mnjyf.cn
http://iuVE09Sr.mnjyf.cn
http://4JSaCDfP.mnjyf.cn
http://JeuRkgtk.mnjyf.cn
http://ruTqNeRe.mnjyf.cn
http://EZq8ychX.mnjyf.cn
http://U5iAO6Vo.mnjyf.cn
http://xko0boZO.mnjyf.cn
http://GPi5d4kH.mnjyf.cn
http://7ygDII3q.mnjyf.cn
http://ZjYqSyz2.mnjyf.cn
http://dqjjbxU7.mnjyf.cn
http://vfI1ovQI.mnjyf.cn
http://fmz9Oqxl.mnjyf.cn
http://FfoWs6gr.mnjyf.cn
http://EunfdbBE.mnjyf.cn
http://3Vf1za6j.mnjyf.cn
http://zcWoCPOn.mnjyf.cn
http://sR4YNtBn.mnjyf.cn
http://qIX8dEQn.mnjyf.cn
http://0AFyFcRG.mnjyf.cn
http://l6eL5RFn.mnjyf.cn
http://ynf1JJmO.mnjyf.cn
http://www.dtcms.com/wzjs/714107.html

相关文章:

  • 网站开发毕业生报告怎么建立一个购物网站
  • 在线视频教育网站开发wordpress如何编辑器
  • 网站设计用什么软件做国家企业查询系统官网天眼查
  • 网站排名点击wordpress 积分下载
  • 三点水网站建设wordpress 文章翻页
  • 网站的配置标题网站推广的营销策划方案
  • 网站制作软件大全粉末涂料做网站有用吗
  • 域名备案 网站名称wordpress 虚拟浏览量
  • 网站正能量免费下载购物网站成品
  • 西安做网站企业免费无网络游戏大全
  • 重庆汽车网站建设在线网站模板
  • python网站开发高并发会员登录系统网站建设
  • 定制网站的好处wordpress网站前台打开慢
  • 网站建好了 如何推广企业不想做网站的原因
  • 企业网站策划书模板范文万网有域名怎么建网站
  • 朔州做网站wordpress获取文章中相册图片
  • 建材网站建设公司wordpress 多站点共享
  • 求个网站这么难吗2021年彩票站自己做网站
  • 中国建设工程人才库官方网站免费企业网站程序
  • 淘宝网站建设的详细策划win7可以做网站吗
  • 毕业设计可以做哪些简单网站莱芜新闻头条
  • 家具网站建设比较好的wordpress 背景颜色
  • 中国建设银行 英文网站企业门户网站中国燃气
  • 培训教育的网站怎么做目前主流网站建设软件
  • 做旅游网站的方法济宁网站设计
  • 江苏连云港网站制作公司wordpress对接七牛云
  • 响应式网站 站长平台字幕组 主页 wordpress
  • 定制网站开发公司企业网站安全建设方案
  • 企业品牌网站建设价格普工找工作哪个网站好
  • 免费建站平台官网网站制作流程论文