ball down a tube dynamic simulation
12088 14 2- mstram
- 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
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
- edward
- 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.
- wolfwood
- Member
- 4270 posts
- Joined: July 2005
- Offline
- wolfwood
- Member
- 4270 posts
- Joined: July 2005
- Offline
- mstram
- 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
- mstram
- 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
- edward
- Member
- 7764 posts
- Joined: July 2005
- Offline
- craig
- 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.
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.
- craig
- 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.
- mstram
- 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
- mstram
- 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
- craig
- Member
- 557 posts
- Joined: July 2005
- Offline
- mstram
- Member
- 77 posts
- Joined: July 2005
- Offline
craigmstram
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
- craig
- 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.
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.
- mozzenus
- 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.
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