11
$\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$
5
  • $\begingroup$ see this video tutorial $\endgroup$
    – Chebhou
    Commented Jul 21, 2015 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$ Commented Jul 21, 2015 at 14:49
  • $\begingroup$ @user1803449 yep, that worked. Would you mind adding an answer for that? $\endgroup$ Commented Jul 21, 2015 at 15:59
  • $\begingroup$ Todd already did it. $\endgroup$ Commented Jul 21, 2015 at 16:39
  • $\begingroup$ Sorry about that guys, didn't read the comments closely enough on that one. $\endgroup$ Commented Jul 21, 2015 at 18:45

2 Answers 2

24
$\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$
1
  • 3
    $\begingroup$ Wow, this is a really cool answer! +1 $\endgroup$
    – Poyo
    Commented Jul 21, 2015 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$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .