先日作成したテキストをカラフルにするエクスプレッションを貼っておく。


動画はこちら

エクスプレッションセレクター量

//indexの指定
const colorLength = thisComp.layer("ColorController001").effect("カラー制御")("カラー").propertyGroup(2).numProperties;
let targetTextIndex = textIndex % colorLength;
targetTextIndex = (targetTextIndex == 0)? colorLength : targetTextIndex;
//targetの指定
const setNum = Math.floor(time*5);
const offsetInd = thisProperty.propertyGroup(3).propertyIndex;
const setNumMod = setNum%thisComp.layer("マイラマイライ").text.sourceText.length+offsetInd;
let result = setNumMod%colorLength;
result = (result == 0)? colorLength : result;

if ( targetTextIndex == result ){
    100
}else{
    0
}

カラーのエクスプレッション

colorLength = thisComp.layer("ColorController001").effect("カラー制御")("カラー").propertyGroup(2).numProperties;
myProp = (thisProperty.propertyGroup(2).propertyIndex) % colorLength;
//ゼロ処理
myProp = (myProp == 0)? colorLength :myProp;
thisComp.layer("ColorController001").effect(myProp)("カラー");

ついでにエクスプレッションセレクターの基準を変更出来るスクリプトも貼っておく。

最後のsetValue(n)この中の数値を1~4で変更すれば、変更出来る
例えばsetValue(4)であれば基準を行に変更出来ます。

var myComp = app.project.activeItem;
var selLay = myComp.selectedLayers;
//$.writeln( selLay )
for (var i = 0 ;  i <selLay.length; i++ ){
   //$.writeln( selLay[i].property("ADBE Text Properties").numProperties )
   numProp = selLay[i].property("ADBE Text Properties").numProperties;
   for ( var j= 1; j < numProp+1 ; j++){
       //プロパティの名前にcolorが入っているかチェック
       var myProp = selLay[i].property("ADBE Text Properties").property("ADBE Text Animators").property(j);
        var regExp = /color/;
        if ( regExp.test( myProp.name ) == true ){
            //$.writeln(myProp.property("ADBE Text Selectors").property(2).property("ADBE Text Range Type2").value)
            myProp.property("ADBE Text Selectors").property(2).property("ADBE Text Range Type2").setValue(1)
        } 
   }
}

ちなみに

今リリックビデオ作成中でその作業で必要なものをメモしていきます。