matlab wiggle图,AE用wiggle表达式控制图层透明度

用wiggle表达式控制图层的透明度,如:wiggle(10,100)代表图层每秒抖动10次,透明度的值为0-100范围的随机数。

如果我想让图层的透明度只为0或100,即实现图层的随机出现和消失varwiggle_result=wiggle(10,50);

if(wiggle_result>50)

value=100;

else

value=0;

//"var"、"value = "在Ae中可省略,功能无差别,但尽量写完整,养成好习惯。

意思:声明一个名为wiggle_result的变量,并将当前属性(Opacity)的值以“10 Hz、50 单位”随机摆动的结果赋给wiggle_result。

如果wiggle_result大于50:

将100赋给当前属性的值;

“可视化”演示:

cd1e30e4be98

效果:

cd1e30e4be98

表达式中的第一个参数(频率)并没有准确地在最终效果中生效,而准确的频率又与“图层随机的出现和消失”相悖,所以代码中的频率仅作为一种参考。

制作上图时,我将黑色矩形的Opacity设为了50,原因是:

cd1e30e4be98

灰色线表示Opacity原值,白色线表示由表达式运算出的Opacity当前值。在没有指定具体属性时,wiggle()函数会以当前属性(Opacity)的值进行计算,写完整就是:thisProperty.wiggle();

所以我调整Opacity的值会对最终结果产生影响。

要想让自己在今后看得明白,可以这么做:

cd1e30e4be98

在透明属性上建立表达式:

t=Math.sin(time*10)*100; //建立透明度的循环从-100到100;

if(t>100) //判断循环,如果t>100的时候;

{t=100} //t就等于100;

else if(t<0) //t小于0的时候;

{t=0} //t就等于0;

else //其他的情况;

{t} //就等于t本身的数值;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

如果对于闪烁的频率不满意自己可以改 t=Math.sin(time*10)*100; 把(time*10)里面的10想再快一些就提高数值 ,比如20,30等,如果想闪烁的慢一些可以把10改小。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

另外说明:上面写的表达式闪烁的时候是有渐变过度的,比较缓和,如果你想闪烁的时候生硬一些,就是透明度0直接到100,那你就把最后一句else {t} 里面的t改为 value,效果也不错;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

不推荐使用wiggle或者random这种的表达式来实现闪烁效果,因为数值得不到有效的控制,并且这类代码是是随机取值,是不可控的,效果表现不好。好了希望可以帮助到你!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值