角度と距離が分かれば、座標を求めることが出来る。
・黄色長方形の角度
・緑四角までの距離(黄色長方形の半分):50
↑の2つから緑四角の座標を求める。
▼緑四角レイヤーの位置に追加したエクスプレッション
//↓黄色長方形レイヤーの角度を、変数kakudoに入れる。 kakudo = degreesToRadians(thisComp.layer("イエロー 平面 1").transform.rotation); x=50*Math.cos(kakudo); y=50*Math.sin(kakudo); //↓回転の中心が画面の中心になるように、数を足す。 [x,y]+[240,180]
▼角度と距離から座標を求める方法
まずは角度を、degreesToRadians()メソッドを使って、
一般的な角度である度数法(ディグリー)から、弧度法(ラジアン)に変換する。
(※座標を求めるときに使うMath.cos()とMath.sin()メソッドの引数はラジアンでなければいけない。)
ラジアン角度 = degreesToRadians(ディグリー角度)
XとYの座標を以下の式を使って求める。
x座標 = 距離×Math.cos(ラジアン角度)
y座標 = 距離×Math.sin(ラジアン角度)
このXとYの座標は、コンポジション左上を原点にした位置になる。
▼雑記
今回の処理は、マジックハンドの動きを再現するために必要になった。
わざわざ計算しなくても、toCompメソッドを使うことで、
子レイヤーの座標を取得できた。
[After Effects]子レイヤーの座標を取得する方法
ピンバック: [After Effects]回転する親レイヤーの子になっているレイヤーの座標を取得する方法 | NG録