Motion blur viewport vs USD Render LOP mismatch .

   353   6   2
User Avatar
Member
73 posts
Joined: May 2013
Offline
Apologies for double posting this - I posted as a reply to a thread that has SOLVED in the title so I guess some people might not read it.

I've been doing lookdev on a scene that needs very heavy motion blur for something spinning very fast and it was looking great in the XPU viewport, also flipbooking. However if I render with a USD Render LOP I get MUCH less blur. I've tried all sorts of things, MBlur LOP, cache LOP, different settings on those but I can't figure out how to get a match to my viewport.

This pair of images are using the same settings, the one with the heavy blur is XPU viewport, the other is with USD Render LOP. Instantaneous shutter is off. You can see in the top right corner there is a very small amount of blur...

The thread I originally replied to - https://www.sidefx.com/forum/topic/93945/ [www.sidefx.com] - said that there had been some problems caused by using frame rates that were very different from 24FPS but mine is 25 and the thread says also that issue has been resolved. Essentially I just want to set my scene up with MBlur in the viewport and those results to be matched by my ROP.

Thanks for reading
Edited by j00ey - June 24, 2024 10:38:07

Attachments:
XPU_viewport.png (706.2 KB)
USDRender.png (680.5 KB)

User Avatar
Member
40 posts
Joined: July 2007
Online
Im in the same boat. FInding the whole process very frustrating and incredibly convoluted.
User Avatar
Member
73 posts
Joined: May 2013
Offline
I'm glad it's not just me. I spent Sunday setting off tests on Gridmarkets and thinking there was something wrong on their end because I never actually tried the USD Render ROP, I presumed output from that would match the viewport / flipbook. D'oh
User Avatar
Staff
461 posts
Joined: June 2020
Offline
Can you send us a hip file to look at?
User Avatar
Member
73 posts
Joined: May 2013
Offline
Hi Rob. Thanks for looking - I can't really put it on here but I could send it to you direct if that works..?
User Avatar
Staff
461 posts
Joined: June 2020
Offline
Thanks for the direct message. The short story is that the USD Render ROP's defaults aren't great for your workflow, which is something for us to think about (i.e., you really shouldn't need to know all the details that follow).

To optimise on-disk storage, when we export USD files we cull time samples that are "out-of-range". For example, if you're only rendering frame 10, then you only need the samples from frame 10 ... ish. Motion blur complicates this, because actually you need to expand the "range-of-interest". In the ROP, we expand the range by one sample, under the assumption that there will generally only be useful time samples at shutter open, maybe on the frame, and at shutter close. The assumption fails in your case because you have many sub-frame samples between shutter open and shutter close, and we're only keeping the ones closest to the frame (e.g., frame 9.95, frame 10, frame 10.05). This is why you get *some* motion blur, but only a tiny bit.

While unfortunate that you need to know this and need to do something about it, this is easily addressed in the USD Render ROP. You can either change the "Filter Time Samples" mode to "Never", or set "Extra Frames" to 0.5 (or something similar), to further pad the "range-of-interest".

I won't post screenshots of your scene but, when I set the ROP as per the attached image, the viewport and mplay match.
Edited by robp_sidefx - June 24, 2024 17:14:35

Attachments:
filter.png (48.7 KB)

User Avatar
Member
73 posts
Joined: May 2013
Offline
That's great! Thanks very much Rob, I will try that first thing in the morning.

I'm happy to know a bit more about what's actually going on under the hood, though agreed better if you don't have to know if you don't want.

Thanks again.
  • Quick Links