RandomTypo
・・・上手い言い方が見つからなかったのですが、こんなのです。良くありますよね。
後々使いまわせるようにエクスプレッションで書いておきました。
実際のエクスプレッションや使用法については以下から。
_text = text.sourceText;
if( effect("duration")("スライダ") > 0){
_duration = effect("duration")("スライダ");
} else {
_duration = 2; //ここを変える
}
allStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
_cursor = Math.floor(time / _duration*_text.length);
_output = new String();
if( _cursor <= _text.length-1){
_output = _text.substring(0,_cursor);
_outFinal = _output.concat( allStr.charAt( Math.floor( random(allStr.length))));
_outFinal;
} else {
_text;
}
コードが汚いのはご勘弁ください...。
これをソーステキストのところにコピペすれば、とりあえずは動作します。
特徴としては、文字が出揃うまでの時間を指定することができます。
デフォルトで2秒ですが、3行目の_durationを変えれば秒数が変わります。また、エフェクトの「スライダ制御」を適用して、名前をdurationに変えればスライダでの調節も可能です。
文字数が異なっていても、上の動画のように変化の長さをぴったり一致させることができるので、複数のシーンで揃えた演出をしたい場合は便利かと思います。
本当はキーフレーム制御にしたかったのですが、キーフレームが無い状態だとエラーが出ると思ったのでやめました。キーフレームやエフェクトの存在をtrue/falseで得る方法ないのかな。ありそうだけど。
Home > AfterEffects > | Tips & Chutorials > [AfterEffects]最後の文字がカタカタなるエクスプレッション