Jump to content

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

Link to comment
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
Link to comment
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!

 :(

Link to comment
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.

Link to comment
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.

Link to comment
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.

Link to comment
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

Link to comment
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.

Link to comment
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?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...