ball down a tube dynamic simulation

   12088   14   2
User Avatar
Member
77 posts
Joined: July 2005
Offline
Greetings,

I did the “ball drop on a table” DOP tutorial, works fine.

I'm trying to get the ball to roll down a tube, then hit the vase.

I added the tube as a (inactive) rbd object, but the ball either stops right at the mouth of the tube or else falls right through it like it wasn't there. I'm reading the docs and experimenting with the settings, but no luck yet.

When I added a default “geo” (box) and flattened it out, and used it as a “ramp”, it the ball did roll down the surface. It seems rolling *inside* an object is a bit trickier

Mike
User Avatar
Member
7764 posts
Joined: July 2005
Offline
The most important thing is to turn on “Show Collision Guide Geometry” on your RBD objects to make sure that the collision guide geo was built correctly. Make sure you have enough Divisions as well. The other thing to make sure is that you've got water-tight geometry which has volume. I've attached an example scene file which shows using a tube as a half and full pipe. Note that I had to turn off Laser Scan in order to generate proper collision geometry in the full pipe case.

Attachments:
ballpipe.zip (24.7 KB)

User Avatar
Member
4270 posts
Joined: July 2005
Offline
Odds are your tube's collision volume is solid. On the Tube's RBD Object settings turn on Show Collision Guide Geometry on the Collision's tab.

Attachments:
GravTube.zip (16.0 KB)

if(coffees<2,round(float),float)
User Avatar
Member
4270 posts
Joined: July 2005
Offline
Bah…shouldn't you be in bed Ed?
if(coffees<2,round(float),float)
User Avatar
Member
77 posts
Joined: July 2005
Offline
Wolfwood
Odds are your tube's collision volume is solid. On the Tube's RBD Object settings turn on Show Collision Guide Geometry on the Collision's tab.

Those odds would be correct

I added a tube to your exampel file the collision volume *is* solid.

So how do I change that? I don't see anything different in the collision settings between your half tube and the standard tube that I added.

Mike

Attachments:
ballpipe added tube.zip (67.3 KB)

User Avatar
Member
77 posts
Joined: July 2005
Offline
edward
The most important thing is to turn on “Show Collision Guide Geometry” on your RBD objects to make sure that the collision guide geo was built correctly. Make sure you have enough Divisions as well. The other thing to make sure is that you've got water-tight geometry which has volume. I've attached an example scene file which shows using a tube as a half and full pipe. Note that I had to turn off Laser Scan in order to generate proper collision geometry in the full pipe case.

And if it's “built correctly”, how do I correct it ?

Does it matter what kind of tube you use (prim, mesh, nurbs) etc?

I turned off the “laser scan”, but still have a “solid” collision geometry.

Mike
User Avatar
Member
7764 posts
Joined: July 2005
Offline
Did you take a look at my example file? I basically just played with the options and increased the divisions. You can't just have like a default tube because it doesn't enclose any space within its geometry (assuming you want a hollow tube). Noticed that I extruded the geometry.
User Avatar
Member
557 posts
Joined: July 2005
Offline
A couple of things on this:

1. You can simplify this particular example a lot by just using the tube directly. Turn off the “Use Volume Based Collision Detection” toggle in the Collision tab of the fullpipe object, make sure the Surface Representation in the Surface tab is set to Edges (which it seems to be in Ed's example), and you're good to go. Increasing the number of divisions in the tube will help, though in this case it doesn't seem necessary.

2. It's a bad idea to pre-tilt the tube geometry in the sopnet, and THEN compute the SDF. That's because the SDF is computed along the basic XYZ axes, so a titled tube is going to require more divisions to get the same result. It's better to leave the tube aligned with the Y axis, bring that in as an RBD object, compute the SDF in that orientation, and then tilt it in the RBD Object rotate parameters.
User Avatar
Member
557 posts
Joined: July 2005
Offline
I should also have pointed out that you can make a simple tube hollow by toggling the Invert Sign button in the Collision tab. this will keep objects inside the tube. The drawback in your example is that the ball wouldn't be able to fall out of the bottom of a tube represented this way. But in general, this is a useful technique for keeping RBD objects inside of other shapes, such as a room or an hourglass.
User Avatar
Member
77 posts
Joined: July 2005
Offline
craig
A couple of things on this:

1. You can simplify this particular example a lot by just using the tube directly. Turn off the “Use Volume Based Collision Detection” toggle in the Collision tab of the fullpipe object, make sure the Surface Representation in the Surface tab is set to Edges (which it seems to be in Ed's example), and you're good to go. Increasing the number of divisions in the tube will help, though in this case it doesn't seem necessary.

What do you mean by “just using the tube directly” ?

The main problem seems to be that I assumed the tube was hollow, which apparently as far as the dynamic engine is concerned it is not

Mike
User Avatar
Member
77 posts
Joined: July 2005
Offline
edward
You can't just have like a default tube because it doesn't enclose any space within its geometry (assuming you want a hollow tube).

Ok, I dug further, and found where your geometry was defined and see that it wasn't just a standard “tube”>

I think that the “tube” sop should be renamed a “cylinder” sop

I guess even though you can create a “tube” with the *end caps* off, and it renders as hollow, it really isn't as far as the dynamics engine is concerned

Mike
User Avatar
Member
557 posts
Joined: July 2005
Offline
mstram
What do you mean by “just using the tube directly” ?


I mean as in the attached hip file. The tube is just polygonal geometry, with no SDF representation at all.

Attachments:
surfaceTube.hip (52.8 KB)

User Avatar
Member
77 posts
Joined: July 2005
Offline
craig
mstram
What do you mean by “just using the tube directly” ?


I mean as in the attached hip file. The tube is just polygonal geometry, with no SDF representation at all.

Well that file was not very instructive, as it loads with a bunch of errors.

When I play the simulation the ball falls through the edge of the tube possibly a result of the load errors.

I see that the file version is 8.0.449, while I'm running apprentic- 8.0.410', which probably accounts for the errors

>“with no SDF representation at all.”

Translated from “Houdini-speak” to english, I assume you mean that the tube is “unmodified”, no other SOP than the tube SOP, geeze there I go slipping into rudimentary “H-Speak” 8)

I created a new simulation, adding a “bare” tube and changed the collision setting “Use volume based Collision detection” to off/unselected, and the surfaces to edges and I get the same result as your file (sphere falling through the edge of the tube). Maybe those settings don't work with the apprentice-8.0.410 version ?

MIke

Attachments:
surfacetube_151_load_errors2.jpg (49.4 KB)
surfacetube_151_load_errors1.jpg (41.0 KB)

User Avatar
Member
557 posts
Joined: July 2005
Offline
You kniow what? You're exactly right. The ability to collide with surfaces came in as a bug fix in 8.0.418. I apologize for relying on a feature that may be too new to be generally available.

In which case, Ed's solution is the one you want, though I would still rotate his tube model back to vertical, bring that into DOPs, and then in the rbdobject node rotate it back to the orientation you want. In that way you'll get a better volume representation.
User Avatar
Member
50 posts
Joined: July 2005
Offline
Hello,
I have made a tub from the tub sop and made this work. The ball flows through the tub. I generated the tub with a lot of divisions as a polygon.
In the dop network, i turned off laser scan and created 30 divisions in the volume. In the surface parameter i set surface representation to points, all under collision and it worked out.
  • Quick Links