After Effects│エクスプレッションを使って重力を表現する方法

エクスプレッションで重力を表現したい

手入力で再現するより、式を用いたほうが早いかなと思い探してみました。

目次

重力のエクスプレッション

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]";
  }
}
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次