Real motion blur without an expensive plugin!

Have you come up with a good Moho trick? Need help solving an animation problem? Come on in.

Moderators: Víctor Paredes, Belgarath, slowtiger

User avatar
J. Baker
Posts: 1063
Joined: Wed Mar 23, 2005 7:22 pm
Location: USA
Contact:

Post by J. Baker »

Thanks again Rudiger! You've inspired me to write my own program based on this. Could you PM me yours? I would like to try yours out. ;)
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

Sure. PM me your email address and I'll send it to you.

Actually, I just noticed that you're the person behind MoRen. Does this mean we are going to see a MotionBlur checkbox one day? That would be cool!
User avatar
J. Baker
Posts: 1063
Joined: Wed Mar 23, 2005 7:22 pm
Location: USA
Contact:

Post by J. Baker »

Rudiger wrote:Sure. PM me your email address and I'll send it to you.

Actually, I just noticed that you're the person behind MoRen. Does this mean we are going to see a MotionBlur checkbox one day? That would be cool!
That would be a nice feature. I would just have to ask Mike if he could make the scale keyframe features available for command line. Then it could be a possibility. Working on the motion blur code now.

Oh and if you could just go to my website, www.flashpulse.com and email me there. I try not to post my email on anything to help avoid spam. ;)
Dodgy
Posts: 207
Joined: Sat Jan 13, 2007 8:01 pm
Location: Sydney
Contact:

Post by Dodgy »

A proper sub frame motion blur would be much more professional. There's a couple of ways of doing this.
1> Render subframes and fade them as you go back in time. This is the way a lot of 3d packages do it. You can then set how many subframes to render to smooth out any differences.
2> Randomly render different pixels at different sub frames. This gives a noisy but 'blurrier' method, and you can do multiple passes and merge them together to give a smoother effect. This is something LightWave does with it's Photoreal motion blur.
3> Store motion vectors for each rendered pixel and blur the image in the direction of them. This is very fast, but doesn't work well for rotation .
Image[/img]
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

J. Baker wrote:That would be a nice feature. I would just have to ask Mike if he could make the scale keyframe features available for command line. Then it could be a possibility. Working on the motion blur code now.
What I would love even more than that, is to be able to specify a startup lua script at the command-line. It would open up a whole world of multi-pass rendering possibilities! It would, of course, also be necessary to add the scale keyframe features to the scripting interface as well, but a lot of people have been requesting that for a long time anyway. In any case, I think my nudge key scripts could stand in for the rescale keyframes feature anyway.

I just had a thought. I wonder if your renderer could insert a layer, that contains a user startup script as an embedded layer script, into the anme file before rendering it. The embedded script could be made to run only once, say by checking and setting a global variable when it runs. Anyway, command-line support for a startup script would definitely be preferable, but might be a neat workaround.

I'll send my script to your website, when I get the chance. Until then, happy coding!
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

rudiger wrote:Since you can change the frame rate in AS without changing the animation speed, I'm guessing that a time is internally represented by a float and is only represented as individual frames in the scripting interface for convenience. That brings me to a question. Does Synfig have a built-in scripting language like AS?
I disagree on that. Try this:
Set the frame rate to 15 fps and then do some animation of one layer. Animate it on twos (a keyframe every two frames). Then change it to 24 fps. Are the keyframes evenly spaced? No, why? because the keyframe is associated to a frame and not to a time. That's why rescale the timeline will be a pain unless the keyframe association with the time were changed to float (time) instead of to integer (frame). In Synfig you can create a keyframe in any time and it does't depend on the frame rate. The frame rate is just a final value to sample the animation which is by definition continuous in time. (well, as much continuous gives float point calculation)
Synfig doesn't have scripting language (by now ;)) like AS has.
-G
User avatar
J. Baker
Posts: 1063
Joined: Wed Mar 23, 2005 7:22 pm
Location: USA
Contact:

Post by J. Baker »

Give this one a try. Sorry, windows only.
Download MoBlur

UPDATE: MoBlur v0.3 is now available. It's now very easy on the memory. Has better error checking. The alpha now fades from the first sublayer to the last sublayer per frame. This gives a better fading out effect for the motion blur. You can even use less sublayers (instead of 100) and get pretty good results. Well, unless you object is just totally flying around your animation at super speed. Then more sublayers would be required.

EDIT: MoBlur v0.31, had to fix a bug.
Last edited by J. Baker on Fri Jul 02, 2010 5:19 am, edited 3 times in total.
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

Dodgy wrote:A proper sub frame motion blur would be much more professional. There's a couple of ways of doing this.
1> Render subframes and fade them as you go back in time. This is the way a lot of 3d packages do it. You can then set how many subframes to render to smooth out any differences.
2> Randomly render different pixels at different sub frames. This gives a noisy but 'blurrier' method, and you can do multiple passes and merge them together to give a smoother effect. This is something LightWave does with it's Photoreal motion blur.
3> Store motion vectors for each rendered pixel and blur the image in the direction of them. This is very fast, but doesn't work well for rotation .
Image[/img]
That's an interesting comparison, there Dodgy. In particular, I liked the stylised look of the pixelated one, and it got to me thinking about the possibility of doing a more cartoon-like blur effect in AS. After some searching, I came across this excellent Japanese paper. Unfortunately, I couldn't find a free version anywhere online, but it basically uses the motion path of each edge to create randomised blur lines and to distort the edge itself. I think it would be awesome if Mike implemented something like this for AS, and it might even possible to come up with a scripted solution in the meantime. In particular, I can imagine the new curve profile feature would be perfect for distorting the edge, but not sure whether you can turn it on for selected edges or not.
User avatar
J. Baker
Posts: 1063
Joined: Wed Mar 23, 2005 7:22 pm
Location: USA
Contact:

Post by J. Baker »

EDIT: First frame of the motion blurred animation. Exported from MoBlur v0.55. Alpha value of 100, 25 layers per frame, and 2x oversampling.

Image
Last edited by J. Baker on Sun Jul 11, 2010 8:04 am, edited 3 times in total.
User avatar
J. Baker
Posts: 1063
Joined: Wed Mar 23, 2005 7:22 pm
Location: USA
Contact:

Post by J. Baker »

Rudiger wrote:and it got to me thinking about the possibility of doing a more cartoon-like blur effect in AS.
Do you have any reference images? Although I think I may know what you're talking about.
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

J. Baker wrote:
Rudiger wrote:and it got to me thinking about the possibility of doing a more cartoon-like blur effect in AS.
Do you have any reference images? Although I think I may know what you're talking about.
Hah! Aint that always the way! I paid for it, but you guys get to see it for free!

http://www.cs.umbc.edu/~alark1/papers/t ... onBlur.pdf

I really like the effect on the car on the last page with both lines and deformation. I thought it was a hand-drawn example at first.

So who else would like to see such a feature in Anime Studio?
User avatar
J. Baker
Posts: 1063
Joined: Wed Mar 23, 2005 7:22 pm
Location: USA
Contact:

Post by J. Baker »

Rudiger wrote:
J. Baker wrote:
Rudiger wrote:and it got to me thinking about the possibility of doing a more cartoon-like blur effect in AS.
Do you have any reference images? Although I think I may know what you're talking about.
Hah! Aint that always the way! I paid for it, but you guys get to see it for free!

http://www.cs.umbc.edu/~alark1/papers/t ... onBlur.pdf

I really like the effect on the car on the last page with both lines and deformation. I thought it was a hand-drawn example at first.

So who else would like to see such a feature in Anime Studio?
Thanks for sharing. Also, I just released MoBlur v0.3. You can read the update and download it a few post up. ;)
User avatar
Víctor Paredes
Site Admin
Posts: 5658
Joined: Wed Jan 26, 2005 12:18 am
Location: Barcelona/Chile
Contact:

Post by Víctor Paredes »

Rudiger wrote:So who else would like to see such a feature in Anime Studio?
Wow, that would be absolutely awesome. Thanks for the paper. I hope Mike be reading this amazing post.
Thanks for all the info. And, Baker, thanks for the software, I'll play with it tomorrow :D
Image Image Image Image
Moho Product Manager

www.mohoanimation.com
Rigged animation supervisor in My father's dragon - Lead Moho artist in Wolfwalkers - Cartoon Saloon - My personal Youtube Channel
User avatar
J. Baker
Posts: 1063
Joined: Wed Mar 23, 2005 7:22 pm
Location: USA
Contact:

Post by J. Baker »

selgin wrote:And, Baker, thanks for the software, I'll play with it tomorrow :D
No problem! ;) You might want to redownload it though. I just optimized the cpu usage. I didn't feel there was a need to use 100% cpu.

I'm glad Rudiger started this post. It's been fun. :D
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

J. Baker wrote:
selgin wrote:And, Baker, thanks for the software, I'll play with it tomorrow :D
No problem! ;) You might want to redownload it though. I just optimized the cpu usage. I didn't feel there was a need to use 100% cpu.

I'm glad Rudiger started this post. It's been fun. :D
I have so many ideas like this floating around my head, but unfortunately I hardly ever have the time to try them. I'm glad I got the chance to take this particular one out for a spin, though, as there seemed to be quite a few folks who were happy to come along for the ride!

By the way, J., I noticed from your update that you now have the alpha fading the further you get away from the main frame. Would it be hard to support multiple options for this like Synfig does, ie constant, linear, hyperbolic. Hey, perhaps we could add a fourth one like exponential, just to annoy them ;).
Last edited by Rudiger on Fri Jul 02, 2010 8:27 am, edited 1 time in total.
Post Reply