DOCUMENTATION ADDENDUM: Animation and Motion Blur

Forums: DOCUMENTATION ADDENDUM: Animation and Motion Blur
Foundry Modo (Developed by stenson, Integrated Plugin developed by Paul Kinnane)

Moderator: face_off

DOCUMENTATION ADDENDUM: Animation and Motion Blur

Postby face_off » Fri Feb 14, 2020 5:54 am

face_off Fri Feb 14, 2020 5:54 am
The following is the latest information on Animation and Motion Blur, which has not yet been added to the on-line manual.

Fast Moving Objects

In general, if there are object moving quickly in the scene, you will need to increase the Kernel->Animation->Sample Per Frame so the Octane gets more transforms per frame. For fast rotating/spinning objects, the object will get smaller the higher the motion blur percent unless there are sufficient Samples Per Frame.

In cases where a Mesh Item is rotating rapidly, if the Mesh Item "center" of the geometry is not at in the middle of the geometry, the motion blur may not be calculated correctly. In this case, either increase the Kernel->Animation->Samples Per Frame to get the correct motion blur, or set the "center" and "pivot" point of the geometry to the geometry bounding box center.

Enabling Motion Blur when using MeshOps

When Kernel->Animation->Object Motion Blur is ENABLED, then each Mesh with Live Geometry Update ENABLED is loaded ONCE, with each of their transforms loaded for the for the entire timeline. So when you scrub the Modo timeline, or advance a frame in an animation, the Octane time is updated accordingly causing the Mesh to move, but the Mesh geometry is NOT actually reloaded. In this case, Octane is generating the Object Motion Blur from the animated Modo transform for the Mesh item. If the Mesh item has animated vertices (or is generated from a MeshOp), then the Mesh item will not be reloaded each frame, so the animated vertices/MeshOp will not be updated each timeline change. In this instance, you need to manually force the Mesh to be reloaded each frame by ticking Mesh->Octane->Reload Mesh Each Frame.

Motion Blur on the First Frame

The plugin will not load object transforms into the Octane timeline prior to the first frame of the Current Modo Range. So if you need motion blur on the first frame, you need to either add one (or more) frames to the start of the animation, or set Kernel->Animation->Shutter Alignment = After.

Motion Blur on Replicators

To render motion blur on replicators, make sure Camera and Object motion blur are enabled on the Kernel->Animation tab. Then enable Object Motion Blur on the Replicator. IMPORTANT: motion blur on Replicators only works if there are the same number of Point Source transforms each frame. If there is a different number of transforms for a Replicator at any point in the animation, and Object Motion Blur is ticked, the Replicator will not appear in the Octane Viewport. So if the Replicator has a Point Source of a Particle Generator or similar, then there will most probably be a different number of transforms for each frame in the animation, and if Object Motion Blur is enabled on the Replicator, the Replicator will NOT appear in the Octane Viewport. In this situation, UNTICK Object Motion Blur on the Replicator, and TICK Kernel->Animation->Refresh Replicators When Scrubbing The Timeline.

Using emReader

emReader meshes can be rendered with the plugin, however make sure you are on at least plugin version 2020.1.3.163, which contains the Kernel->Animation->Refresh Non-Live Meshes When Scrubbing The Timeline property, which you should turn ON to ensure the emReader mesh is reloaded each animation frame. Because the emReader mesh vertices are not consistent between frames, motion blur will not render in Octane - and even using octane.saveAnimation will not result in any motion blur being rendered on emReader meshes. Turning ON the Kernel->Settings->Use Modo Render Cache does not assist in rendering emReader animations, as the Render Cache appears to only load the first frames emReader mesh, and not subsequent frames.

Vertex Motion Blur

You can render Vertex Motion Blur either by turning on the Render Cache, or exporting the scene to .ORBX and rendering the animation in Octane Standalone.

Render Cache option
Please see https://docs.otoy.com/ModoH/ModoPluginManual.htm#Modo/ModoRenderCache.htm for details. This will render Vertex Motion Blur in both the plugin Viewport and when exporting the scene to .ORBX with the Export Render > Export Animation button (or the octane.saveAnimation command) in Modo. In some cases, the motion vectors reported to the plugin by Modo are not 100% accurate, so this option will work well for some scenes, but not others.

Exporting to ORBX option
Use the Export Render > Export Animation button (or the octane.saveAnimation command) in Modo to export the animation to ORBX (or OCS), and then load that scene into Octane Standalone to render. This requires a) Plugin release 2020.2.2.169 or later, and b) it requires that Modo provides the vertices to the plugin in the same order for each frame in the animation (this generally happens if the number of vertices in the scene does not change, and the vertex order does not change through-out the animation). If you find that a mesh is not rendering with Vertex Motion Blur in Octane Standalone when using this process, you can click the Octane->Load Cage option on the mesh, which will force Modo to provide vertices in the same vertex order each frame. If you tick Load Cage, you will loose the Modo subdivision, so you might need to tick Subdivide in Octane.

If vertex motion blur is not working when you render the exported ORBX file in Octane Standalone, then the most likely cause is that the number of vertices changed, or the vertex order changed for a mesh. In general the Octane Log will show an error indicating this after you use the Export Animation function in the plugin. However if it does not, you can further debug the issue by loading the ORBX into Octane Standalone, selecting "geometry.abc", Window->Create script editor, and run the attached script developed by Abstrax.

check-mesh-animation.lua
(4.82 KiB) Downloaded 12 times

You can also export to ORBX with the Render Cache enabled.

Export speed when using the octane.saveAnimation command
When using the octane.saveAnimation command (or using the Export Animation option from the Export Render button on the Viewport toolbar), every vertex in the scene (regardless of its "Live Geometry Update" status) will be written to the exported .ABC (and therefore the .ORBX) file. So only use this export command if your meshes are animated. If you only want to export a camera animation, then tick Kernel->Animation->Camera Motion Blur and use the Export Frame option from the Export Render button, which will save the Octane Camera animation track to the .ABC file and only export the current frame's mesh vertices.

Animating Mesh Visibility

Changing a Modo Mesh visibility (either via the eye icon in the Item List or the Display->Visible property for the Mesh) will generally work when rendering an animation from within the plugin. However animating the visibility of a mesh when exporting an animation to ORBX format will result in errors, as Octane requires the same number of vertices be in the scene for each frame in the animation. If you want the animated visibility to apply when scrubbing the timeline, then ENABLE the Mesh->Octane->Reload Mesh Each Frame property.

Paul
Last edited by face_off on Wed Feb 21, 2024 5:03 am, edited 24 times in total.
Win7/Win10/Mavericks/Mint 17 - GTX550Ti/GT640M
Octane Plugin Support : Poser, ArchiCAD, Revit, Inventor, AutoCAD, Rhino, Modo, Nuke
Pls read before submitting a support question
User avatar
face_off
Octane Plugin Developer
Octane Plugin Developer
 
Posts: 15471
Joined: Fri May 25, 2012 10:52 am
Location: Adelaide, Australia

Re: Animation and Motion Blur

Postby kostache » Tue Mar 17, 2020 7:39 am

kostache Tue Mar 17, 2020 7:39 am
Hello Paul,

thanks a lot for the fast investigation, but don't you think, that the right way is to calculate the rotation center from the pivot of object, not from center of object? For example, we're doing complex machine's animations and for us is prohibited to move item's centers from world zero position in machine's assembly - otherwise if our construction department update some units in the machine's assembly we'll lost correct position of all items with object's center position not in world 0.

Konstantin
kostache
Licensed Customer
Licensed Customer
 
Posts: 63
Joined: Sun Mar 17, 2013 12:47 pm

Re: Animation and Motion Blur

Postby face_off » Tue Mar 17, 2020 8:24 am

face_off Tue Mar 17, 2020 8:24 am
thanks a lot for the fast investigation, but don't you think, that the right way is to calculate the rotation center from the pivot of object, not from center of object? For example, we're doing complex machine's animations and for us is prohibited to move item's centers from world zero position in machine's assembly - otherwise if our construction department update some units in the machine's assembly we'll lost correct position of all items with object's center position not in world 0.
I absolutely agree, however Octane requires a translation, rotation and scale transformation, whereas Modo is providing a pivot translation and rotation - there doesn't appear to be a pivot scale - only a world scale. I think it would be a non-trivial task to combine the pivot translation and rotation with the world scale, so for the moment, the solutions above are your best option.

Paul
Win7/Win10/Mavericks/Mint 17 - GTX550Ti/GT640M
Octane Plugin Support : Poser, ArchiCAD, Revit, Inventor, AutoCAD, Rhino, Modo, Nuke
Pls read before submitting a support question
User avatar
face_off
Octane Plugin Developer
Octane Plugin Developer
 
Posts: 15471
Joined: Fri May 25, 2012 10:52 am
Location: Adelaide, Australia

Re: Animation and Motion Blur

Postby kostache » Tue Mar 24, 2020 11:31 am

kostache Tue Mar 24, 2020 11:31 am
Hello Paul,

I got it, but what if we go with old proven way and parent all the meshes to locators and apply all transformation to these locators? Will it be a temporary solution to get rid of MB artefacts until you or OTOY make pivot work properly?

Konstantin
kostache
Licensed Customer
Licensed Customer
 
Posts: 63
Joined: Sun Mar 17, 2013 12:47 pm

Re: Animation and Motion Blur

Postby face_off » Wed Mar 25, 2020 12:05 am

face_off Wed Mar 25, 2020 12:05 am
I got it, but what if we go with old proven way and parent all the meshes to locators and apply all transformation to these locators? Will it be a temporary solution to get rid of MB artefacts until you or OTOY make pivot work properly?
I think users should apply to solution described above and set the "pivot point" to the "center".

Paul
Win7/Win10/Mavericks/Mint 17 - GTX550Ti/GT640M
Octane Plugin Support : Poser, ArchiCAD, Revit, Inventor, AutoCAD, Rhino, Modo, Nuke
Pls read before submitting a support question
User avatar
face_off
Octane Plugin Developer
Octane Plugin Developer
 
Posts: 15471
Joined: Fri May 25, 2012 10:52 am
Location: Adelaide, Australia

Return to Foundry Modo


Who is online

Users browsing this forum: No registered users and 8 guests

Thu Mar 28, 2024 9:24 pm [ UTC ]