arnold-usd
arnold-usd copied to clipboard
BasisCurves disappearing on update
Describe the bug
It seems that Arnold incorrectly 'updates' BasisCurves. This is mostly noticable in Houdini Solaris, where just moving the camera or clicking through frames makes the curves disappear. There, a "Restart Render" is required for the hair curves to show up.
To Reproduce
Reproduce in Houdini 20.0.590 with HtoA 6.2.5.2
Here's a simple usda file with some curves generated by "Draw Curve" with SOP Create in LOPs in Houdini.
- Sublayer this file in Houdini
- Move camera - curves disappear
(Note that when using the free camera, and not camera tied to view that the bug occurs with Display Options > Camera > Clipping > Homing Auto Adjusts > Neither Clip Plane set)
This error is shown in the render logs.
00:22:39 1727MB ERROR | [curves] /sopcreate1/curve_0: invalid number of points (found 168, expected 484)
Reproducable in USDView
This can be harder to reproduce in USDView since there it doesn't occur on camera movements - but it does when you SWITCH cameras, e.g. switch from free cam to the camera in the USD file or vice-versa.
Since this is on camera updates it could be that #1854 resolves this already - however even if that were the bug there still appears to be a bug on "syncing updates" from the scene for Arnold USD to curves/hairs where Arnold thinks its getting the wrong point counts.
With some other drawn curves, e.g. the error is:
00:00:11 1754MB ERROR | [curves] /sopcreate1/curve_0: invalid number of points (found 272, expected 784)
What's interesting is the ratio of points that it expects to what it found:
784 / 272 = 2,882352941176471
484 / 168 = 2,880952380952381
seems the ratio it's wrong is quite similar.
When trying it with a very simple single curve:
00:00:02 1832MB WARNING | [curves] /sopcreate1/curve_0: invalid number of points (found 7, expected 0 or 19)
Here maybe it's interesting that it's expecting either 0 or 19.
Anyway, 9 / 17 = 2,714285714285714
a bit further away, but still around 2.8.
Expected behavior
Curves/hairs should render fine, and not disappear.
Screenshots If applicable, add screenshots to help explain your problem.
Used Software Versions
- HtoA: 6.2.5.2
- OS: Windows 10
- Houdini: 20.0.590
Additional context
I've reported this issue on Arnold Support as well - with less information. The ticket there is: HTOA-2504 There I mostly reported it happening on "frame changes" over time.
Issue synced internally to ARNOLD-14749
This doesn't necessarily seems camera related since even settings Render Geometry Settings on the prim in Houdini directly kills the curves with the same error.
#1814 exhibits the same problem.
Thanks - didn't expect that to be the 'same issue' - didn't see the same error (log) being reported there.
Anyway, let me know if there's anything I can do to help pinpoint this better. It's a major pain in the... behind, for us - since you can hardly tweak hairs for the render in Solaris.