【Shader Graph】SmoothStep节点详解及其应用

目录

一、SmoothStep函数

二、基础图像

情况一:t1 > t2 

情况二:t1 < t2 

三、两个SmoothStep函数相减的图像

1)SmoothStep(t1,t2,x) - SmoothStep(t2,t3,x)

2)SmoothStep(t1,t2,x) - SmoothStep(t3,t4,x)

四、SmoothStep节点的应用

1)In < edge2, edge1 作为自变量

2)edge2 < In, edge1 作为自变量

3)  In < edge1, edge2 作为自变量

4)  edge1 < In, edge2 作为自变量

五、用SmoothStep做有边缘的模型裁切效果


一、SmoothStep函数

float SmoothStep(float t1, float t2, float x)
{x = clamp((x-t1)/(t2-t1),0.0,1.0);return x*x*(3-2*x);
}

二、基础图像

情况一:t1 > t2 

以t1 = 3, t2 = -2 为例 , SmoothStep(3,-2,x)的图像如下:

由图像可知,x <= -2 时,返回1, x >= 3 时,返回0,-2 < x < 3 时,返回值由1逐渐减少至0。 

即对于SmoothStep(t1,t2,x)(t1>t2),x <= t2 时, 返回1,x >= t1 时,返回0,t2 < x < t1 时,随着x的增大返回值逐渐由1减少至0。

我们用一个材质球表示,我们将模型空间的y坐标传入x变量,得出的材质效果如下:

由上到下是黑到白的渐变,渐变区的宽度取决于 t1 - t2 的大小。

情况二:t1 < t2 

以t1 = -2, t2 = 3 为例 , SmoothStep(-2,3,x)的图像如下:

由图像可知,x <= -2 时,返回0, x >= 3 时,返回1,-2 < x < 3 时,返回值由0逐渐增加至1。 

即对于SmoothStep(t1,t2,x)(t1<t2),x <= t1 时, 返回0,x >= t2 时,返回1,t1 < x < t2 时,随着x的增大返回值逐渐由0增加至1。

我们用一个材质球表示,我们将模型空间的y坐标传入x变量,得出的材质效果如下:

 由上到下是白到黑的渐变,渐变区的宽度取决于 t2 - t1 的大小。

三、两个SmoothStep函数相减的图像

1)SmoothStep(t1,t2,x) - SmoothStep(t2,t3,x)

以t1 = -2,t2 = 0 ,t3 = 2 为例 ,SmoothStep(-2,0,x)-  SmoothStep(0,2,x)的图像如下:

由图像可知,x <= -2  或 x >= 2时,返回0, x = 0 时,返回1,-2 < x < 2 时,返回值在[0,1]范围内。

我们用一个材质球表示,我们将模型空间的y坐标传入x变量,得出的材质效果如下:

2)SmoothStep(t1,t2,x) - SmoothStep(t3,t4,x)

以t1 = -2,t2 = -1 ,t3 = 1 ,t4 = 2 为例 ,SmoothStep(-2,-1,x)-  SmoothStep(1,2,x)的图像如下:

由图像可知,x <= -2  或 x >= 2时,返回0, -1 <= x <= 1 时,返回1,-2 < x < -1 或 1 < x < 2 时,返回值在[0,1]范围内。

我们用一个材质球表示,我们将模型空间的y坐标传入x变量,得出的材质效果如下:

两个SmoothStep函数相减,可以做出圆环的效果。

四、SmoothStep节点的应用

对于SmoothStep(edge1,edge2,In)

1)In < edge2, edge1 作为自变量

由基础图像我们可知:

当 In < edge2 < edge1 时,返回1

当 In < edge1 < edge2 时,返回0

edge1 < In < edge2 时,返回[0,1]且随着edge1减小,返回值由0增加至1

以上三条关系式中,edge1逐渐减小,我们固定两个常量In < egde2,让edge1作为自变量,传入模型坐标的y分量,材质如图:

2)edge2 < In, edge1 作为自变量

由基础图像我们可知:

edge1 < edge2 < In 时,返回1

当 edge2 < edge1 < In 时,返回0

当 edge2 < In < edge1 时,返回[0,1]且随着edge1增大,返回值由0增加至1

以上三条关系式中,edge1逐渐增大,我们固定两个常量egde2 < In,让edge1作为自变量,传入模型坐标的y分量,材质如图:

3)  In < edge1, edge2 作为自变量

由基础图像我们可知:

当 In < edge1 < edge2 时,返回0

当 In < edge2 < edge1 时,返回1

edge2 <​​​​​​​ In < edge1 ​​​​​​​时,返回[0,1]且随着edge2减小,返回值由1减小至0

以上三条关系式中,edge2逐渐减小,我们固定两个常量In < edge1,让edge2作为自变量,传入模型坐标的y分量,材质如图:

4)  edge1 < In, edge2 作为自变量

由基础图像我们可知:

当​​​​​​​ edge2 < edge1 < In ​​​​​​​ 时,返回0

当​​​​​​​ edge1 < edge2 < ​​​​​​​In ​​​​​​​ 时,返回1

当​​​​​​​ edge1 < ​​​​​​​In​​​ < edge2  时,返回[0,1]且随着edge2增大,返回值由1减小至0

以上三条关系式中,edge2逐渐增大,我们固定两个常量edge1 < In,让edge2作为自变量,传入模型坐标的y分量,材质如图:

五、用SmoothStep做有边缘的模型裁切效果

思路:用Step节点做模型裁切效果,用SmoothStep节点加上边缘效果

新增四个Properties:

其中Edge用来控制裁切高度,Width用来控制边缘宽度,EdgeColor是边缘颜色,MainColor是模型的整体颜色

 

 效果:

(函数的图像直接用的excel,excel里面没有自带的clamp函数,可以用Median函数实现,Median函数返回一组数中的中间值,对于Median(0,x,1),当x < 0,返回0,当x > 1,返回1,当x处于[0,1],返回x自身。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/17772.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Unity_Input System】Input System新输入系统(一)

目录 一、导入Input System包 二、使用方式1&#xff1a;直接从输入设备对应类中获取输入 三、使用方式2&#xff1a;用代码创建InputAction获取输入 四、使用方式3&#xff1a;用Player Input组件获取输入 五、使用方式4&#xff1a;用Input Action Asset生成C#代码获取输…

Echarts的地图实现拖拽缩放同步功能(解决多层geo缩放、拖动卡顿问题)

项目场景&#xff1a; 大屏项目显示云南省3D的地图&#xff0c;可拖拽缩放、地图打点、点击图标弹框等等功能 问题描述 多图层拖拽时会上下层会分离&#xff0c;延迟卡顿 原因分析&#xff1a; 1、拖拽时不同图层的中心坐标没有保持一致&#xff0c; 2、卡顿是数据更新动画时…

php编写年历流程图,使用PHP怎么编写一个万年历功能

使用PHP怎么编写一个万年历功能 发布时间&#xff1a;2020-12-25 14:27:13 来源&#xff1a;亿速云 阅读&#xff1a;94 作者&#xff1a;Leah 这篇文章将为大家详细讲解有关使用PHP怎么编写一个万年历功能&#xff0c;文章内容质量较高&#xff0c;因此小编分享给大家做个参考…

mysql审计audit插件_MySQL审计工具Audit插件使用

MySQL审计工具Audit插件使用一、介绍MySQL AUDIT MySQL AUDIT Plugin是一个 MySQL安全审计插件&#xff0c;由McAfee提供&#xff0c;设计强调安全性和审计能力。该插件可用作独立审计解决方案&#xff0c;或配置为数据传送给外部监测工具。支持版本为MySQL (5.1, 5.5, 5.6, 5.…

计算机小知识应用,电脑使用小知识

办公用品网平台正在火热招商中&#xff01;&#xff01;&#xff01; 1.在我们使用软件时&#xff0c;大部分软件(如word&#xff0c;excel&#xff0c;PPT&#xff0c;等)会使用CTRL键加s键进行快捷保存。比如说&#xff0c;我们在写word文档时&#xff0c;写完一段&#xff0…

linux tree工具使用,Dutree–Linux上磁盘使用情况分析的免费开源命令行工具

Dutree是一款免费的开源&#xff0c;快速的命令列工具&#xff0c;用于分析磁碟使用情况。Dutree是Durep和Tree的组合。Durep用图表创建磁盘使用情况报告&#xff0c;这使我们能够确定哪些目录使用了最多的空间。尽管durep可以产生类似于du的文本输出&#xff0c;但其真正的功能…

直播预告 | 虹科Vuzix AR眼镜赋能汽车业“智慧眼”

就在今天20:00-21:00&#xff01; 虹科行业AR解决方案直播课程《虹科AR汽车行业解决方案》&#xff0c;深刻透析汽车业诊断、维修、培训的“四大痛点”&#xff0c;介绍汽车行业AR创新解决方案、培训场景解决方案、数字化工作流解决方案、远程协助全场景解决方案&#xff01; …

2023,智能硬件的AIGC“又一春”

​ 文|智能相对论 作者|佘凯文 消费电子产品风光不再&#xff0c;特别是自去年以来&#xff0c;电子消费市场经历了一整年的寒潮袭击&#xff0c;智能手机等产品达到10年消费谷底&#xff0c;PC出货量整体下降16%&#xff0c;不仅如此&#xff0c;包括平板、可穿戴设备也一改…

ChatGPT 速通手册——开始提问

开始提问 当我们完成注册后&#xff0c;页面自动会跳转到ChatGPT的主页面&#xff0c;在这里我们就可以开始进行对话了。 我们在页面下方的输入框中填写问题&#xff0c;然后回车或者点击小飞机&#xff0c;我们的问题和ChatGPT的答案就会在页面上方以一问一答的格式展现出来…

小牛情报APP最强攻略

下面博主就为您写一波小牛情报最强攻略。 首先&#xff0c;我们来介绍一下小牛情报&#xff0c;是国内专业的独立第三方区块链数据服务平台&#xff0c;一直致力于数据的深耕与数据价值的挖掘&#xff0c;从数据的采集、处理到数据的分析&#xff0c;再到数据的应用于咨询。它…

北京市小牛电动车选购指南

由于北京市对可上牌照的电动自行车的配置有要求&#xff1a;速度不能超过25km/s&#xff0c;必须带有脚踏板。本文写于2019年11 月&#xff0c;当前&#xff0c;小牛在北京可选的车型也就只有如下几种&#xff1a;U/U1、US、UM、U了&#xff0c;它们在《北京市电动自行车产品目…

小牛性能服务器图片,【N1S参数篇】性能与体验并肩,N1S参数配置介绍

​智能化时代已经来临&#xff0c;智能产品对于我们来说都已经不再陌生&#xff0c;硬件配置似乎永远是智能产品中恒古不变的主题。 和科技沾边的东西&#xff0c;似乎很难添加什么感性的包装。虽然如今我们看到不少强调梦想与情怀的产品层出不穷&#xff0c;但归根结底&#x…

MAC下查看JDK1.8中文文档CHM教程

下载JDK文档资源&#xff0c;本文结尾会提供资源链接。下载打开Mac,下载可以识别CHM的软件如CHM Reader&#xff0c;ReadCHM。 注意&#xff1a;升级Mac系统到10.15后我自己电脑的CHM Reader已经不能使用&#xff0c;应该是不兼容。重新找了其他的软件替代即可比如&#xff1a;…

大牛生小牛的问题

问题&#xff1a; 一只刚出生的小牛&#xff0c;4年后生一只小牛&#xff0c;以后每年生一只。现有一只刚出生的小牛&#xff0c;问20年后共有牛多少只&#xff1f; 思路&#xff1a; 这种子生孙&#xff0c;孙生子&#xff0c;子子孙孙的问题&#xff0c;循环里面还有循环的嵌…

小牛N1S改装60A大单体宁德时代

N1s是19年底动力版&#xff0c;目前行驶12000公里没有任何故障&#xff0c;也没做任何改装&#xff01;由于电池26A续航55公里左右还是不能满足个人使用习惯&#xff0c;官方电池太贵&#xff0c;所以有了自己改装大单体的想法&#xff0c;目前采购电池等配件中&#xff0c;选择…

求母牛生小牛函数c语言,编程求解以下问题 若一头母小牛,从出生的第四个年头开始每年生一头小母牛,按此规律,第n年时有多少头母牛?(要求用两种方法)...

满意答案 zoav7 2015.10.15 采纳率&#xff1a;59% 等级&#xff1a;7 已帮助&#xff1a;962人 //第一种方法 int n 100; //假设n100 int[] Group new int[1]; //初设牛的数量 Group[0] 1; for (int i 1; i < n; i) {//循环经过的 时间/年 int count Group.Length;…

解决小牛电动自行车电池不能输出电压

前几天我买的小牛电动自行车的APP 后台不停的报告我的电池 “已接入”和已断开“”&#xff0c;如下所示 最开始以为是谁在偷电池&#xff0c;马上就去找小牛&#xff0c;此时按遥控器&#xff0c;车辆已无反应了&#xff0c;把电池的电源输出连接线拔掉&#xff0c;APP 最终停…

小牛问题

描述&#xff1a;农场有一头牛&#xff0c;每年生一头小牛。小牛四岁后会每年生一头小小牛。求20年后农场有多少头牛。 题目很短&#xff0c;但很有意思的题目&#xff0c;作为水平不是很高的我来说&#xff0c;我觉得起到了充分的锻炼。 思路&#xff1a; 第一年&#xff1a…

小牛马的编程

1 自我介绍 大家好我是来自甘肃兰州&#xff0c;大一的学生&#xff0c;要说我是怎么喜欢上编程的那就要从一部电影说起来了&#xff0c;《没有绝对安全的系统》我就感觉黑客都很厉害&#xff0c;随便就入侵别人的系统&#xff0c;各种攻击&#xff0c;然后我也看了一些关于黑…

递推算法3——顺推法之母牛生小牛问题

有一头母牛&#xff0c;每年年初生一头小母牛&#xff0c;每头小母牛从第3个年头起每年年初也可以生一头小母牛。求在第20年时有多少头母牛。 令x0_i&#xff0c;x1_i&#xff0c;x2_i&#xff0c;x3_i分别表示第i年后刚生下的母牛、满1岁的母牛、满2岁的母牛以及可生小母牛的…