2017-10-23 4 views
0

ための指数オートフェード式:AE ExtendScriptの - 私はちょうど下の式を追加することによって、私のバックグラウンドミュージックの終わりをAUTOFADEする線形オートフェード式を使用しているオーディオ

fadeTime = 9; 
audio.audioLevelsMin = -50; 
audio.audioLevelsMax = 0; 
layerDuration = outPoint - inPoint; 
singleFrame = thisComp.frameDuration; 
animateOut = linear(time, (outPoint - fadeTime+1), (outPoint-singleFrame), audio.audioLevelsMax, audio.audioLevelsMin); 
[animateOut,animateOut]; 

はしかし、これは単なるです線形フェード。私は指数関数的なフェードを作成したいと思います。これは表現でも可能ですか?

指数が完全におそらく正しい言葉ではありません - 右の単語を知っているの欠如のために、私は私が何を意味するかを示すために、以下の画像を投稿していますので:

enter image description here

+0

After Effectsの質問は、videoproduction.stackexchange.comでさらに注目を集めます。 – stib

答えて

0

したいフェードx = -1とx = 1の間のy = 0 - (x^3)のように見えます。

enter image description here だから我々は、-1から1になり、正規化変数tを作成することによって、その範囲にフェードをマッピングし、それをキューブし、その後範囲に1-0

enter image description here

をそのバックマップ
fadeTime = 9; 
levelsMin = -50; 
levelsMax = 0; 

//not sure why you want to add an extra second to the fade time, but I included the + 1 
fadeStart = outPoint - fadeTime+1; 

t = linear(time, fadeStart, outPoint, 1, -1); //t goes from 1 to -1 over the fade 
fade = 0.5 + Math.pow(t, 3)/2; // goes from 1 to 0, but with the curve you want 
// map 1 → 0 ⇒ levelsMax → levelsMin 
finalLevel = levelsMin + fade * (levelsMax - audio.audioLevelsMin); 
[finalLevel, finalLevel] 
関連する問題