Virtual Rigging Model

The rigging of HMS Victory is highly complex, and getting every detail right on the model requires extensive study of books, plans, and contemporary paintings. Since I don’t currently have the space to work on the actual build, I decided to use this time to focus on the rigging instead—tracing the run of each line and identifying its exact belaying point as precisely as possible.

I used Blender to create a model of HMS Victory. Every part of the rigging was built as a Bezier Curve, giving me precise control over its path with just a few control points. In Blender a Bezier Curve can have a “width” which makes it look like a tube with a certain radius.

To manage the sheer number of rigging elements and keep a clear reference to the book chapters, I organized everything into separate Blender scenes. Each scene contained all the objects relevant to a specific rope or fitting and was paired with a fixed camera angle for rendering. For clarity, objects that were either hidden from that viewpoint or unnecessary were excluded. The main elements of each page—the focus of the explanation—were highlighted in red and brown (for blocks), while supporting elements were shown in grey. Serving and worming are indicated in green and blue where present.

This workflow quickly grew into almost 700 scenes. To make rendering manageable, I wrote a Python script that takes a list of scene names and renders them automatically. The script communicates with Blender through its API, prepares each scene consistently, and can handle single, batch, or full re-renders. It saved me hundreds of hours of manual work—and probably a few grey hairs as well.

After several iterations, I developed a page layout that was both informative and visually appealing, while still being reasonably manageable in terms of effort. It soon became clear, however, that this approach had its shortcomings. In some cases, seizings were essential to show. At first, I wanted to leave them out—there are thousands of them—and I didn’t consider them critical, since my main focus was on the overall run of the lines rather than such fine details. But in certain places, the seizings turned out to be indispensable.

After some experimentation, I found a method using Blender’s Shrinkwrap modifier to fit curve rings (the seizings) around other curves (the ropes) like heat-shrink tubing. I then turned this into a Blender add-on with a simple keyboard shortcut. This made it possible to create even complex seizings in seconds.

For detailed representations, I initially planned to use plain curves, but the result looked rather flat. Since I realized that most detailed views would need to be modeled separately from the main rigging anyway, and at the same time discovered a method to make curves look like real twisted rope, I adopted this approach for the detailed illustrations. Unfortunately, the method is too resource-hungry for large overviews, as it requires significant memory during rendering.

With this technique, the ropes are still modeled as curves, but they are assigned a material with a displacement map. This map, based on a texture of strands, alters the surface normals during rendering to give the illusion of real geometry—faces, edges, and depth—without actually increasing the mesh complexity.

A curve without and with a displacement modifier applied.

Here are some sample pages of the book,which is available on Amazon as hardcover print: Rigging First-Rate Ships

Sample page of fore stay arrangement

Sample page of fore stay details

Sample page for blocks on yards

Sample page for the order of ropes on the bowsprit

Screenshot of whole model in Blender

Detail of rigging at fore top (very early stage)

Detail of bobstays and martingales at the bowsprit (very early stage)