Can the ROP FBX node export sockets for Unreal?

   2233   7   3
User Avatar
Member
24 posts
Joined: April 2021
Offline
Or can you only make sockets with the houdini plugin running directly in Unreal? with socket_name, tag etc.

I have tried the unreal standard SOCKET_ naming with the ROP FBX "Build Hierarchy from Path Attribute" option and unreal still just imported it as regular geo.

The socket grouping names used in the plugin dont work with the ROP FBX export either.
User Avatar
Member
253 posts
Joined: July 2013
Offline
if you export a character with sockets from unreal and then import it back into unreal does it still have sockets? If so, import the fbx into houdini and check the incoming attributes, you'll might find some clues there.
Edited by Jonathan de Blok - July 2, 2023 17:55:07
More code, less clicks.
User Avatar
Member
24 posts
Joined: April 2021
Offline
I'm talking about adding sockets to regular meshes, not characters. I tried exporting a mesh with a socket from Unreal though and the socket didnt show in houdini with the file import or character import nodes.

In most DCCs you just have to name the socket point/mesh with the SOCKET_meshname_## format and export it with the rest of the geo, for Unreal to pick it up on import. But that doesnt appear to work when exporting with the ROP FBX node in houdini.
User Avatar
Member
104 posts
Joined: Dec. 2014
Offline
JasOnn
I'm talking about adding sockets to regular meshes, not characters. I tried exporting a mesh with a socket from Unreal though and the socket didnt show in houdini with the file import or character import nodes.

In most DCCs you just have to name the socket point/mesh with the SOCKET_meshname_## format and export it with the rest of the geo, for Unreal to pick it up on import. But that doesnt appear to work when exporting with the ROP FBX node in houdini.
RFE?
User Avatar
Member
8 posts
Joined: Feb. 2022
Offline
Yes it's possible, you need to tick the `Build hierarchy from Path attribute` and have a string attribute on primitives that creates a specific hierarchy on your mesh.

Then the point you wish to make a socket you should add "SOCKET__##" and use that for the name of the socket. If you import an FBX with a hierarchy in UE5, and a mesh is named with that notation, Unreal will generate the socket for you. Check here for more documentation: https://docs.unrealengine.com/5.2/en-US/fbx-static-mesh-pipeline-in-unreal-engine/ [docs.unrealengine.com]

Bringing the socket from Unreal Engine to Houdini I don't think is possible, because that information is stored in the .uasset file instead of the fbx mesh.

If you need the back and forth between Houdini and UE the easiets is to use Houdini Engine, here about the sockets: https://www.sidefx.com/docs/unreal16.5/_sockets.html [www.sidefx.com]

For Skeletal Meshes it's a bit more complex because the way UE generates the sockets is different at the way they do it for the static meshes.
Best,
Sebi
User Avatar
Member
43 posts
Joined: Dec. 2010
Offline
Hi eusebijucgla,

I actually just tried this today, by using the `Build hierarchy from Path attribute` option on the FBX ROP node, but no matter what I did I could not get the sockets to work.
One issue is that the path attribute needs to be on a primitive, but for the socket what would that primitive be?
All I want for that is a transform.
I tried using an empty packed primitive but it caused a fatal error when trying to export the FBX.
I also tried using simple box geometry, but unreal just imports the boxes in as separate meshes instead of sockets, even when using the naming convnetion of SOCKET_## from their own docs.
The only way I cuould get sockets out of Houdini in an FBX file and into Unreal, is to do it at the Object context, and use Nulls for the sockets.. which is tedious and doesn't lend itself to being procedural, especially with many sockets.

Any advise (or a sample file) would be great!
Cheers
MC
User Avatar
Member
8 posts
Joined: Feb. 2022
Offline
Chats
The only way I cuould get sockets out of Houdini in an FBX file and into Unreal, is to do it at the Object context, and use Nulls for the sockets.. which is tedious and doesn't lend itself to being procedural, especially with many sockets.

Hey, yes I did encounter that issue quite a bit. Honestly one way as you say is to use geos as nulls and name them SOCKET_## and export it as an fbx. I really think the best solution for this is the Houdini Engine plugin, did you try it? Is the easiest and you can create the sockets from the sop context. Is there a reason not to use the Houdini Engine?
Best,
Sebi
User Avatar
Member
43 posts
Joined: Dec. 2010
Offline
Thanks Sebi,

I did end up using Houdini Engine to import a .bgeo file and by using the detail attributes naming convention in the Houdini Engine docs, was able to get fine grained control over proceduraly creating sockets in SOPs context.
This way it also gives me good control over the name of the .uasset it creates, and allows to overwrite the previous one so it's more or less the same functionality as right clicking on a static mesh that was imported from a .fbx and selecting re-import from file.

Cheers for the great suggestion!
MC
  • Quick Links