adobe
expression
AfterEffects

AE 親とリンクのエクスプレッション

いつもの使い方

シェイプレイヤーを作成して、親となるレイヤー(ヌル)を作成して親とのリンクでヌルに設定してあげてました。
ただヌルの位置やスケール回転に関してはリンクされているのですが、透明度に関してはリンクされてないので
いつもはシェイプレイヤーの不透明度にエクスプレッションをこのように記述していました。

thisComp.layer("ヌル 1").transform.opacity

bandicam 2018-05-07 10-29-30-575.jpg

もちろんこれで間違ってはいません。が!!!

もっとスマートに

親へのリンクにエクスプレッション言語に「parent」という物があります。

parent.transform.opacity

結果は同じですが、ちょっとスマートになりましたね。

親を変更した時または親を解除した場合は?

親の変更に関してはそのまま親のリンクの値になりますが
親リンクを解除したらエラーになります。

bandicam 2018-05-07 10-36-08-115.jpg

もちろん親を参照していない結果ですね。

このエラーを回避する為にif文を使ってレイヤーに親がある場合と無い場合の指示をしてあげます。

if (hasParent == true){
parent.transform.opacity
}
else{
value
}

もしレイヤーに親がある場合は親の不透明度
そうでなければ、シェイプレイヤーのバリューを使う感じです。

親がある場合の結果は
しっかりヌル(親)の不透明度50%の値を取ってくれています。

bandicam 2018-05-07 10-43-14-740.jpg

そして親が無い場合の結果は
シェイプレイヤーのバリューの値100%を取ってくれています。

bandicam 2018-05-07 10-44-56-428.jpg

これでスマートになりましたね!

たまに使いそうなのでメモとして残しておきます。