Ripple DOP
17042 8 2-
- mrCatfish
- Member
- 738 posts
- Joined: Dec. 2006
- Offline
1 - How do I stop a ripple DOP from having the ripples bounce off the edge of the geo? I want them to continue on like the grid I am using was infinite.
2 - Also, can anyone confirm that the “use deforming rest” actually works? I have two DOP networks, both identical except that one has “use deforming rest” on, but the results are identical, even though my rest position geo is animated. I attach a file… toggle the “use deforming rest” on and off and there will be no difference. H9.0.768
3 - Basically, I'm trying to do a boat wake and bow wave, with little success. Anyone had any luck doing a 2d fluid sim? (The ripple DOP will only do the bow wake, I haven't even got close on the bow wake.)
2 - Also, can anyone confirm that the “use deforming rest” actually works? I have two DOP networks, both identical except that one has “use deforming rest” on, but the results are identical, even though my rest position geo is animated. I attach a file… toggle the “use deforming rest” on and off and there will be no difference. H9.0.768
3 - Basically, I'm trying to do a boat wake and bow wave, with little success. Anyone had any luck doing a 2d fluid sim? (The ripple DOP will only do the bow wake, I haven't even got close on the bow wake.)
Sean Lewkiw
CG Supervisor
Machine FX - Cinesite MTL
CG Supervisor
Machine FX - Cinesite MTL
-
- jlait
- Staff
- 6792 posts
- Joined: July 2005
- Offline
Deforming rest works. The Rest SOP Path needs to point to /obj/grid_object1/rest1 and the Initial SOP to /obj/grid_object/grid1. This is opposite to your attached file. If I reverse those and turn on deforming rest, it works.
Note that changing the rest geometry creates a sort of fluid potential rather than an actual fluid motion. Another approach to collisions is to use the Ray SOP to displace the actual grid geometry inside a SOP solver. Attached is such an example.
Note that changing the rest geometry creates a sort of fluid potential rather than an actual fluid motion. Another approach to collisions is to use the Ray SOP to displace the actual grid geometry inside a SOP solver. Attached is such an example.
-
- jlait
- Staff
- 6792 posts
- Joined: July 2005
- Offline
The best answer I've got to the open end conditions is to paint a region of dissipation around the boundary. The attached example shows this in action.
There is still reflections occurring whenever the dissipation steps up, but by spreading the reflection over several points on the grid they will cancel each other out and the wave will disappear.
There is still reflections occurring whenever the dissipation steps up, but by spreading the reflection over several points on the grid they will cancel each other out and the wave will disappear.
-
- mrCatfish
- Member
- 738 posts
- Joined: Dec. 2006
- Offline
Thanks for this Jeff. I could swear I tried it both ways, but it obviously works. The docs are wrong though:
The “normal” shape of the surface, without any waves on it is the “grid1” sop. The starting state is “rest1”, (unfortunately named in my example as it's a rest SOP).
Out of curiosity, why would you want to call the deforming geo “rest” anyway? Isn't that counter-intuitive? Isn't “rest” geo normally the default, un-deformed version?
The rest surface. This is the “normal” shape of the surface without any waves on it. Waves deform the surface up and down away from this rest shape.
The initial surface. This is the starting state of the surface. The difference between this surface and the rest surface causes the first set of waves across the surface.
The “normal” shape of the surface, without any waves on it is the “grid1” sop. The starting state is “rest1”, (unfortunately named in my example as it's a rest SOP).
Out of curiosity, why would you want to call the deforming geo “rest” anyway? Isn't that counter-intuitive? Isn't “rest” geo normally the default, un-deformed version?
Sean Lewkiw
CG Supervisor
Machine FX - Cinesite MTL
CG Supervisor
Machine FX - Cinesite MTL
-
- jlait
- Staff
- 6792 posts
- Joined: July 2005
- Offline
Deforming the rest without the rest springs is unintuitive.
What is happening is that the wave shape used for the calculations is the difference between the surface and the rest object. By changing the rest surface, you change the surface seen by the solver. For example, if you push down the rest surface, the solver will see a bump at that location. When it flattens that bump the result is a dimple in the original surface (as it is operating independently of the rest surface).
The more intuitive approach is to directly manipulate the water surface. I couldn't give that as an option in the object, however, as that would then rewrite the object surface every frame removing the effect of the waves.
There is another, entirely unrelated to Rippling water, reason why you'd want to deform the rest surface. This solver can be used as a jiggle type solver on actual geometry. The rest surface can be the animating character. If springs are added, you get the main surface moving to the rest surface. The wave motion will then be propagated along the object by the solver, in a more softbodyish manner.
- Jeff
What is happening is that the wave shape used for the calculations is the difference between the surface and the rest object. By changing the rest surface, you change the surface seen by the solver. For example, if you push down the rest surface, the solver will see a bump at that location. When it flattens that bump the result is a dimple in the original surface (as it is operating independently of the rest surface).
The more intuitive approach is to directly manipulate the water surface. I couldn't give that as an option in the object, however, as that would then rewrite the object surface every frame removing the effect of the waves.
There is another, entirely unrelated to Rippling water, reason why you'd want to deform the rest surface. This solver can be used as a jiggle type solver on actual geometry. The rest surface can be the animating character. If springs are added, you get the main surface moving to the rest surface. The wave motion will then be propagated along the object by the solver, in a more softbodyish manner.
- Jeff
-
- CeeGee
- Member
- 222 posts
- Joined: July 2007
- Offline
-
- old_school
- Staff
- 2540 posts
- Joined: July 2005
- Offline
-
- CeeGee
- Member
- 222 posts
- Joined: July 2007
- Offline
-
- jlait
- Staff
- 6792 posts
- Joined: July 2005
- Offline
To avoid the reflected wave you can paint a lower dissipation along the boundary. In 9.1 and later the dissipation has been renamed to the more correct “conservation”. Earlier in this thread is an example file of using dissipation to dampen the boundary conditions.
Setting a dissipation/conservation to 0.95 or similar across the entire grid will likewise cause the waves to fade out.
- Jeff
Setting a dissipation/conservation to 0.95 or similar across the entire grid will likewise cause the waves to fade out.
- Jeff
-
- Quick Links


