Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Usdskel causes polygons to render faceted - without normals #3406

Open
TimRileyDNEG opened this issue Nov 7, 2024 · 2 comments
Open

Usdskel causes polygons to render faceted - without normals #3406

TimRileyDNEG opened this issue Nov 7, 2024 · 2 comments

Comments

@TimRileyDNEG
Copy link

Description of Issue

We’re experiencing an issue in rendering Crowds with usdskel, whereby all the geometry that is saved as polygons is dropping the normals information at rendertime - and appearing as faceted. We lose the nice smooth normals, exported from our assets.

Our only workaround, has been to force the meshes to render with subdivision, which appears smooth but increases the amount of geometry - making it hard to scale up a crowd.

Our pipeline currently uses Houdini and Renderman, and according to Pixar - who confirmed this issue - the USD is culling the normal attributes somehow.
Have made posts on the following USD forum
https://forum.aousd.org/t/usdskel-causes-polygons-to-render-faceted-without-normals/1971/1

Steps to Reproduce

  1. Sublayer this usd file: [skelroot_example_v002.usda]
    https://forum.aousd.org/uploads/short-url/x4hTHKjpJV4SxEX7Yn6V9GZQFS6.usda

Render through the included camera
The mesh renders facetted
Prune the Skeleton prim /character/skeleton
The mesh renders smooth (you may have to restart the render)

  1. Karma
    Karma auto-smoothes meshes without normals. You may need to set Cusp Angle to 0 via a Render Geometry Settings to see the facetting. This is equivalent to Renderman’s Smooth Polygon property and doesn’t solve the problem of losing the normals authored on the model.

  2. Minimal Setup
    The bug only happens with a working SkelRoot asset, meaning at the minimum you need:

A Skeleton prim
A SkelRoot prim with a skel:skeleton relationship pointing to the Skeleton prim
A mesh with skel:jointIndices and skel:jointWeights primvars
Removing any one of these 3 things fixes the normals.

System Information (OS, Hardware)

Linux

Package Versions

Tested in Solaris with Houdini 19.5.959, Renderman 25.3_2333134, Karma.

Build Flags

@dgovil
Copy link
Collaborator

dgovil commented Nov 7, 2024

This is a issue that we've discussed with Pixar in the past, since we don't use subdiv on our end often either.

@meshula and @davidgyu , I believe you both were on the previous email thread and said Storm basically has no support for recalculating normals during skinning since y'all always subdiv.

Would Pixar be opposed to a change in that non-subdiv meshes also recalculate normals?

@jesschimein
Copy link
Collaborator

Filed as internal issue #USD-10410

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants