Karma cannot render propeller motion blur

   3088   10   7
User Avatar
Member
4 posts
Joined: May 2015
Offline


Karma (Left)/ Mantra (Right)


I make radial motion blur using & .

But Karma doesn't work.

This document says that Karma is also supported.

https://www.sidefx.com/docs/houdini/nodes/lop/rendergeometrysettings.html [www.sidefx.com]

Is there anything I missed? Or are you not applying yet?

Attachments:
propeller.hipnc (748.1 KB)
xform.jpg (433.7 KB)

User Avatar
Member
75 posts
Joined: July 2019
Offline
Pretty sure you need to put down a Cache LOP to hold the previous/next frame in RAM so that it has information to blur.
jsmack
Member
6076 posts
Joined: Sept. 2011
Online
There does seem to be a hydra limitation here with how the transforms are interpolated. With only one matrix sample per frame, there should be enough information to interpolate up to less than 180 degrees per frame using spherical linear interpolation of the decomposed matrix. This type of interpolation doesn't seem to be in use by hydra, so one stage time sample needs to be present for each transformation sample requested by the renderer.
User Avatar
Member
77 posts
Joined: Sept. 2018
Offline
Can confirm that I have the same issue. Was hoping to finally use Karma in an actual project but I also need to render an object that's rotating more than 180 degrees with motion blur. It's mostly a nice motion blur, but if the rotation goes too far the blades are almost unblurred leaving visible artifacts like in the image above.
A little annoying as Karma renders the actual object much faster and the way of working in LOPS is something I really like.
User Avatar
Staff
189 posts
Joined: June 2020
Offline
If you're in 18.5, here's a modified version of the original scene that hopefully will work. First image uses the left LOP chain (i.e., the animation is defined in SOPs); second image uses the right LOP chain (i.e., the animation is defined in LOPs).
Edited by robp_sidefx - March 30, 2021 07:11:41

Attachments:
propeller_robp.hipnc (613.0 KB)
geoBlur.jpg (40.9 KB)
xformBlur.jpg (41.0 KB)

User Avatar
Member
77 posts
Joined: Sept. 2018
Offline
Thanks for the answer. Maybe I'm talking about something different. I was actually dealing with this:



I set GeoTimesamples to 3 but my model is completely crisp inside the motion blur. I am using the cache node and the blur only works if I cache at least three frames, but shouldn't that actually use 3 subframes? I'm sure there is something I haven't set up correctly but I can't find what's wrong.

Attachments:
Karma_GeoMoBlur.jpg (291.1 KB)

User Avatar
Staff
189 posts
Joined: June 2020
Offline
Can you share a scene file? I suspect the solution will be similar to what was done for the other scene (using a Cache LOP to cache subframes, and then specifying multiple samples in the Karma LOP).
Edited by robp_sidefx - March 30, 2021 10:19:10
User Avatar
Member
77 posts
Joined: Sept. 2018
Offline
Thanks again for the answer. I actually figured it out and it makes sense, it's simply different from Mantra.
The happens when there is no prior or next time sample. For example, when you're on frame 1 and there is no frame 0. So of course there is no motion and no motion blur.
The cache node caused some (non-reproducable) crashes for me which is why it took me so long to figure out.
jsmack
Member
6076 posts
Joined: Sept. 2011
Online
robp_sidefx
Can you share a scene file? I suspect the solution will be similar to what was done for the other scene (using a Cache LOP to cache subframes, and then specifying multiple samples in the Karma LOP).

That's a bug though. The renderer shouldn't need any subframes for less than 360 degrees of blur between samples. Only if the renderer is naively interpolating the geometry directly between samples instead of evaluating the transform hierarchy at each time render time sample.

With mantra you can set transform samples independent of the number of keyframes in the scene.
User Avatar
Member
6705 posts
Joined: July 2007
Offline
definitely seems like a bug in case of Transform Time Samples and Xfrom
I agree that Karma (or is it Hydra?) should properly interpolate transforms and not require being spoonfed
it's very rare that the cached USD would have a lot of substeps and even more rare that they would align with arbitrary number of substeps user choses in the renderer and the shutter settings
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
7000 posts
Joined: July 2005
Offline
I've always felt the need for the Cache LOP is a major sharp edge in LOPs, no-one will ever guess that, and even if you know/knew it you pretty quickly (in my case at least) forget about it if you're not in LOPs all the time.

I wonder if a simple alias "Motion Blur Cache" to the Cache LOP might help discoverability?
  • Quick Links