DOPs:: collision

   5800   6   0
User Avatar
Member
201 posts
Joined: July 2005
Offline
Houdini 8.0.474

Still trying to get my head wrapped around DOPs so this may be quite simple. I simply want an object collide into a grid, causing the grid to deform.

Currently, I have an object which is a series of .bgeo files of a creature written out on a per frame basis. I'm using a File SOP to read them in. The grid is a simple polygon grid connected with triangles, pinning the corners in place.

The creature translates in X and passes right thru the grid - no deformation Below shows how my network is connected. I know I must be missing something obvious so any tips would be greatly appreciated. Thanks!

Rob

Attachments:
DOP_collide.jpg (12.7 KB)

Cheers,
Rob
Digital Supervisor | Stargate Studios Toronto
User Avatar
Member
557 posts
Joined: July 2005
Offline
That seems reasonable, but the devil is in the details. Can you post a hip file?
User Avatar
Member
201 posts
Joined: July 2005
Offline
craig
That seems reasonable, but the devil is in the details. Can you post a hip file?

I'll work on whipping one up but in the meantime, I substituted my object with a simple sphere, animating its path within the SOP network and it works! So, I'm wondering if it has to do with reading from disk.
Cheers,
Rob
Digital Supervisor | Stargate Studios Toronto
User Avatar
Member
557 posts
Joined: July 2005
Offline
Um, time out. Is your object changing frame by frame because that's how it changes position? Or is it just changing shape?

If the File SOP is moving your object, then it is unlikely that your object has its velocities set correctly, and that would cause a problem.

Also, you should check the collision object for your geometry. RBD Object->Collisions tab->Show Collision Guide Geometry. You should see some red geometry that is a reasonable approximation of your actual geometry. If not, you'll have to fiddle with the parameters in that tab to get it to be so.
User Avatar
Member
201 posts
Joined: July 2005
Offline
craig
Um, time out. Is your object changing frame by frame because that's how it changes position? Or is it just changing shape?

If the File SOP is moving your object, then it is unlikely that your object has its velocities set correctly, and that would cause a problem.

Also, you should check the collision object for your geometry. RBD Object->Collisions tab->Show Collision Guide Geometry. You should see some red geometry that is a reasonable approximation of your actual geometry. If not, you'll have to fiddle with the parameters in that tab to get it to be so.

Craig,

Adjusting the collision did the trick. Thanks for the tip. As for the File SOP, yes it was moving the object. Out of curiosity, what do you use to fix the velocities within DOPs.

Cheers,
Rob
Cheers,
Rob
Digital Supervisor | Stargate Studios Toronto
User Avatar
Member
557 posts
Joined: July 2005
Offline
It depends. If your DOPs object is being animated at the object level (ah, the confusing use of the same term in multiple contexts), then you can use the Object Position DOP or the Motion DOP.

But if you are reading in a new piece of geometry for each frame, and that is what is moving the geometry around in space, then you probably have to compute the velocities yourself, in SOPs. The easiest way to do this is with the Trail SOP.

On the other hand, if you are already getting the result you want, then quit while you are ahead!
User Avatar
Member
387 posts
Joined: July 2005
Offline
Here's another gotcha!

If you're reading in moving geometry with a FILE SOP, then you need to add some sort of geometry blending for the sub-frames! Keep in mind that DOP's work at sub-frames! Otherwise you've got the same geom at frame 1.1, 1.2, 1.3 and then a sudden jump (actually around frame 1.5).

For example, you might want 2 FILE SOP's - one which reads $F, the other reads $F+1. Then you want to run those two into a blend (like BLENDSHAPES SOP or SEQUENCE BLEND SOP). You'll need a blend expression in the sop that uses $FF. eg. “$FF%1”. Sorry - i'm on holidays! you can work this bit out. :-) $FF%1 is a sawtooth. You might want to ease(). It's arguable. Anyways..

Unselect “Integer Frame Values” in the Global Animation Options . Now step through fractional frame numbers (1.1, 1.2, 1.3, …) and check that your geometry is blending smoothly. Nb. this will smooth your point velocities.

If the creature geometry is only translating in X (and not changing shape itself) then you can leave “Use Animated Geometry” at “0” in the RBD Object DOP. That can speed things up.

Finally, make sure you enable “Use Point Velocity for Collisions” option in the RBD Solver. By default is option is off. That's always an “oh no!”.

cheers,
ben.

PS. I just thought: if the creature is simply translating in X (in a straight line), then there's not much need for FILE SOP blending… Duh. Sorry. :-) Once the creature does a non-linear move, though, you'll want it.
''You're always doing this: reducing it to science. Why can't it be real?'' – Jackie Tyler
  • Quick Links