返回 0 到 1 之间的值,该值表示参数在最小值和最大值之间的比例值。利用该函数可以在某个时间范围内将属性(例如“不透明度”(Opacity))从 0 线性增加到 1。        

float linstep(float start, float end, float parameter)        

start 和 end 用于指定最小值和最大值。        

parameter 是要用于生成比例数的值。          

如果 parameter 小于 start,linstep 会返回 0。        

如果 parameter 大于 end,linstep 会返回 1。        

示例

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

进一步假设,已将动态每对象属性“不透明度”(Opacity)添加到“云”(Cloud)中(请参见使用粒子属性)。然后为云的粒子形状节点编写以下运行时表达式:

CloudShape.opacity = linstep(0,5,age);

该表达式会在对象存在的前 5 秒内将“CloudShape”的每对象属性“不透明度”(Opacity)均等地从 0 增加到 1。由于已使用“粒子工具”(Particle Tool)创建了对象,因此粒子将从动画的第一帧开始存在。

对象中的所有粒子会在动画的前 5 秒内从透明淡入不透明。

在播放的第一帧中,粒子年龄为 0,因此,linstep 函数会针对“不透明度”(Opacity)返回 0。值为 0 的“不透明度”(Opacity)表示是透明的。

在后续的每个帧中,linstep 函数会返回一个按比例增大的不透明度值。当对象年龄达到 5 时,linstep 函数会针对不透明度返回 1。值为 1 的不透明度表示 100% 不透明。

当年龄超过 5 时,linstep 函数将返回 1。不透明度将保持在 100% 不透明状态。以下是针对对象的不透明度返回的一些值:        

 
年龄不透明度
0.04170.0083
0.08330.0166
0.1250.025
0.16670.0333
0.20830.0417
2.50.5
1.00.2
3.750.75
51
5.0411
5.0831
101

如下表所示,不透明度在对象年龄的前 5 秒中以线性增量增加。在指定的 0 到 5 秒年龄范围内的中点处,不透明度为 0.5。在 0 和 5 秒的 3/4 处,不透明度为 0.75。在对象年龄的 5 秒处,不透明度为 1。5 秒后,不透明度将保持为               1。

假设对运行时表达式进行如下编辑:

CloudShape.opacity = linstep(5,10,age);

这会在对象年龄从 5 秒增加到 10 时将“不透明度”(Opacity)属性从 0 线性增加到 1。

假设对运行时表达式进行如下编辑:

particleShape1.opacity = 1-linstep(0,5,age);

这会在对象年龄的前 5 秒内将“不透明度”(Opacity)属性从 1 线性减少到 0。从 1 中减去 linstep (0,5,age) 会导致不透明度淡出而不是淡入。

         
,