indexを使うと特定のレイヤーを参照することができますが、レイヤを複製したり他のcompにコピペするとindex順序が変わってしまい意図しない下のなってしまいます。そんな場合はレイヤー名の複製された数を取得すると良いです。
nameとセットで使う
まずはレイヤー名を取得しないといけないのでnameと組み合わせます。
- シェイプレイヤー名を取得する場合
thisComp.layer("シェイプレイヤー 1").name
これでレイヤー名が取得できました。このレイヤーは単純に複製していくと名前が増えていくようにしています。
情報として欲しいのは最後の数字だけなので[シェイプレイヤー + 半角スペース]を取り除く必要があります。
replace( 対象文字, 置き換えする文字 )
これは文字列を置き換える時に使う記述です。これを使うとかなり簡単に複製レイヤーの数字を取得できます。上のシェイプレイヤーを例にとるとこのような感じです。
thisComp.layer("シェイプレイヤー 1").name.replace("シェイプレイヤー ","")
これは「シェイプレイヤー 1」から「シェイプレイヤー + 半角スペース」を何も文字なしに置き換えています。結果として「シェイプレイヤー + 半角スペース」が削除される形になります。こうすることでこのシェイプレイヤーを複製していくと増えていく数字だけを取得できます。
Tips
- 必ず複製しても番号を取得できるようにレイヤー名の最後は半角あけた数字にしておく
これでindex番号が複雑になって管理が難しくなるのも防げますね^^
エクスプレッションを使って快適なAE生活を^^