关键表达式:
property.speed%(Math.abs(property.speed)-1)
应用:
位置根据透明度变化,移动相应距离(在位置上黏贴此表达式后在透明度上打关键帧):
t=transform.opacity;
ts=transform.opacity.speed;
result=value+[(t-100)*(ts%(Math.abs(ts)-1)),0];
详细应用:https://uiiiuiii.com/aftereffects/121212834.html
注释:
t=transform.opacity; /*设t等于不透明度*/
ts=transform.opacity.speed;/*设t等于不透明度的速度*/
result=value+[(t-100)*(ts%(Math.abs(ts)-1)),0];
/*结果 = 当前属性值 + [透明度 * (速度 除以 (速度绝对值-1) 的余数),0]*/
——————————————2017年9月3日更新————————————————
a=transform.opacity;/*这里自己获取一个需要的属性值*/
k=speedK(a); /*速度方向系数*/
n=-2; /*比例系数*/
result=value+[0,(a-100)*k*n];/*(a-100)是为了让透明度在100的时候为中间位置,渐入渐出的时候让位移自动移动*/
function speedK(prop){
if(prop==undefined){prop=thisProperty;}
var result=prop.speed%(Math.abs(prop.speed)-1);
return result;
}
——————————2017年9月7日更新——————————
a=transform.opacity;/*这里自己获取一个需要的属性值*/
m=100;/*a的最大值*/
n=-0.5; /*比例系数*/
k=speedK(a); /*速度方向系数*/
x=(m-a)*k*n;
result=value+[x,0];
function speedK(prop){
if(prop==undefined){prop=thisProperty;}/*容错*/
var pSp=prop.speed;
/*配合inOut,可删除*/
var inP=inPoint+thisComp.frameDuration;
var outP=outPoint-thisComp.frameDuration;
pSp=time<inP?prop.speedAtTime(inP):pSp;
pSp=time>outP?prop.speedAtTime(outP):pSp;
/*配合inOut,可删除*/
var result=pSp%(Math.abs(pSp)-1);
return result;
}
© leizingjiu | Powered by LOFTER