Motion Blur on Alembic-Caches in Cycles
Attribute-based motion blur for dynamic topology (liquids for example) caches coming from other applications like Houdini in Alembic-format are really NEEDED! Velocity data is stored in specific attributes (v) and should be read by the renderer and interpreted as motionblur or vector data for a motion pass or similar. (here a simple Cycles render without motion blur)
12 Comments
I am currently finishing implementing this very feature after putting it on old for quite some time. If you are able to compile Blender, you can find a patch here: developer.blender.org/D2388 . One issue I found was that some software export acceleration data, and not velocity per se, which means that we have to transform the velocity based on the simulation time step or FPS, so we might need to add a parameter in the UI, but I don't know if the parameter should be per Alembic cache or per object, and what parameter it should be. For now it assumes that the velocities are for an animation that is 24 FPS, which is not ideal.
* @Kévin Dietrich * this is great" Sorry for the late answer, but RCS did not notify me about the response. Well, indeed some UI stuff would be needed. I would suggest a"velocity scale" andy maybe the name a custom velocity attribute. The timebase of the alembic should also be a parameter...I think. If you need any testfiles or other ideas, please me know info@pixelpanic.de ;)
* @Kévin Dietrich * yay this is awesome. Thanks for working on it, maybe it will get merged for 2.82 :)
* @Kévin Dietrich * Hi Kévin, and thanks a lot for the great work you are doing!!
Adding the parameter in the UI based on the FPS would be a great thing I guess, as well as for connect it to the scene FPS by default with the ability to disconnect it and change in case you want, just for specific purpose. This because in standard productions is generally used to set the FPS on the entire project and keep it. Maybe what might help most would be a "Retime Multiplier" parameter as the usefull and existing "Frame Offset" one.
We need a way to render motion blur on ALL imported formats when motion is involved. Not just Alembic, but all other common exchange formats, and hopefully the new Pixar scene format at some point :)
Sure thing! But Alembic seems the most common for changing topolgy currently.. ;)
Really hope this gets implemented
* @Nathan Hodges * well...heard nothin here or else where. This place has 2015 proposals not even rated..so, I guess this place without a proper managment is a waste of time....
Technically, the underpinnings for something like this should be available. After all, the fluid simulator is a series of mesh caches with vector data packed into them.
Normally the exporting software would add a custom attribute like "v" for velocity in Houdini to each vertex, point or polygon. That should be easy to be read and interpreted by the renderer. Maybe the attribute name could be given in the cache file modifier...I´ll try a quick mockup...
And to become more and more new Blender-users even from the 3D studios working on commercials, this is a crucial factor to get at least some custom attributes over to the renderer... The same with VDBs. Currently no support in Blender, which is a pity as Cycles seem to render volumes pretty nice ;)
@Oliver Weingarten: Unless I'm mistaken, that vector data in fluid sims is only available at composite time and not at render time.
As it currently stands, I'm not sure Cycles fully supports motion blur for volumes (aside from maybe object-based motion blur).