object size changes with rotational motion blur in karma
164 5 2-
- peter nunez
- Member
- 3 posts
- Joined: Nov. 2015
- Online
Greetings,
I'm having some issues with motion blur in karma when rendering some car wheels that are outputted from an rbd car path follow sop exported to USDsd using USD export.
My camera is derived from the camera export option from the RBD car rig setup and tracks the car in motion. The camera data is coming from obj context and is imported to LOPs via SOP import then cached. The object blur itself looks to be accurate, but the size of the wheels dramatically fluctuates frame to frame as the camera shutter time increases.
I've tried a few approaches trying to pinpoint the issue including different motion blur/caching solutions as well as packed primitives vs. raw mesh transforms.
I feel like this is something that would be pretty obvious, so I'm inclined to believe I'm doing something wrong.
Any ideas?
cheers~
~p
Houdini FX Version 21.0.559
Open Source Information: https://www.sidefx.com/docs/houdini/licenses/index.html [www.sidefx.com]
Operating System: Microsoft Windows 11 Pro x64
Processor: AMD Ryzen Threadripper 3960X 24-Core Processor
Number of Cores: 48
Physical Memory: 127.88 GB
Number of Screens: 1
Screen 0: 2560 x 1440 at 0,0
Work Area 0: 2560 x 1368 at 0,0
Screen 0 DPI: 106.2
Platform Build: windows-x86_64-cl19.42
Python Version: 3.11
Qt Version: 6.5.3
USD Version: 25.05
USD git URL: https://github.com/sideeffects/USD.git [github.com]
USD git Revision: 4a631cd4a7549f6cc18b264b4cee940e8492985a
UI Scale: 1.375
Detected GPU: NVIDIA Consumer
10240 MB
581.57.0.0
Vulkan Vendor: NVIDIA Corporation
Vulkan Device: NVIDIA GeForce RTX 3080
Vulkan Version: 1.4.312
Vulkan Loader Version: 1.3.236
Device Heaps: 10053 MB + 214 MB
I'm having some issues with motion blur in karma when rendering some car wheels that are outputted from an rbd car path follow sop exported to USDsd using USD export.
My camera is derived from the camera export option from the RBD car rig setup and tracks the car in motion. The camera data is coming from obj context and is imported to LOPs via SOP import then cached. The object blur itself looks to be accurate, but the size of the wheels dramatically fluctuates frame to frame as the camera shutter time increases.
I've tried a few approaches trying to pinpoint the issue including different motion blur/caching solutions as well as packed primitives vs. raw mesh transforms.
I feel like this is something that would be pretty obvious, so I'm inclined to believe I'm doing something wrong.
Any ideas?
cheers~
~p
Houdini FX Version 21.0.559
Open Source Information: https://www.sidefx.com/docs/houdini/licenses/index.html [www.sidefx.com]
Operating System: Microsoft Windows 11 Pro x64
Processor: AMD Ryzen Threadripper 3960X 24-Core Processor
Number of Cores: 48
Physical Memory: 127.88 GB
Number of Screens: 1
Screen 0: 2560 x 1440 at 0,0
Work Area 0: 2560 x 1368 at 0,0
Screen 0 DPI: 106.2
Platform Build: windows-x86_64-cl19.42
Python Version: 3.11
Qt Version: 6.5.3
USD Version: 25.05
USD git URL: https://github.com/sideeffects/USD.git [github.com]
USD git Revision: 4a631cd4a7549f6cc18b264b4cee940e8492985a
UI Scale: 1.375
Detected GPU: NVIDIA Consumer
10240 MB
581.57.0.0
Vulkan Vendor: NVIDIA Corporation
Vulkan Device: NVIDIA GeForce RTX 3080
Vulkan Version: 1.4.312
Vulkan Loader Version: 1.3.236
Device Heaps: 10053 MB + 214 MB
-
- Heileif
- Member
- 280 posts
- Joined: Jan. 2015
- Offline
-
- pixelninja
- Member
- 71 posts
- Joined: March 2017
- Offline
-
- peter nunez
- Member
- 3 posts
- Joined: Nov. 2015
- Online
-
- peter nunez
- Member
- 3 posts
- Joined: Nov. 2015
- Online
Here is a condensed scene of the issue I'm still seeing.
There is a small usd export and a small camera cache that needs to be saved to see the issue.
Seems like something is happening in the rbd path follow that is affecting the moblur in solaris to cause the shrinking.
I've run a couple tests just using regular transforms for rotations in mesh and packed primitives and those seem to work fine.
Any insight would be appreciated.
cheers~
~p
There is a small usd export and a small camera cache that needs to be saved to see the issue.
Seems like something is happening in the rbd path follow that is affecting the moblur in solaris to cause the shrinking.
I've run a couple tests just using regular transforms for rotations in mesh and packed primitives and those seem to work fine.
Any insight would be appreciated.
cheers~
~p
-
- pixelninja
- Member
- 71 posts
- Joined: March 2017
- Offline
From what I can see there's not enough samples. If you turn on "Enable playback at fractional frames" you can actually see the wheels collapsing in the viewport.
The simple solution is to increase the amount of samples by lowering the increment (of the start/end/inc parameter) of the export.
Here's a reference flipbook comparing caching at 1, 0.5 and 0.25.
The "Resample Transforms" LOP I think is meant to correct issues like this without having to cache with more steps but it didn't work here for some reason (it made the wheels go haywire). I'll submit a bug report.
Some other unrelated improvements I would suggest:
- Set "Packed primitives" to "Create Xforms" so you don't end up with a bunch of unneeded prototype primitives
- Set "Topology Attributes" to "Static" (assuming there's no mesh deformation)
- Set "Set Default Values" to "* ^transform" (assuming your attributes are static)
Those options give you a cleaner tree and won't cache your attributes for every timestep. Your current setup caches not only your transforms but also the mesh, normals, uvs, etc for every single timestep, which is wasteful.
Personally, I recommend caching from LOPs rather than SOPs so that you can curate your scene graph tree and troubleshoot any USD issues before caching.
Hope that helps!
The simple solution is to increase the amount of samples by lowering the increment (of the start/end/inc parameter) of the export.
Here's a reference flipbook comparing caching at 1, 0.5 and 0.25.
The "Resample Transforms" LOP I think is meant to correct issues like this without having to cache with more steps but it didn't work here for some reason (it made the wheels go haywire). I'll submit a bug report.
Some other unrelated improvements I would suggest:
- Set "Packed primitives" to "Create Xforms" so you don't end up with a bunch of unneeded prototype primitives
- Set "Topology Attributes" to "Static" (assuming there's no mesh deformation)
- Set "Set Default Values" to "* ^transform" (assuming your attributes are static)
Those options give you a cleaner tree and won't cache your attributes for every timestep. Your current setup caches not only your transforms but also the mesh, normals, uvs, etc for every single timestep, which is wasteful.
Personally, I recommend caching from LOPs rather than SOPs so that you can curate your scene graph tree and troubleshoot any USD issues before caching.
Hope that helps!
Edited by pixelninja - today 19:14:29
-
- Quick Links


