How to properly manage KitBash .obj and .fbx files in Houdini

   7602   8   2
User Avatar
Member
833 posts
Joined: Jan. 2018
Offline
Lately I'm buying KitBash collections online. Unfortunately, despite the fact that many of these collections contain in some cases, hundreds of individual geometry objects; they all seem to come as a single .obj or .fbx file.

Loading those files into Houdini is not a problem, but managing the multitude of objects is.

Back in C4D, it was relatively simple to quickly isolate a speficic object in a collection, copy and paste into a new C4D document and off to the races. (perhaps, the thing I miss the most from C4D is its ability to open several files at once and easily transfer assets from one to the other by copy and paste).

In Houdini, what I do get is a single Subnetwork node which is in turn filled with a number of Nulls which connect to a number of Geometry Nodes (at times dozens) which in turn comprise the full object.

Copying and Pasting individual or group of nodes into other Subnets in order to narrow down only what I need on a particular project is tedious to say the least, and can lead to a long time spent digging around the hundreds of various nodes trying to locate a particular object.

Is there an easier and more obvious way to manage these types of files that I am overlooking?
>>Kays
For my Houdini tutorials and more visit:
https://www.youtube.com/c/RightBrainedTutorials [www.youtube.com]
User Avatar
Member
7726 posts
Joined: Sept. 2011
Offline
Do the tedious part once, and save it as an alembic? That way you can load in just a part of the alembic using it's path.

Alternatively, use a geometry rop with a script or a wedge rop to write out each part of the ‘kit’ as a separate geometry file.

Unfortunately, working with FBX has never been one of Houdini's strong points.
User Avatar
Member
24 posts
Joined: July 2007
Offline
Hi Midphase,
I have resorted to creating a setup with a couple of for loops that separate out each piece, adjust pivots and move to origin, rename and export as alembic. For this I favour the monolithic .obj instead of FBX.

This allows our company assets workflow to be maintained and we then use instanced, packed disk objects for a lot of our work.

For some kits a bit more work is required - fixing bad geo, tweaking UVs etc, and for that we push it through Maya first. It seems that often meshes we get from Max don't play nicely in Houdini for some reason and will have to be cleaned in Maya first.

Hope that is of some help!
Matt.
Edited by matthew_h_k - May 26, 2018 10:41:38
User Avatar
Member
833 posts
Joined: Jan. 2018
Offline
Interesting, I don't suppose you'd be able to share the for loops setup?
>>Kays
For my Houdini tutorials and more visit:
https://www.youtube.com/c/RightBrainedTutorials [www.youtube.com]
User Avatar
Member
16 posts
Joined: July 2014
Offline
Hi

If you import through File>Import FBX you should get a subnetwork with individual objects.
User Avatar
Member
833 posts
Joined: Jan. 2018
Offline
I do, but that's the problem. Some of these KitBash FBX and obj files have hundreds of individual objects which can create a rather large set of nodes to navigate. Of course, the same happened in C4D, however C4D's layer based interface and the ability have multiple files opened at once made the process of isolating only the geometry needed and quickly copy-paste it into a new file quick work. In Houdini it feels less than optimal and most definitely more time consuming.
>>Kays
For my Houdini tutorials and more visit:
https://www.youtube.com/c/RightBrainedTutorials [www.youtube.com]
User Avatar
Member
280 posts
Joined: Dec. 2015
Offline
matthew_h_k
Hi Midphase,
I have resorted to creating a setup with a couple of for loops that separate out each piece, adjust pivots and move to origin, rename and export as alembic. For this I favour the monolithic .obj instead of FBX.

This allows our company assets workflow to be maintained and we then use instanced, packed disk objects for a lot of our work.

For some kits a bit more work is required - fixing bad geo, tweaking UVs etc, and for that we push it through Maya first. It seems that often meshes we get from Max don't play nicely in Houdini for some reason and will have to be cleaned in Maya first.

Hope that is of some help!
Matt.
Matthew would you mind sharing if you had any problems fixing the inverted normals in some of the models? Also how did you go about creating the materials if you used the obj files?

Nicolas.
https://www.imdb.com/name/nm8408875/ [www.imdb.com]
User Avatar
Member
1612 posts
Joined: March 2009
Offline
Midphase
(perhaps, the thing I miss the most from C4D is its ability to open several files at once and easily transfer assets from one to the other by copy and paste).

While this may not help you in this particular case: You can have several houdini sessions open and copy&paste nodes between them. It's even context sensitive.
Martin Winkler
money man at Alarmstart Germany
User Avatar
Member
104 posts
Joined: Dec. 2014
Offline
Hi Midphase, what I did, and it is probably not the only way, to use the name attribute on the primitives. If you are buying your files from the services like Kitbash3d they usually come with properly named primitives. I would then import the fbx with the file node and use this attributes to separate objects. My setup was also to group objects into separate buildings, because my fbx came with models which are separated by materials rather than use. So for it to work I had to use some string operations in the attribute wrangler, create a new attribute with the new string value and then use for-each loop to run the process for each of the primitives, in my case, pack primitives which belong into the same type of assets into a packed primitive, which in return gives you a point. The point number can be used in the group parameter of the split node (or delete, or blast) and then you can use that to make your layout in Houdini, or export this into separate fbx files if you want to use it in the game engine. It is strange at first, but once you set up the first one, you can use the same setup (or even make an HDA for that) for all of your collections.
  • Quick Links