Hi all,
I was rendering last night and exploring motion blur options. This seems (to me) to be the last thing holding Octane back from being a serious contender in high end movie making rendering stakes).
After effects with timewarp at 100% (which bumps footage back to 8bpp which is a drag for high end work)- plus the resulting blur on some stuff was messy to say the least.
Nuke's F-motionblur - which keeps footage in 32bpp) - same problem, lots of artifacts on fast moving stuff.
Reelsmart motion blur seems pretty good (in nuke) but still seems a little spongey to me. Lots of blur going off in different random directions. (without any vectors to drive it)
oflow in nuke is also pretty spongey but dealt with it reasonably well (artifacts on fast moving objects) but managed to get it running at the expense of horrendously long render times(I cranked the settings up pretty high)
You could in theory render out twice as many frames as you need to try to give these systems more info and speed it back up but it seems to be a pretty counterproductive thing to do given the cost of rendering time.
I attempted using 3ds Max's Camera-map-per-pixel option and reprojected the footage back onto the geometry which allows me to use max's image motion blur (this worked but due to a limit of the camera-map-per-pixel texture (which only allows it to use single frames and not animations) means that it would be a one frame at a time thing which would be a drag. Is there a hack which might work?
I also was wondering how to get motion vector info out of Max or octane (you could in theory, reset your renderer to max scanline or Mental ray and render the scene out with no lights and textures with motion vector element activated) - if you hadn't got strong motion blur in max you could use this to drive the F_motionblur in nuke which might give slightly cleaner blur)
Lastly is there an option in fbx import to drive the moblur in Nuke (using the objects own motion blur inside nuke as a guide) ? Any thoughts on this?
Any other thoughts or wisdom welcome.
Motion Blur questions>....
Forum rules
Please add your OS and Hardware Configuration in your signature, it makes it easier for us to help you analyze problems. Example: Win 7 64 | Geforce GTX680 | i7 3770 | 16GB
Please add your OS and Hardware Configuration in your signature, it makes it easier for us to help you analyze problems. Example: Win 7 64 | Geforce GTX680 | i7 3770 | 16GB
- jamestmather
- Posts: 112
- Joined: Fri Jan 22, 2010 7:04 pm
No other suggestions?
"Anyone? Anyone? Bueller?"
"Anyone? Anyone? Bueller?"
why not rendering a MB path with a mental ray shader and apply it in ReelSmart MB?
- mdharrington
- Posts: 249
- Joined: Fri Dec 09, 2011 11:08 pm
you can do a lot of post process motion blur...but there are quite a few caveats...
AA settings and DOF ect.....rendering out a separate pass from a different render engine will not line up pixel perfect.....but it could work in a lot of cases
Transparency, reflections and shadows....any pass based out of a render will have the motion vectors tied to the object....so if you are orbiting around a glass of water...the glass itself should have very low motion blur, and the background as seen through the glass should have higher amount of motion blur...
But in the post processing case....there would be no vector sample's for the background seen through the glass, and the only choice would be an optical flow based motion blur(or render in passes)
same thing with DOF or anti-aliased edges, anything that has some transparency in it's edges will give artifacts when post process MB is applied
not that you can't get away with some post process....but the renderer really needs to implement it natively
AA settings and DOF ect.....rendering out a separate pass from a different render engine will not line up pixel perfect.....but it could work in a lot of cases
Transparency, reflections and shadows....any pass based out of a render will have the motion vectors tied to the object....so if you are orbiting around a glass of water...the glass itself should have very low motion blur, and the background as seen through the glass should have higher amount of motion blur...
But in the post processing case....there would be no vector sample's for the background seen through the glass, and the only choice would be an optical flow based motion blur(or render in passes)
same thing with DOF or anti-aliased edges, anything that has some transparency in it's edges will give artifacts when post process MB is applied
not that you can't get away with some post process....but the renderer really needs to implement it natively
Intel i7 980, 24gig DDR3, 2x GTX 470, 1x GTX 590
Of course post motion blur has some limitations but for many things it will work.
RS will integrate Object MB in the near future - I am sure.
RS will integrate Object MB in the near future - I am sure.
I think when object positioning is usable, object MB is possible with limitations...
Object deformations with bones/deformers wouldn´t work.
For that you need each object-vector, means double vertex data.
face
Object deformations with bones/deformers wouldn´t work.
For that you need each object-vector, means double vertex data.
face
Win10 Pro, Driver 378.78, Softimage 2015SP2 & Octane 3.05 RC1,
64GB Ram, i7-6950X, GTX1080TI 11GB
http://vimeo.com/user2509578
64GB Ram, i7-6950X, GTX1080TI 11GB
http://vimeo.com/user2509578
- jamestmather
- Posts: 112
- Joined: Fri Jan 22, 2010 7:04 pm
Okay - I think I have a workable Motion Blur solution for even pretty difficult scenes - This requires Nuke unfortunately but here goes.
What you'll need -
The Foundry's Nuke compositor
Max2Nuke - Gavin Greenwalt's excellent free plugin to export painlessly from 3ds max to Nuke - props to Gavin: This thing is amazing.
This seems like a lot but it's actually pretty quick and painless.
1. Set up your Octane scene - render your shot as desired. Save the scene.
2. Set up a 3ds max camera with the same FOV as the Octane camera. Dupe the animation for both the camera and the target as the octane camera - apply a standard material to the whole scene and set the scanline renderer as the chosen renderer (this is to ensure the Nuke exporter doesn't get confused with Octane presence in the scene). Delete your Octane camera. This should leave you with a standard camera doing exactly what the octane camera was doing and all your geometry.
3. Open Max2nuke - export everything and check the "Output nuke script" button and the "output channel files". Hit "Nuke it". It will create a nuke 3d file identical to your max scene. (the checkboxes are pretty self explanatory)
4. Open Nuke - load your newly created Max2nuke .nk script - in Nuke's 3d mode you can see an identical scene as your 3dsMax scene - cameras, geometry and all.
5. At the "scanline render" node - attach a "motionblur3d" node - this will generate motion vectors from the 3d scene - driven by the camera and geometry.
6. Bring in your octane rendered frames using a read node
7. attach a shufflecopy node to the read node and duplicate the motion channel from the motionblur3d node into the motion channel.
8. attach vectorblur to the shufflecopy node - in the uv channels drop down, select motion. In add u and add v - wind them to -0.5
9. Viola : vector driven motion blur that renders pretty instantly and is pretty free from artefacts . (you can increase the multiplier as desired). It seems to work even for deeply depth of field scenes (although I was sceptical at first).
With this functionality could also use the zblur node to assist with depth of field etc (useful for de-noising noisy DOF renders etc). Also using this technique zslice is great for generating mattes from your renders.
I'm glad I pushed myself to do this as it opens up a whole new series of options for scenes rendered in Octane. Thanks again to Gavin Greenwalt for making the amazing max2nuke plugin.
Hope this helps someone out.
Best
James
What you'll need -
The Foundry's Nuke compositor
Max2Nuke - Gavin Greenwalt's excellent free plugin to export painlessly from 3ds max to Nuke - props to Gavin: This thing is amazing.
This seems like a lot but it's actually pretty quick and painless.
1. Set up your Octane scene - render your shot as desired. Save the scene.
2. Set up a 3ds max camera with the same FOV as the Octane camera. Dupe the animation for both the camera and the target as the octane camera - apply a standard material to the whole scene and set the scanline renderer as the chosen renderer (this is to ensure the Nuke exporter doesn't get confused with Octane presence in the scene). Delete your Octane camera. This should leave you with a standard camera doing exactly what the octane camera was doing and all your geometry.
3. Open Max2nuke - export everything and check the "Output nuke script" button and the "output channel files". Hit "Nuke it". It will create a nuke 3d file identical to your max scene. (the checkboxes are pretty self explanatory)
4. Open Nuke - load your newly created Max2nuke .nk script - in Nuke's 3d mode you can see an identical scene as your 3dsMax scene - cameras, geometry and all.
5. At the "scanline render" node - attach a "motionblur3d" node - this will generate motion vectors from the 3d scene - driven by the camera and geometry.
6. Bring in your octane rendered frames using a read node
7. attach a shufflecopy node to the read node and duplicate the motion channel from the motionblur3d node into the motion channel.
8. attach vectorblur to the shufflecopy node - in the uv channels drop down, select motion. In add u and add v - wind them to -0.5
9. Viola : vector driven motion blur that renders pretty instantly and is pretty free from artefacts . (you can increase the multiplier as desired). It seems to work even for deeply depth of field scenes (although I was sceptical at first).
With this functionality could also use the zblur node to assist with depth of field etc (useful for de-noising noisy DOF renders etc). Also using this technique zslice is great for generating mattes from your renders.
I'm glad I pushed myself to do this as it opens up a whole new series of options for scenes rendered in Octane. Thanks again to Gavin Greenwalt for making the amazing max2nuke plugin.
Hope this helps someone out.
Best
James
- mdharrington
- Posts: 249
- Joined: Fri Dec 09, 2011 11:08 pm
your workflow would work in fusion as well....
just have to export the scene as fbx....almost every other step would be the same
just have to export the scene as fbx....almost every other step would be the same
Intel i7 980, 24gig DDR3, 2x GTX 470, 1x GTX 590
- jamestmather
- Posts: 112
- Joined: Fri Jan 22, 2010 7:04 pm
Yep - as an alternative you could use scene states to generate a mental ray or scanline pass with motion vectors enabled etc and use that to drive Reelsmart. I like the above option though because of the control it allows.