エクスプレッションで重力を表現したい
手入力で再現するより、式を用いたほうが早いかなと思い探してみました。
目次
重力のエクスプレッション
seedRandom(index,true)
mGravBase=9.81; //basic gravity
mGravVar=random(-1,1); //gravity variation
mAccel=time*(mGravBase+mGravVar);
X=value[0];
Y=value[1]+Math.pow(mAccel,2);
[X,Y]※自由落下の公式は「v=gt、y=(1/2)gt^2」です。
※ランダムrandom(-1,1)の値を入れるとばらつきが作成できます。
スクリプトにした場合
位置を選択して実行します。
props = app.project.activeItem.selectedProperties;
for (var i = 0; i < props.length; i++){
if (props[i].canSetExpression){
props[i].expression = "seedRandom(index,true); mGravBase=9.81;mGravVar=random(-1,1); mAccel=time*(mGravBase+mGravVar); X=value[0]; Y=value[1]+Math.pow(mAccel,2); [X,Y]";
}
}