[エクスプレッション]indexを使わずに特定のレイヤーグループだけの数値を取得_replace

indexを使うと特定のレイヤーを参照することができますが、レイヤを複製したり他のcompにコピペするとindex順序が変わってしまい意図しない下のなってしまいます。そんな場合はレイヤー名の複製された数を取得すると良いです。

nameとセットで使う

まずはレイヤー名を取得しないといけないのでnameと組み合わせます。

  • シェイプレイヤー名を取得する場合
thisComp.layer("シェイプレイヤー 1").name

これでレイヤー名が取得できました。このレイヤーは単純に複製していくと名前が増えていくようにしています。

情報として欲しいのは最後の数字だけなので[シェイプレイヤー + 半角スペース]を取り除く必要があります。

replace( 対象文字, 置き換えする文字 )

これは文字列を置き換える時に使う記述です。これを使うとかなり簡単に複製レイヤーの数字を取得できます。上のシェイプレイヤーを例にとるとこのような感じです。

thisComp.layer("シェイプレイヤー 1").name.replace("シェイプレイヤー ","")

これは「シェイプレイヤー 1」から「シェイプレイヤー + 半角スペース」を何も文字なしに置き換えています。結果として「シェイプレイヤー + 半角スペース」が削除される形になります。こうすることでこのシェイプレイヤーを複製していくと増えていく数字だけを取得できます。

Tips

  • 必ず複製しても番号を取得できるようにレイヤー名の最後は半角あけた数字にしておく

これでindex番号が複雑になって管理が難しくなるのも防げますね^^

エクスプレッションを使って快適なAE生活を^^

https://everydayskillshare.jp/

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です