8
$\begingroup$

I just created a plane and added a wave modifier to it, to simply make it look like something fluid. Now, I have an Object that I want to place on the surface of this fluid plane. But how do I do that?

I thought of adding a driver to my Objects location, but I have no clue how to get the location of a certain vertex in runtime.

$\endgroup$
  • $\begingroup$ see this video tutorial $\endgroup$ – Chebhou Jul 21 '15 at 13:54
  • 1
    $\begingroup$ What if you target the object using a constraint tracking to and use the vertex group on that specific vertex? $\endgroup$ – andrepazleal Jul 21 '15 at 14:49
  • $\begingroup$ @user1803449 yep, that worked. Would you mind adding an answer for that? $\endgroup$ – Marten Zander Jul 21 '15 at 15:59
  • $\begingroup$ Todd already did it. $\endgroup$ – andrepazleal Jul 21 '15 at 16:39
  • $\begingroup$ Sorry about that guys, didn't read the comments closely enough on that one. $\endgroup$ – Todd McIntosh Jul 21 '15 at 18:45
14
$\begingroup$

You want to use Vertex Parent to parent the object to vertices in the wave mesh.

To do this, select the Wave mesh and switch to Edit mode. Select the vertex you want.

Note: I've actually found it better to select 3 vertices in a small triangle shape, because it will transfer lateral/tipping movement instead of pure vertical motion that you would get with a single vertex).

Then tab out of edit mode. Select the float object and then shift-select the wave object. CTRL+P and select Vertex or Vertex (Triangle) from the menu.

enter image description here

If you're trying to create a boat simulation and want the float object to react slower to the wave movement you can parent an empty to the wave and then use constraints to copy the empty's location and rotations to the float object. Doing it that way will allow you to reduce the Influence value on the constraints which will give you a more realistic motion for the float object.

enter image description here

$\endgroup$
  • 3
    $\begingroup$ Wow, this is a really cool answer! +1 $\endgroup$ – Poyo Jul 21 '15 at 17:54
1
$\begingroup$

Todd already provided the great answer suitable for your case, but mentioned in the comments was another great way to stick an object to another objects vertex.

  1. For the mesh object, create a vertex group with one or more selected vertices assigned to it
  2. Make empty
  3. Put a Copy Location constraint to that empty and select the mesh object and select the created vertex group
  4. Ta-daa, done!

Works super well with mesh objects that have for example multiple animated shapekeys in it.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.