AfterEffects エクスプレッションのみでカウントアップ
やりたかったこと
動画作成中(作成してないけど(笑))に〇〇と発言した数をカウントする!!
的な事を考えた時に発言した時にレイヤーマーカーを打ってそれをカウントアップさせる。
とりあえずAE内ではテキストレイヤー1つのみで完結させたかった。
実際の作ろうとしたイメージの動画と実際に作成した物を動画にしました。
エクスプレッションのみでカウントアップを作成してみました。
— YouTool (@YouTool3) 2018年10月24日
詳しくはキータのブログでどうぞ。#aftereffects pic.twitter.com/3Mvtt2Vfki
内容
テキストレイヤーには2つのスライダーエフェクトを使用しています。
①スライダー名 「Sp」
②スライダー名 「PsitionY」
①Spはマーカーの何秒前からカウントアップが始まるかです。
②PositionYはテキストの移動位置です。
②はフォントサイズとか変わるとずれるのでこれで調整して下さい。
テキストのソースのエクスプレッションはこちら
var mnk = thisLayer.marker.nearestKey(time);
var count;
if (time < mnk.time){
count = mnk.index-1+"\r"+mnk.index;
}else if ( time < thisLayer.marker.key(1).time ){
count = mnk.index-1+"\r"+mnk.index;
}
else{
count = mnk.index+"\r"+Number(mnk.index+1);
}
count
テキストレイヤーにはウィグリーセレクタを追加していますがこれは数字が上下に揺れるだけのものなので
入れなくても大丈夫です。
ウィグリーセレクタ
x=value[0];
y=wiggle(5,30);
[x,y[1]]
ここからは必要なものです。
テキストレイヤーに
アニメータを3つ追加しています。
①位置
②不透明度
③不透明度
Position(①位置アニメーター)
var mnk = thisComp.layer("0 ").marker.nearestKey(time).time;
sp=effect("Sp")("スライダー");
posY= effect("PositionY")("スライダー");
if ( ( time > mnk-sp )&&(time < mnk) ){
linear(time,mnk,mnk-sp,[0,0],[0,-posY])
}else{
[0,0]
}
transparent(②不透明度アニメーター 下の数字に対して)
var mnk = thisComp.layer("0 ").marker.nearestKey(time).time;
sp=effect("Sp")("スライダー");
if ( ( time > mnk-sp )&&(time < mnk) ){
linear(time,mnk,mnk-sp,0,100)
}else{
0
}
transparent2(③不透明度アニメーター 上の数字に対して)
var mnk = thisComp.layer("0 ").marker.nearestKey(time).time;
sp=effect("Sp")("スライダー");
if ( ( time > mnk-sp )&&(time < mnk) ){
linear(time,mnk,mnk-sp,100,0)
}else{
100
}
これであとはカウントしたい所にテキストレイヤー上にマーカー打つだけです。
以上です。
Author And Source
この問題について(AfterEffects エクスプレッションのみでカウントアップ), 我々は、より多くの情報をここで見つけました https://qiita.com/TimeToEdit/items/426c56000b98429801e9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .