Art Spotlight: Kaya #gradientchallenge

Back to overview


Hey there! I’m Natascha, a 3D artist working in the mobile team at Star Stable in Sweden. I went to university studying Computer Graphics, which taught a mix of game art and film/VFX graphics, but I’ve always leaned towards games. I tinker with my own games and projects in my free time!

I’ll be showing you how these six gradients are the only textures needed to make this:


This project came to be thanks to the Gradient Character Challenge hosted by Sketchfab together with MinionsArt! The challenge was to create a character using a certain texturing technique, which consisted of using a very limited palette in the form of a texture sheet made up of only gradients, as seen in a lot of MinionsArt’s work.

I found out about the challenge through a colleague who posted a link to Joyce’s tweet about a week before the deadline. I usually work with hand painted 3D so this seemed like a fun challenge. I initially wanted to create a completely new concept for this challenge but changed my mind when I realized a character concept I had been working on for a while would be ideal for this project!


The tools I used for this project:

  • 3ds Max for modelling
  • Photoshop for concept and texturing
  • PureRef for inspiration and reference


I wanted to make a 3D version of a character I had only created a concept sketch for earlier. Kaya is an archer who has made friends with jackdaws and uses their molted feathers for arrow fletchings. Her name is based on the swedish term for jackdaw, “kaja”!

Concept art of Kaya.

Colour palette

This was important considering the theme of the challenge! Since this technique is still fairly new to me, especially the way I went about making this character, I wanted to start out simple. Kaya has a very limited, muted, mostly gray colour palette with a few pops of colour: the iridescence in the feathers. This limited palette allowed me more time to get used to working with the contrast and values, which felt like it might be difficult. Perfect for this challenge!

References & Inspiration

I use PureRef every single day for more things than I can count, and this project was no exception. I usually take to Pinterest, scouring for all the inspiration I can find, even if it’s just a part of an image I like, and dump everything into PureRef. It can be anything from mood and colours, to details on clothing on a character. I use all of this to try to pinpoint the feeling of the piece I want to create. I even grabbed a few environmental art pieces, because presenting the model is a big part of the impression. I like utilizing a small piece of environment around the character to contrast it and help set the mood. I always keep PureRef on the screen in Always on top-mode.

Knowing the limitations of the texture, I looked for specific inspiration from artists I admire that do a lot with very little. Of course, I picked up a bunch of Joyce’s tutorials from her Twitter (@Minionsart). Heather Penn(@heatpenn) is another inspiring artist who is great at making an impact with just a few colours and controlling the light. I love the art style of the game Ashen, and the game artists are masters at regulating their values and colours, so I took a few screenshots from there too.

I also made a quick sketch of the pose I wanted to achieve to get a feel for the composition.

My references and plans in PureRef.


I was aiming for mobile-friendly low poly, but since I was short of time the model was rather rushed, I focused more on silhouette and shape than a clean, animation-friendly topology. Pretty much everything is mirror-modeled based on a cube or plane in 3ds Max. I try to iterate a lot, take screenshots and paint over roughly in Photoshop. When working on a piece like this I often set up three viewports. One to show “the final image” with a custom camera, one orthographic and one perspective viewport that I do most of the work in.

3 viewport setup for a nice overview.

Usually when creating hand-painted models, the model is basically done when the texturing starts, but in this project, re-modeling is a tool in the texturing, which is up next.

UV & Texturing

This is the fun part! Traditionally, 3D artists are taught to make neat and clean UV maps. Forget that, take a deep breath and have a look at my final UV map:

Bless this mess.

How does it work?

The short answer is that you just unwrap and move your UVs to cover the correct part of the texture representing colour and light. This technique is a shortcut in speed, but not in skill since you will need a good sense of both light and colour. You’ll be faking all of it through the range of your gradient.

Texture setup

My setup in Photoshop consisted of a 256px x 256px document where I placed rectangle Shapes with gradient fills for every main colour from the palette. I recommend a width of at least 8 pixels for every gradient to avoid edge bleeding, and a good range of value between light and dark.

The gradients from left to right are used for:

  1. The environment.
  2. Kaya’s clothes/hair/eyes, the bow string/handle, and the jackdaw.
  3. The iridescence of the feathers.
  4. Kaya’s skin, wood of the bow and leather of the quiver.
  5. The jackdaw’s eyes.
  6. Kaya’s lips.

Gradients 5 and 6 could be much smaller but there was a lot of space available on the texture sheet.

UV mapping

There were mainly two ways I went about UV mapping. Either flat unwrap parts, or grabbing the polygons in a chunk that would occupy similar space on the texture, cutting a seam around them and then moving them there together. I usually start with moving big chunks to the correct gradient, and then adjusting the value ranges along the way. It doesn’t have to be pixel perfect since our brains don’t notice the difference between a few pixels all that well.

The approximate positions of different cloak UV parts on the gradient.

Faking shadows

Sometimes geometry has to be added just to support control of the shadows, like I mentioned in the modelling phase.

Shadow control through UV edges.

Note how the shadow part has a wider range on the gradient while the lighter part is practically in one spot on the map. The edge controls the range and hardness of the shadow. To keep the shadows smooth, let the edge between the polygons stay sewn together. For more dramatic contrast changes, break the seam and move the darker part a significant distance down.

Once I was happy with the contrast, I adjusted the position of the UV chunk according to my concept. The relative values stay the same, so it’s easy to shift the whole thing toward the part of the spectrum you want. Scaling the UV chunk in the Y-axis will increase or decrease the contrast range, while moving it keeps the relative contrast but changes the hue.

White cloak? Black cloak? The possibilities are endless!

I just kept adjusting the ranges in relation to each other until there was a good contrast between every part, which is important with this technique, seeing that you can’t add any details in the texture. Here are the final models and texturing before I started the posing:

Is she wearing a playsuit or was I just lazy when creating shadows… Who knows?!



I didn’t rig anything for the pose due to time constraints; instead, I manually moved around vertices. I don’t recommend this.


Keeping a close eye on my final image camera view, I always knew what the final image would look like, and in the end I added the flying grass and falling feathers to accentuate the flow of the composition.


The final step! Uploading to Sketchfab and adding the last few touches. Sketchfab is great at showing off 3D as artwork and I use it for all my little diorama projects.

My Sketchfab settings for this one are pretty minimal because I wanted the gradients to do most of the work. I set the lighting to unlit, and added a few subtle post-processing filters: sharpen and just a tiny bit of bloom to make her white hair pop. Since Kaya is mostly a blue-ish grey I wanted contrasting background colour that fit the environment, so I chose a dark brown hue.

Here’s the final result, give it a spin!

Thank you for reading! Now you’re ready to try it yourself!

For more of my work and updates on my projects, follow me on Twitter and Instagram.


About the author



Leave a Reply

Your email address will not be published. Required fields are marked *

    Related articles