Rigging fins
March 2024

After modelling parametric koi bodies which can take a wide range of shapes, it's time to model and rig the fins. Fins are all parts of a koi body that have no volume, so they're rendered as double-sided polygons attached to the koi body. These are much more complicated than the bodies in many ways. While the koi skeleton up until now was just one chain of bones, the fins need many more bones to animate subtle motion. When the body swings to accelerate, fins play different roles; the dorsal fin on the back of the body flattens when speeding up and stands up straight when staying in the same place, the tail fin swings to speed up the koi, and the pectoral fins under the gills are used for steering and small movements. All these fins need their own sets of bones, and fins can be influenced by more bones than the koi body, which enables more granular animations.
The screenshot shows both the dorsal fin and the tail fin. The dorsal fin has the shape of a rectangle, but a texture or distance field will be used to "cut out" the actual fin shape later. This shape can be frilled or detailed in other ways, so it would require too many vertices to model the shape exactly.
When all fins are implemented, the number of bones in a koi skeleton probably more than doubles. To increase performance, I will probably create two koi rigs, one with fully rigged and animated fins, and another one where the fins are not animated separately. They will simply connect to the body spine without producing their own motion. Small movements won't be visible from a distance, so it will probably not be noticeable.
Contrary to the koi in koi farm 1, the different skeletons in koi farm 2 all have their unique animation parameters, so different koi won't just have unique shapes but also unique animation styles.