Jump to content
gigafrax

Import OBJ, Connectivity doesn't work, please help...

Recommended Posts

Hello guys, i really hope somebody can help me

I have a brick wall modeled and fractured in Maya, i want to import it in Houdini.

When i do, i use an Assemble SOP to give a name to each chunk, but instead Houdini gives a different name to each individual face (or primitive). As a result the Foreach node shows me a single face instead of a single chunk.

also the rbd simulation works on a bunch of separate bidimensional faces, it is like seeing an house of cards collapsing

please please please help!

 

 

test.hipnc

Share this post


Link to post
Share on other sites

Fuse SOP does seem to fix it,yeah. You might want to turn the "Distance" value down to only fuse overlapping points and avoid fusing different pieces.

 

Why you get the problem in the first place is because the faces for each piece isn't connected, so connectivity obviously won't work. If it is possible inside of Maya, make sure you also fuse each piece as part of the fracturing. In the Houdini workflow, you check "Connect Inside Edges" on the Voronoi Fracture SOP.

  • Like 1

Share this post


Link to post
Share on other sites

Awesome! that works...

oddly enough because in Maya all the points are properly connected, i've double checked...

but one problem at a time, thanks so much guys!!!!

Share this post


Link to post
Share on other sites

Hem...sorry to bother you again.....apparently Fuse SOP fused too much, now the bricks are so fused together they are not fractured anymore. This because some vertices share the same position with vertices from neighbour chunks...and Fuse doesn't recognize they belong to different meshes...d'oh!

 :(

Share this post


Link to post
Share on other sites

Wouldn't it just be easier to fracture your model in Houdini from the start?

Share this post


Link to post
Share on other sites

Nope, the bricks are not random, they are modeled according to the camera projected texture in Maya.

Also, i want to have a group of bricks, a small ammount in the center, to have 8 chunks each and all the other 4 chunks, leaving outside some bricks randomly picked who will not be fractured.

I tried to put a point SOP into the foreach SOP so every brick would have, let's say, 4 points to feed into the voronoiFracture. Unfortunately for some reason they come to be all the same for every bricks, even after using ID as seed.

Share this post


Link to post
Share on other sites

I wouldn't have thought it would cause issue with plain raw geometry, but maybe give Alembic a try instead of OBJ... Alembic will preserve object face-groupings and heirarchy, so you should be able to bring it into Houdini in a more managable state than just a bunch of merged poly-data.

Share this post


Link to post
Share on other sites

you can run FuseSOP inside foreach SOP with chunkBrick* for a group mask but this way you'll get a separate name attribute for every chunk (not every brick) in assemble SOP after that.

So you still need a Fuse SOP after import on a separate branch with an assemble SOP to generate names and attribute copy those names on the second branch after the foreach SOP.

I'm sorry I can't upload a fix to your hip file right now but hope it's clear enough.

Share this post


Link to post
Share on other sites

Thanks Dobril :) not clear at all, but I'll gladly wait for the example scene when you can upload it :)

Share this post


Link to post
Share on other sites

Although your explanation, Dobril, wasn't so clear to me (not because of you, because of my poor knowledge of Houdini), starting from the first part of your solution I managed to find a slight different one. Or maybe it is the same and I can't recognize it :D :D

Anyway, foreach SOP, with chunkBrick* as group mask, then fuse SOP inside the foreachSOP. then outside the foreachSOP, I've put an assemble and it seems to work.

in the scene file attached, the second foreach is just for control.

 

thanks to all of you! i deeply appreciated and i hope i will be expert enought in the future to return the favor!

 

test_solved.hipnc

Share this post


Link to post
Share on other sites

Hey I thought I would chime in here cuz I doubt your problems are over...

 

Its not you, its a bug in the way houdini imports OBJ files cause if you look at the UVs in your scene now there all messed up and theres no reason for that to be.  Houdini is splitting your mesh along the uv seams on import and when you fused it back together you fused your uvs with it.  It has something to do with the way houdini handles points vs vertices compared to other applications.

 

I had made a bug report a few weeks back but I couldn't find a decent example of it.

 

As a workaround try using alembic as danw suggested, I never thought about that.  I would import it into blender then export it as a DAE and that would work.

Share this post


Link to post
Share on other sites

Its not you, its a bug in the way houdini imports OBJ files cause if you look at the UVs in your scene now there all messed up and theres no reason for that to be.  Houdini is splitting your mesh along the uv seams on import and when you fused it back together you fused your uvs with it.  It has something to do with the way houdini handles points vs vertices compared to other applications.

 

 

Have you (captain or gigafrax) tried a more current build? I remember they broke OBJ loading (vertices became unconnected) at one point this year, then tried to fix it but broke it in a different way (point order changed), but finally did fix it properly, if I remember correctly. Maybe you have one those dysfunctional builds?

Share this post


Link to post
Share on other sites

The problem was intermittent for me but seamed to persist on certain files and I was even getting exceptions on the file nodes themselves.  But those particular files were older and weren't of any importance so i just moved on.  I have .488 now and its been bug free :) 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×