12.2024

Polynomial Camera Projections for Kattabolt

A sweeping, dramatic angle of a medieval-like town, with figures running into it. A big plume of smoke billows up ahead.

Kattabolt is areyoshi’s incredible web-comic (a fantasy story about Alex, “a ‘Young Ambassador’ sent to the neighboring country of Thandinas to stay with the mysterious and powerful matriarch, Lord Kerri”), which I’ve been lucky enough to be able to assist on! If you haven’t checked it out yet, you totally should; today I wanted to write a bit about a cool techinical principle that helped make the wide landscape zoom in page 32 work out. It’s a dramatic key moment because, at that point in the story – well, read for yourself and then come back! But it was important to underscore the beat with a striking angle and line of motion.

A bit of background: we often use the 3D modelling software Blender to produce our own detailed references for the comic! This allows us to make complicated props and backgrounds more efficiently, and we can use the same model to help us hand-draw multiple angles accurately and effectively. An advantage to using Blender is that we can alter the camera itself, and produce effects that help underscore what a particular panel is trying to achieve.

A fisheye perspective feels like the intuitive solution to our town view – the spherical kinds of lenses that we emulate using this technique have a much wider and more sweeping field of view. But when you put it into practice, it doesn’t quite seem to work! Take a look at the examples below.

A collection of houses rendered in perspective. A collection of houses rendered in traditional fisheye perspective.

The first image is a standard perspectival view of a bunch of houses; the next is an emulation of a basic fisheye lens. The view is certainly dramatic, but the way in which it draws the eye isn’t really conducive to forming a convergent arc of motion; in a sense, in giving everything focus, the traditional fisheye perspective denies any one subject or area from having priority. This is where a fisheye polynomial projection can come in useful.

A collection of houses rendered in polynomial perspective, with the corners of the houses stretched out to the extents of the page.

As far as I can tell, this method was devised to fix any inconsistencies in a simple fisheye rendering emulation! It does this by mapping your image onto points on a sphere and then allowing you to manipulate certain characteristics of that sphere to correct issues with the image. This suits us perfectly because it exposes parameters that we can twist with villainous laughter to our own devices! In the case of page 32 we have shrunk the center of the image’s projection and pulled out its extents, creating that warped look which really pulls the eye into the town and toward the action.

Here are a couple more interesting images. The first is the initial rendered output which provided the polynomial base for inking and developing the final panel. The grid lines helped us to align various other elements to the correct perspective. And the second, well, that’s an example of what happens when you push the polynomial values to their extremes; it’s the same cluster of houses as the ones above!

Rendered wide-angle fisheye view of a townscape, with planning grids rendered above it. An extreme polynomial projection of a collection of houses, creating a very warped effect.

We’re always finding new cool techniques to help achieve effects like this. The smoke in that same panel, for instance, is arranged using Metaballs (very neat implicit surfaces)! Once again I’d highly recommend checking out Kattabolt if you haven’t already (or read through it again if you have – there are many neat details to pick up); You can also support it on Patreon and gain access to a bunch of other super-cool things.

I'm apricot! I make the fantasy webcomic Kattabolt, about spunky cat girl Alex ⚡🐱 kattabolt.carrd.co kattabolt.com areyoshi.com I post about Pokemon, my pets, & my OCs. If you like middle-aged men with issues who fall in love: hello, ask me about my #OC ship called Kibble. I have no self control.

[image or embed]

— apricot (@areyoshi.bsky.social) October 17, 2024 at 3:12 PM