normals when wrangled through

   1959   10   3
User Avatar
Member
1735 posts
Joined: Oct. 2010
Offline
Hey guys! was wondering how normals are handled when wrangled through the engine… are they constructed based on how they were exactly in maya, regenerated, or simply not wrangled? I am porting one of our texture transfer tools to maya via the engine and wanted to know what I have before I try to generate my tangents and bitangents

thank you!
-G
User Avatar
Member
818 posts
Joined: Sept. 2013
Offline
In the input case, the normals are read from the input mesh, and then written into the N attribute in Houdini Engine. This is always done. So the normals that the asset sees should be the same as how it is in Maya. Tangents and bitangents aren't passed in though.

In the output case, normals are only set in Maya if the output geometry has the N attribute. If the attribute doesn't exist, Maya will compute some default.
Andrew / アンドリュー
User Avatar
Member
1735 posts
Joined: Oct. 2010
Offline
Thank you Andrew! Are the normals written to point or vertex in the input case?
-G
User Avatar
Member
818 posts
Joined: Sept. 2013
Offline
They're written as vertex attribute.
Andrew / アンドリュー
User Avatar
Member
57 posts
Joined: Feb. 2017
Offline
Question in regards to this as I'm having issues retaining my input vertex normals from Maya. After reading the above, I tried putting in a vertex attribute wrangle in the HDA that had one line, “@N = @N;” to make sure the input normals on the output mesh weren't up for grabs to be a Maya default.

Still didn't retain the vertex normals correctly on my mesh. Attached is a FBX of input(right) and output(left) mesh to illustrate what Houdini Engine is doing to my normals.

Any help would be appreciated. Thanks.

EDIT: Attached is also some additional information about the issue!
Edited by 9krausec - Dec. 4, 2018 13:51:39

Attachments:
geo_fbx_export.fbx (611.6 KB)
houdini_engine_support.zip (1.4 MB)

User Avatar
Member
57 posts
Joined: Feb. 2017
Offline
Update on this. User DASD was kind enough to troubleshoot with me just now.

What I've been experience has a high potential to be a bug with Houdini Engine. The issue has been brought up with support for fixin'.

I'm on Maya 2018.3 and Houdini 17.0.416 running on a Win10 Environment.

Beside the Houdini Engine > Debugging > Open HDA option opening up the houdiniengine_temp file look like what is attached (bunch of old HDAs I attempted through Engine via Maya), I had to freeze all transforms of my input Geo to get engine to output the normals as expected.

Big cheers to DASD for the help.

Attachments:
sideFX_support.jpg (264.9 KB)

User Avatar
Staff
146 posts
Joined: Oct. 2017
Offline
There have been a couple of bugs entered for this kind of issues.

One of the problems (but not necessarily the only problem) is that while the assets themselves are removed from engine when the asset is deleted, some of the inputGeometry, etc, nodes persist on the undo queue, so the corresponding input and objectMerge persist on the engine side (and inputs and merges can be shared between assets so cleaning up on the engine side can get complicated).

My usual workaround is to explicity delete all the asset related nodes and then flush the undo queue to make sure that they get deleted on the engine side. Doesn't always work though, sometimes the asset nodes still hang around, so that's another bug as well.

Doing a file->New or opening a different scene could be another spot to pre-emptively clean anything that's left in the engine (which it's not succeeding in doing at the moment)

But there may be more going on with the normals in this case - I still need to look into why they're getting corrupted (as opposed to the other asset instances causeing memory bloat - seems like there could be a bad object ref somewhere pointing to one of the defunct objectMerges, or an objectMerge looking at a defunct input.
User Avatar
Member
57 posts
Joined: Feb. 2017
Offline
@juliap - I've been communicating on this with your support team. Side Effects Support Ticket: #69951 - Might be useful to reference if you are as your SN says.

I've been having a massive pain in the butt with normal retention in Houdini Engine for Maya. Here's a video of running a mesh through a polyreduce. Not reducing anything, but my normals get completely disregarded.

Your text to link here… [www.useloom.com]

Attached is the mesh if anyone here wants to take a go at it. “Preserve mesh locked normals” is on and it doesn't kill my normals in Houdini. If anyone has any pointers I'd gladly accept them.

99% of the work we do is with CAD mesh data that requires locked normals and right now Houdini Engine isn't really working out the way I thought it would.

Cheers.

Attachments:
GM40_J27_Pad__3D_1.fbx (442.9 KB)

User Avatar
Member
57 posts
Joined: Feb. 2017
Offline
Last thing I'll say about the normal situation is that I get better results exporting the geo from Houdini from FBX and importing it back into Maya…

This leads me to think that maybe Maya 2018.3, Houdini 17.0.416, Engine 3.2 is bug-happy. Hope this all gets sorted out because the idea of Houdini Engine is a powerful one.
User Avatar
Staff
146 posts
Joined: Oct. 2017
Offline
Yes, I'm the same Julia that looks at your support tickets …
I'm working on sorting it out - but I'm multitasking between this and several other equally troubling issues.

There are definitely issues on our side with the way that the engine state is cleaned up when assets are deleted, new files are loaded etc that may cause memory bloat/corruption, and possibly additional issues specific to normals as well. I do have some assets where the Normals aren't corrupted, I will try to pin down what the significant differences I'll keep you posted on how it's coming along.

Maya2018 update 3 had issues, and 4 had problems that rendered the plugin unusable. Update 5 sounds like it's mostly better, but there are reports of problems in update 5 that weren't there before update 3.
User Avatar
Member
57 posts
Joined: Feb. 2017
Offline
Do not envy you for having to make Houdini sing with Maya, sounds tough.

I'm happy just confirming there is an issue and this isn't expected behavior. Honestly, I wasn't sure and was getting worried that this was just how Houdini Engine was as this has been my first experience with it. Good luck, please reach out if you need any scenes or assets from me.

I thank you for your time and patience.
Edited by 9krausec - Dec. 5, 2018 18:57:26
  • Quick Links