转载一: http://blog.csdn.net/meegomeego/article/details/8639126
smoothstep
将返回一个 0 到 1 的值,该值表示参数在最小值和最大值之间的成比例距离。smoothstep 函数将用于在一段时间范围内逐渐但非线性地增加属性,例如,“不透明度”(Opacity)从 0 增加到 1。
smoothstep 函数与 linstep 函数的工作方式类似,不过其将在最小值和最大值之间的中间值附近更快地增加值。该函数使用最小值和最大值之间的 hermite 插值。
float smoothstep(float start, float end, float parameter)
下图将根据时间顺序比较 smoothstep 和 linstep 返回的值:

假设已使用“粒子工具”(Particle Tool)来创建名为“云”(Cloud)的粒子的集合:

假设也已逐对象为“云”(Cloud)添加动态“不透明度”(Opacity)属性(请参见使用粒子属性)。然后,可以为云的粒子形状节点写入该运行时表达式:
CloudShape.opacity = smoothstep(0,5,age);
对于对象年龄的前 5 秒,这将在 0 到 1 的步骤中增加“CloudShape”的“不透明度”(Opacity)属性。这将使对象从透明淡入到不透明。在 2.5(0 与 5 的中点)附近,不透明度的淡入和淡出发生得更快。

http://download.autodesk.com/global/docs/maya2013/zh_cn/index.html?url=files/Useful_functions_smoothstep.htm,topicNumber=d30e718640
转载二: http://blog.csdn.net/libing_zeng/article/details/68924521

版权声明:本文为博主原创文章,未经博主允许不得转载。
函数定义:
参考:https://en.wikipedia.org/wiki/Smoothste
相关函数图形如下:
计算机图形中经常用到正如上图所示的:两个smooth()函数相减。
相关C++代码: