I am new to Blender (downloaded it this week) and I am currently modeling a very basic wave energy converter. It is supposed to move up and down with the waves and pivot around a rigid connection point. I have manually done this using keyframes to provide an idea of what I am looking for and attached it below. I was wondering if there is a way to do this automatically though so that I can play around with wave size, height, direction, etc. without having to worry about manually adjusting keyframes every couple of frames. When using copy location the object moves up and down on the y-axis (shown below) and I can't figure out to fix the pivot point. Also, when using that method the object doesn't seem to be following the waves very well so if there are any recommendations for that it would be appreciated. Thank you!

Manual rotation keyframing

Copy location

enter image description here

enter image description here


1 Answer 1


The idea is already the right one - you just need to break it down furter. There are 3 different objects here:

  • The float, getting pushed up and down by the waves (copy location)
  • A fixed anchor
  • A connector, pointing from the anchor towards the float (locked track)

We can sample the position the float will have by creating some empties. These get projected (shrinkwrap modifier, project, align to normal ) on to the waves. A single one will do, but averaging over multiple ones makes everything smoother. While doing so we can also copy their direction to make it "follow" the slope of the waves.

The connecting rod needs to have its origin in the pivot point of the anchor. (move 3d cursor to pivot, origin to cursor) Given that the float has its origin in the center, it's just a matter of finding the right axis in the "locked track"-modifier.

float constraint setup

This isn't a physically correct setup, but it is easy to set up and doesn't require any simulations.

in praxis

  • $\begingroup$ Would this still be possible if the connector is rigidly connected to the floating part? I have edited the original post and attached a picture of the Solidworks model this is based on to help visualize what I mean. Thank you! @IsmirEgal $\endgroup$
    – Eric K
    Apr 10, 2023 at 23:33
  • $\begingroup$ Sure - if you model it as one solid piece, you only need "locked track"-Constraints on it to point at the empties. (And to make sure the origin is still on the pivot point on the right) $\endgroup$
    – Ismir Egal
    Apr 11, 2023 at 20:03
  • $\begingroup$ After doing that the locked track command is taking the wrong path. It essentially has the top of the float following the empty instead of the bottom. Therefore, the float is submerged. I have edited the original post with a picture to illustrate. I am sure at this point it is an easy fix but as of yet, I have been unable to figure it out. Thank you! @IsmirEgal $\endgroup$
    – Eric K
    Apr 12, 2023 at 1:12
  • $\begingroup$ You can rotate the model in edit mode around the y (or x) axis untill the part sits at the right height. The center of this rotation has to be in the origin (where our joint would be), so you need to set the "transform pivot point" - which can be found in the center of the header - to "3d cursor" $\endgroup$
    – Ismir Egal
    Apr 13, 2023 at 3:49

You must log in to answer this question.

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