18th century navy cutter flyby animation

Hi all,
After having launched my 18th century navy cutter, I would like to put it into a more complex scene with some animation. I have always been fascinated by some pictures from a 007 Bond movie that plays in Thailand’s Phang Nga bay. That will inspire the setting.

Here is the plan:
Basic scene:

  • Create a master rock with some vegetation (hair type particles)
  • Distribute rocks with variations (size, rotation) in the scene
  • Add underwater surface with color variations for deep or shallow water
  • Add sea surface made with ocean modifier
  • Add sky dome (360 degree image from 3D world magazine)
  • Some mist for distant objects


  • Animated waves by driver


  • Positioning by curve/spline
  • Animated by follow path constraint


  • Path defined by curve/spline
  • ship rolls and gears (driver)
  • Ship movement creates small changes in the sail position
  • Flag is moved by wind (animated displacement texture)
  • Animated Spray at bow (that will be the difficult part and need some experiments : particles? Dependency of ship rolling?)


  • Some birds/seagulls following the ship (boid type particles)


  • 60 seconds of animation, 25 f/s, 1500 frames
  • HDTV format
  • Ship speed is 10 knots = 18,5 Km/h = 5,1 m/sec
  • Ship movement in 60 seconds = 308 m = 1010 feet
  • Wave height = 1 m, wave length about 10 m -> ship’s bow makes a dip every 2 seconds (?)
  • Sea surface has a size of 500x500 m, tile size is 100x100 m

Here are some initial picture for the rock formations. Rock height is 80 m.
Model starts with a polysphere and some tweeking with basic scale/move transformations.
Second step is subdivision surface (x3) and a displacement modifier. Map is generated from rock texture with high pass filter and smoothing. The rock is asymmetric to provide different views when rotated.
Texture is just a photo I once made from a rock formation, UV mapped.
Final touch are some bushes on top using a particle system (hair type). The distribution is controlled by a weight map.
Bush model is made with Arbato.

Several copies of the master rock are placed on a low-res mesh that represents the sea bottom. Different colors show different depth levels. After adding a sea surface and a cloud background I get an environment for the ship animation.

Hi guys,
This is the next building block for the scene; animated spray at the waterline.
The idea is to utilize a particle system. As emitter I use a small mesh at the waterline.

The result in an animation:

The foam is too even and needs more modulation.

I have changed the particle object from a sphere to a small mesh with a spray texture.

Here is a test video with spray. Speed is too high. No wave movement, no ship movement. That will be the next step.

Woaw very impressive work ! Last video looks great, the final one will be excellent !

The new version has a moving camera, ship going up and down, flags moved by wind.
Bow wave and spray is not conving on short distance. Needs some further experiments.
Water animation is next.

Wow, this is looking amazing! I know you haven’t addressed a lot and are going to be working at some things, but I think you need to get some more fluttering of the large sails and some sway to make them more believable. Looking great, can’t wait for an update!

That’s really great. It’s very convincing already! How long did this take to render?

Great !
I’ll wait for the update…

Hi all,
Here is the next building block for the animation : a flock of birds.
I used the particle system with particles of type : boid.

  1. Model a bird as low poly mesh. We will only see them from a distance.
  2. Create 3 shape keys : neutral wing position, wings up, wings down.
  3. Add 2 F-curves to animate the shape keys.
  4. To have more variation in the flock, I created two copies of the basic bird. The F-curves are shifted for each bird to get different shapes.
  5. Add the 3 birds to a group and link this group to the particle system.
    Here are the birds:

The boid brain gets 2 commands : “seperate” and “follow leader”. Target is a mesh on the ship. Here is the result:

The seagulls look great! The ship looks amazing. I really like the little fluttering of the flags. The rocks are really great too! Great job with the texturing and vegetation. Even the rendering look great! This is shaping up to be a great project.

So, I know your not done and all this may be temporary but there are a few things that are really standing out to me when I look at this: First is the scale of the vegetation on the rocks. It doesn’t seem to match the scale of the ship and sea. They look more like giant lichen rather then bushes. They do look amazing at that but just not the right scale. Maybe it’s just that they appear to be growing out at an angle (from the normals of the rock’s geometry maybe?) rather then straight up. I think this helps make them look more like lichen.

Second is the motion. I know this is just you first pass at this but the ship is moving really, really fast. on top of that the up and down motion seems odd and a bit like lurching up and lurching down.

The last thing is something I see a lot in flybys. There is a tendency to add way to much motion. this can really take away from all the great work you did because your eyes are trying to hard to track all the different points of interest. It can also counteract the animation of the ship and make it look wrong. To me (IMHO) With flybys, less is more. spend some time and give your viewers something to look at.

Great work so far!

The boid seagulls are really cool!

By the way, there’s a really great tutorial on the ocean modifier and shader and making things bob about in the water here:

Thank you for the link. That tutorial is exactly what I’m looking for. Had thought about dynamic paint but never used it. I have to verify what will happen if I have an ocean consisting of repeated tiles. Will the paint be repeated?
I’ll try to follow your other hints. Balancing the timing of the whole flyby will be the final step.

Here are my results of experimenting with foam and waves.

  1. Dynamic paint works but - due to the large ocean mesh - slows everythig down. I assume that handling the additional data layers need a lot CPU time, at least on my machine. Some weird things happened. The sea surface mesh would not be displayed in solid mode.
  2. I looked for an alternative and Blender doesn’t disappoint you : shrinkwrap modifier is a solution.
    A small mesh projected on the ocen waves with a foam texture is a good enough solution for my specific case. Not as flexible as dynamic paint but faster.
    See results below.
    My thanks to BlenderHD for the nice example of a better water material.

Kudos for sticking to such a huge project! I wish my attention span were so long. The displaced rock formations are super effective and your camera movement is tasteful and smooth. There’s only one grand issue I noticed - the flag is blowing the wrong way; it too would be blown forward by the strong back wind that fills the sails.

PS - I downloaded Arbato and get some .py errors when trying to import obj’s it creates. I’m anxious to use it. Did you have any similar issues?

Hi HelloHiHola,
The direction of the flag is (somehow) correct. The wind comes from the starboard side, a little bit from the fore direction. If you add the virtual wind created by the movement of the ship, the flag will go to the lee side, a little bit to aft. I would have to render a view from top to show that relation.

I had never any problem with Arbato .obj’s. Maybe access control/ admin rights issues?

Here is the current state of the animation.
About 300 frames stretched to 24 seconds at 25 fps. Render time ~ 2 minutes per frame at 100 samples on a 580GTX.
Timing is not yet final. Everything has to slow down a bit.
Boids do not follow the ship. Its time for fine tuning.

Really is coming along nicely, the bob seems off to me… almost like you may might want to randomize it more, possibly even not make it so dramatic at times. Take a look at this video, seems like they are in some pretty rough waters, similar to yours. http://www.youtube.com/watch?v=J-PUiUoXC2A

Impressive! :slight_smile: