Xebec Project Summary
For this project I wanted to revisit the idea of modeling a fully-rigged ship in Blender. The last time I did this (Frigate Project) my modeling experience wasn’t up to the task and I ended up getting stuck with some mistakes I made early on in the project. This time around I wanted to do a better job of sticking to the non-destructive and generative modeling workflows, as well as exploring a different ship type. I was able to model the entire ship easily using only basic meshes, geometry nodes, the modifier stack, and instancing. These techniques allowed me to make large changes to fundamental components of the ship late in development, and adjust models with ease.
I mostly relied on the modifier stack for this project. I mostly used the Mirror, Solidify, Subdivision, and Boolean modifiers. Geometry nodes were also extremely helpful for two situations that I could not solve with the modifier stack. Those being adding an array modifier to an instanced scene and deforming an instanced scene along a curve. Blender 5.0, which release while I was working on this project, converted the legacy array modifier into a geometry node group. I was immediately able to use this to enable me to create an array on an instanced scene. I used this to place the cannons while also allowing the base cannon to be a collection. For the running rigging, I encountered a situation where I needed a complex rope and pulley object to follow a curve. I didn’t want to join the rope and pulley object in one data block, so I followed a tutorial on re-creating the curve modifier in geometry nodes. This allowed me to deform an instanced collection along a curve.
This project was presented as my final project for CS 541 - Intro to Computer Graphics, where it won best art project. I limited my time on this project to 30 hours since that was the work target for the class.