Here is a picture with the latest result of what I could create (links to codepen are below):
The idea is to use splines (curves) to build fish’s body.
All you need is two things:
- Build splines, that define a half of a fish.
- Build a full fish, having those splines.
CatmullRomCurve3, defining top (fish’s back), bottom (fish’s stomach) and side.
Having them, I “sliced” the result set of points, getting control points for frames, where each frame has the same amount of points.
Now, when we have those frames and their points, we can create an array, that we’ll use for
PlaneGeometry. It means, we substitute plane’s vertices with our set, keeping index and uv intact.
Fins are separate distorted plane geometries, that merged all together in a single geometry with the body.
Codepen with the prototype:
Codepen with the final result:
PS Directly related to this topic: Create custom Fish Geometry - #2 by prisoner849
PPS Thanks @hofk for inspiration with visuals from Texture from distorted image, what is the best way to do it?