Breakup a polygon

   13232   7   1
User Avatar
Member
45 posts
Joined: July 2005
Offline
Hi,

I want to breakup a polygon into its faces. E.g. the faces of a polygon grid. I'd like to extrude the objects later and play around with rigid body dynamics.

Unfortunatly I dont know how to separate the single faces of an polygon in a way I can use them later for simulation. Any hints are very welcome. Thanks.
renderwiki.com openmaya.net
User Avatar
Member
12510 posts
Joined: July 2005
Offline
Here is one example.. Unique the points to separate the faces, extrude them, group them based on connectivity, rbd-fractured object them into an RBD simulation.

Attachments:
extruded_simulated.hip (118.0 KB)

Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
User Avatar
Member
45 posts
Joined: July 2005
Offline
Thank you very much.
Well, maybe it is just me but I find it a bit hard to understand whats going on here. Maybe only because the names of the functions are a bit different from other tools. Sorry if I ask really basic questions, but I'd really like to understand what I'm doing.

So you first have a grid. This grid has shared point and edges I want to seperate.

The separation is done with “fuse”, correct? This means that I dont have any shared points any more.

Next the “connectivity” node will make a connection between all points that share the same polygon and create an attribute named “class”. So why to I have to do this? The polygons are seperated anyway. Maybe it is only because of the “class” attribute which is needed later?

Finally the “partition” node creates a group of primitives which can be modified later with dynamics that works with the single objects of a object group.
renderwiki.com openmaya.net
User Avatar
Member
45 posts
Joined: July 2005
Offline
And one further question:

The rigid body simulation works fine with the extruded objects. But if I remove the extrusion so that I only have faces, they fall down and simply stick to the collision plane insted of lying flat on the ground. Whats the reason for this?
renderwiki.com openmaya.net
User Avatar
Member
45 posts
Joined: July 2005
Offline
I tried it the same way with my own imported obj file, but for any reason it doesnt work. I your file I can see the single groups if I click with the middle mouse button on the partition node, in my file there is only one group.

I attached a file with my houdini file and the obj file.

Attachments:
shatter.zip (237.9 KB)

renderwiki.com openmaya.net
User Avatar
Member
1769 posts
Joined: Dec. 2006
Offline
hi!

by default rbd object is set to volume collision model, so You have to have a closed volume for proper collisions, just turn on the guides on the rbd object and increase the divisions to get a more precise representation of your closed volume collision geometry
daniel bukovec | senior fx td | weta digital
qLib -- http://qlab.github.io/qLib/ [qlab.github.io]
User Avatar
Member
45 posts
Joined: July 2005
Offline
I'm not sure why it didnt work with my shattered object before. Now everything seems to work fine. Thanks for your help.
renderwiki.com openmaya.net
User Avatar
Member
2199 posts
Joined: July 2005
Offline
haggikrey
The separation is done with “fuse”, correct? This means that I dont have any shared points any more.
You will find with a lot of houdini nodes that they can do more than one job. Often they also do the reverse of the main operation. So fuse can also unfuse. You need to look at the parameters to see exactly what it is doing. In this case it will be making points unique.

haggikrey
Next the “connectivity” node will make a connection between all points that share the same polygon and create an attribute named “class”. So why to I have to do this? The polygons are seperated anyway. Maybe it is only because of the “class” attribute which is needed later?
The connectivity sop just builds the class attribute, as you noted, the class attribute stores a number for each set of connected things, points or primitives.

haggikrey
Finally the “partition” node creates a group of primitives which can be modified later with dynamics that works with the single objects of a object group.
Correct. This only works though because of the previous connectivity sop which created the class attribute that the group sop is using.
The trick is finding just the right hammer for every screw
  • Quick Links