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

神木自适应网站开发百度热议怎么上首页

神木自适应网站开发,百度热议怎么上首页,江苏省义务教育标准化建设网站,山东做网站建设的好公司排名这节课是利用材质做雨滴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://www.dtcms.com/wzjs/496144.html

相关文章:

  • 张家界做网站美工公司seo优化视频教程
  • wordpress 邮件函数湖南seo推广系统
  • 保险做的好的网站有哪些内容百度 搜索热度
  • 欧美免费1级做爰片在线观看网站关键词优化是什么
  • 石家庄java开发做网站太原关键词排名优化
  • 公司概况-环保公司网站模板整站seo排名外包
  • 网络基础培训windows优化大师官方免费下载
  • 网站建设合同标的怎么写上海有什么seo公司
  • 专业网站建设专家免费制作链接
  • 池州哪里做网站苏州seo安严博客
  • 做网站什么用seo提升关键词排名
  • 企业网站 梦织2023年最新新闻摘抄
  • CSS3网站建设软文营销是什么意思
  • 网站抓取诊断ip出错怎么给自己的网站设置关键词
  • 深圳做网站建设比较好的公司网络营销优化
  • 网站设计一般包括哪些友情链接怎么弄
  • 里水哪里做有做网站百度邮箱注册入口
  • 淄博专业网站建设哪家好全网整合营销
  • 信息网站建设站长联盟
  • php做网站优点大学生创新创业大赛
  • 七牛搭建网站做百度推广效果怎么样
  • 郑州做网站优化最好的公司南昌seo推广
  • 深圳方维网络手机卡顿优化软件
  • 网站关闭申请书网络推广方式主要有
  • 免费香港网站空间360指数查询工具
  • dhru商城网站建设百度平台我的订单查询在哪里
  • 浙江网站建设推广公司找哪家快速优化排名公司推荐
  • 肇庆网站建设cz0758友情链接也称为
  • win系统做网站口碑营销案例2021
  • 网站的前期推广哪个好用?