Activity › Forums › Adobe After Effects › Motion Blur … present but not blured
-
Motion Blur … present but not blured
Posted by Nicolas Guionnet on March 29, 2019 at 9:36 amHi,
I must have done something. Everything was fine 30 minutes ago. Now Motion blur appears as the superposition of two positions (in final quality and adaptive resolution) :
When rendered the problem remains … but in fast preview, the real blur is back … ????
Any idea ?
Thanks
Nicolas Guionnet replied 7 years, 4 months ago 4 Members · 20 Replies -
20 Replies
-
Oleg Pirogov
March 29, 2019 at 10:34 amCould you please elaborate on how the layers are interconnected through expressions? I mean, what references what?
-
Oleg Pirogov
March 29, 2019 at 10:40 am -
Nicolas Guionnet
March 29, 2019 at 4:52 pmHi Oleg,
Thanks for your answer.Cross-referencing ? i am not sure that I understand what you mean. (circular definition ?)
I move the blue gear with the code below that controls its rotation … (but before you read it) … I just changed it to a basic time*1000 … and motion blur is back.
So it seems that here lies my problem :
t= time ;
t0 = 0 ;
t1 = 14 ;
pasT = thisComp.frameDuration/1 ;
SpeedCoef = 5 ;// rotation speed or derivative
function speed(tt) { v = -SpeedCoef*(tt-t0)*(tt-t1) ; return v ; }// speed integration to get rotation
alpha = 0 ;
for (var i = t0; i <= t ; i = i + pasT) {
alpha = alpha + speed(i)*pasT;
}
alphaIn fact it is just an innocent way to control the speed of the rotation.
It is strange that it kills motion blur. … and another details, it is not smooth … there is a step from time to time … -
Steve Bentley
March 29, 2019 at 5:02 pmThat shouldn’t be killing the blur but there’s a way to check – change your expressions to keyframes and see if the blur returns.
-
Nicolas Guionnet
March 29, 2019 at 5:12 pmThanks Steve,
… I replaced this expression by a simple :
time*time*100
… which gives a very funny accelerating effect … and the blur is back.So I guess we can conclude that it is the expression’s fault …
-
Richard Garabedain
March 29, 2019 at 10:13 pmyou could always precomp by moving to a new comp…then adding the force motion blur effect…its a bit slower but should do fine
-
Oleg Pirogov
March 29, 2019 at 11:53 pmThe essence of the problem:
10*time/thisComp.frameDuration;

Motion blur we need.10*timeToFrames(time);

Motion blur we deserve (just kidding).While time/thisComp.frameDuration equals timeToFrames(time) at each frame, they are not equal in general, cause the former is continuous function of time and the latter is a step function which takes only integer values. In fact, whole-frame moments are the only moments when those functions are equal, but since those moments are usually the only moments observable in AE, the functions seem to behave the same way.
On contrary, when Motion Blur is applied it needs to evaluate the expression at inter-frame times and that’s where the difference between functions plays out: time/thisComp.frameDuration gives continuous values, while timeToFrames(time) gives just two discreet values, the ones that fall into shutter scope.
Well, you don’t use timeToFrames(time), but you use this:
for (var i = t0; i <= t ; i = i + pasT) {
alpha = alpha + speed(i)*pasT;
}
alpha
– this has the same flaw as timeToFrames(time): it’s not continuous in time but discreet and motion blur has only two rotation states to take samples from. And on the screenshot we see those states “motionblurred”.So, in case you still want to use that expression, you should switch to continuous function to calculate the rotation angle.
-
Nicolas Guionnet
April 1, 2019 at 1:59 pmThanks Oleg !
G R E A T !
That ‘s clear …I will have to find another way to generate an interesting rotation …
But … do we know precisely what AE needs to compute a motion blur ?
The position at every frame is clearly insufficient …
The position at every thisComp.frameDuration/10 ? … thisComp.frameDuration/100 ??Well, I tried thisComp.frameDuration/10 ! … and it is much better, there is here a decent motion blur …
… but it seems 10 times slower, while 10 times more computation should not be needed (compared to the case where the rotation is given explicitly by a continuous expression.)
And the motion is not smooth, due to the approximations in my method of computation of the primitive (I guess) …
So, I think, I will not use a function of time giving the speed of rotation and then computing the rotation itself. I am starting to think that it was one of my silly ideas …
-
Nicolas Guionnet
April 1, 2019 at 2:02 pmHi Richard,
Thank you for your help.In fact I tried to pre-comp and use the effect, alas the result is the same. … except that now, I know it is a possible solution for a similar problem in the future.
So … thanks !
Reply to this Discussion! Login or Sign Up



