how to use normals from attributes on an agent?

   1420   4   3
User Avatar
Member
1 posts
Joined: 12月 2007
オフライン
When I attach geo to the agent, current geo normals are replaced with newly generated ones and don't react to any changes in the source normals. Is it possible to prohibit the regeneration of normals on an agent?

Attachments:
agent_normals.jpg (359.7 KB)

User Avatar
スタッフ
802 posts
Joined: 10月 2012
オフライン
This is a limitation with Hydra currently - it doesn't perform skinning on the normals and instead flags them as needing to be recomputed after the deformation
A workaround is using the Bake Skinning LOP which does support deforming normals, with the downside of the skinning being baked instead of happening at render time
User Avatar
Member
1 posts
Joined: 9月 2016
オフライン
It's not look like a Hydra problem, because I made the same test with Unreal Engine. For instance I export skinned character from UE to usd, and back, and normals was rebuilded.
On the other side Bake Skinning LOP is not a good choice,
because it bake into transforms matrix and point positions, which interpolated linearly in usd, and you can get squash & stretch effect between animation keys, and bad motionblur as a result.
User Avatar
Member
22 posts
Joined: 10月 2020
オンライン
cwhite
This is a limitation with Hydra currently - it doesn't perform skinning on the normals and instead flags them as needing to be recomputed after the deformation
A workaround is using the Bake Skinning LOP which does support deforming normals, with the downside of the skinning being baked instead of happening at render time

Was this ever resolved? We are also trying to avoid using the Bake Skinning LOP for some of our assets with a ton of points.
Enrique De la Garza
CG Supervisor @Frame48
User Avatar
スタッフ
802 posts
Joined: 10月 2012
オフライン
This was very recently fixed upstream in USD (https://github.com/PixarAnimationStudios/OpenUSD/pull/3841) so I'd expect that to be available in the next major Houdini release

Another alternative workaround is using the crowd procedural, which has some options for baking out the skinning for all agents (equivalent to the Bake Skinning LOP) - this is done just at render time and for the relevant time range
  • Quick Links