Page MenuHome

MotionBlur2D Compositing Node
Needs ReviewPublic

Authored by Account Deleted (tod_baudais) on May 9 2016, 8:34 PM.

Details

Summary

A brand-new 2D motion blur compositing node with two modes. The standard mode is used to accurately blur layers (i.e. objects rendered on their own layer with alpha channels) and adds a hole filling mode that can fill alpha holes with a best guess of color. “Fat Mode” can blur entire frames without alpha artifacts given depth and object ID’s. We have found that the quality of this node is much higher than the built in Blender motion blur node and even rivals that of a common commercial compositor.

NOTES:
Please find attached one of several patches for Blender and Cycles from Tangent Animation that were implemented for the production of Tangent’s latest film, Run Ozzy Run. It is our hope that these features will make it to the master branch of Blender as we have found that they are necessary for our production environment. You’ll find that these features either decrease render times or allow the director to more easily meet his vision on time and on budget. They are not intended to be accurate or physically correct.

Diff Detail

Repository
rB Blender

Event Timeline

Account Deleted (tod_baudais) retitled this revision from to MotionBlur2D Compositing Node.
Account Deleted (tod_baudais) updated this object.
Account Deleted (tod_baudais) set the repository for this revision to rB Blender.

Do you have any example renders to demonstrate the improvements? Hole filling was always a big problem with the existing node. Is the algorithm similar to Pixmotor?

Hopefully this code can replace the existing vector motion blur, ideally there's just a single node for this purpose.

For the Cycles changes, I see you made motion vectors unantialiased, I guess you found this works better for your algorithm. Is there a specific reason you also removed antialiasing from the UV and normal passes?

I'll have to track down some production renders for you. The node is actually 2 algorithms. Fat mode doesn't require any hole filling because the transparent pixels always ramp up from the object borders which sometimes makes objects look a bit fatter (hence the name). This also makes it suitable for use over frames rendered with a single layer. The other (non-fat) mode is really only suitable for objects that are rendered in their own layers. It doesn't make the objects look fatter but it is susceptible to alpha holes. The hole filling algorithm sounds similar to what Pixmotor describes from what I can tell. An estimate of the alphas for the holes are made and compared with the unblurred object alpha. Then the color of the hole is "boosted" to fill it in.

As far as the vectors go, we were finding that AA vectors didn't make any sense for either of the objects overlapping that pixel. i.e. two objects moving perpendicularly made a vector that didn't match either. And since this node comps based on object ID the edges were shooting off in random directions. Ideally I'd love to have the vectors for the object that covers most of the pixel (like Mental Ray) but this was easier.

Any progress here? I ask, because this is a useful feature. And there seems to be no activity here.
@Sean Kennedy (hype) Adding you here too. :-)