• Advertisement
Sign in to follow this  

cmyk vs real world paint mixing

Recommended Posts

Hello, I have become tempted to work on a colour mixing game but I am unfamiliar with the problem domain. My first thoughts were to use cmyk but I recall having read something somewhere at sometime suggesting there were issues with using cmyk to simulate real world paint mixing. Is this just due to the fact it's an imperfect model, and that pain pigments vary by brand ever so slightly? 

 

What am I missing?  Your guidance is appreciated. 

ps. I placed it in this subforum because it seemed the most appropriate place to ask ...if I was mistaken I apologise. 

 

Share this post


Link to post
Share on other sites
Advertisement

From the sounds of it that is something I sort of expected, but I don't want my game to have real world colour mixing issues. From what you're saying the mental model rby or cmyk an artist might use will mix in a relatively unpredictable manner due to the fact that pigments reduce the colour spectrum reflected by an object or pigment in the real world. 

Given that my game is just about mixing colour with an ideal subtractive model, and knowing that the screen can only produce a limited gamut, is there any real issue with just using cmyk? The idea of my game is that you will pick up pigment from pixels on the screen as you move your brush around trying to mix a target colour only being expected to come within a fair error margin of that colour. 

Can you help me identify some of the issues that will arise? Is there a better model than cmyk? Is this problem considerably harder or less achievable than I imagine? 

Share this post


Link to post
Share on other sites

It has nothing to do with brand.


My first thoughts were to use cmyk but I recall having read something somewhere at sometime suggesting there were issues with using cmyk to simulate real world paint mixing. Is this just due to the fact it's an imperfect model, and that pain pigments vary by brand ever so slightly?

The models try to cover all colors perceived by human eyes, each has its problems: or it is the lack of covered colors or it is the assumption that the different components have the same photon emission intensity (for example, that 0.3 of red has the same intensity as 0.3 of green).

 

The color in monitor is accomplished by the use of light emission, by three components (RGB):

Pixel_geometry_01_Pengo.jpg

Now, when when the emission is intense in each of these components, the result is lighter color (white). Like what happens with the sun, the white light is result of the intense emision in the color spectrum. That is why this is called addtive color.

Monitors operate this way, with additive colors, no escape there. But, what a model like CYMK tries accomplish is to convert this additive to a subtractive color (with a formula), which is more like pigments. With pigments, the more color you mix, the more dark the result is.

Why pigment combination has this subtractive behavior? Because pigments absorb light. A pigment is green because it reflects the green and absorbs the other colors in the spectrum.

No matter what model you choose, not all colors visible by the human eyes will be displayed in the monitor, but it's useful to use a color space that cover more colors if you want the image to be printed.

Share this post


Link to post
Share on other sites

Note that

R+G = y

G+C = c

B+R = m

So both RGB and cmy can be used to describe the same colors (of course).

The difference is the mixing mode, when we talk about RGB we usually use additive mixing (adding clored light together),

and for CMYK we use subtractive mixing (mixing pigments)

The K (black) exists mainly because we want to print sharp black text letters. Mixing CMY also gives black but it's hard to print 3 colors perfectly aligned so letters don't get blurry and have colorful edges.

 

For most people subtractive mixing is much more intuitive, if they used to paint in their childhood.

Maybe today when children use more computers than paper this has changed?

 

However, the only color mixer i find comfortable is this:

Hue (rotates the rainbow to get the color)

Brightness (change it towards it black or white)

Saturation (reduce it to make the color more gray and less pure)

 

Again, 3 values, but it's the qickest way to get the color i want. You should consider this too (assuming it would not make the game too easy)

Share this post


Link to post
Share on other sites

Well, no, I know that much but I said by brands assuming that within a brand they use a specific recipe that has predictable mixing properties and thus why artists pick a brand and stick with them. I believe the point the fellow was making before was about the fact there are multiple ways you could achieve a pigment that reflects the desires spectrum and so although they look alike when you mix them you will result in potentially different reflected spectrums. 

But I don't really need to worry about real world properties, only what people expect to happen, and people expect is more in line with what computers say? you mix an equal proportion of yellow and magenta and you will get a red hue. It might be that two different real world paints due to their real world recipes will mix to a different red hue or reduce shade that hue in some way or something, but that would be counter to what people imagine because people learn these theoretical colour models to begin with?

so colour mixing in the real world is more art that science but what would be a problem that would arise from making a game that uses cmyk with imperfect gamut to mix colour. 

 

 I realise that computers create an illusion by using rgb, each having a type of cone in the human eye closest to that associated wavelength. 

I realise that screens have a limited gamut, and even that the gamut varies by device and technology. 

I hope that I'm not missing something here but so far I still can't think of a reason why cmyk would be a bad idea. 

Share this post


Link to post
Share on other sites


However, the only color mixer i find comfortable is this:
Hue (rotates the rainbow to get the color)
Brightness (change it towards it black or white)
Saturation (reduce it to make the color more gray and less pure)
 
Again, 3 values, but it's the qickest way to get the color i want. You should consider this too (assuming it would not make the game too easy)

This is very true. HSV/HSL/HSB are just a way of represent RGB, but much more intuitive for painting than providing an RGB scale. And easier to make the conversion. If printing isn't part of your project, go with these.

Edited by felipefsdev

Share this post


Link to post
Share on other sites

@JoeJ My game doesn't allow the user to manage any sliders or anything, instead they essentially have a colour mixing brush that mixes each pixel as if wet paint into their brush. So they need to be aware of course that cmyk being a subtractive model will mean that they cant mix white for example. The colour model is abstracted away and all they are presented is some pixels(wet paint) and a brush they can drag through those pixels to mix a target colour. 

Share this post


Link to post
Share on other sites

Agree, cmyk is intuitive. Here are the problems i've had with cmyk from my time as an artist of printed media:

Printed cmyk has low saturation in comparision with screen RGB, especially blue. (Probably irrelevant for you)

There are infinite possibilities to mix a darker color bacuse you have an additional black tone - they look equal on screen, but different on paper. (irrelevant as well)

You can easily make a color darker by adding black, but to make a saturated color lighter, you have to reduce all involved colors seperately. But those Paint Programms don't offer a way to do this automatically. You first move the cyan slider, which also changes hue and you don't want this, then you move the magenta slider to get back to initial hue, oh sh*t, it's too bright, repeat the process to the other direction... (Maybe this annoying thing can be used to create a game mechanic. And maybe you want to remove black at all and use just cmy, or add a white color to avoid this problem, so CMYKW :)


@JoeJ My game doesn't allow the user to manage any sliders or anything, instead they essentially have a colour mixing brush that mixes each pixel as if wet paint into their brush. So they need to be aware of course that cmyk being a subtractive model will mean that they cant mix white for example. The colour model is abstracted away and all they are presented is some pixels(wet paint) and a brush they can drag through those pixels to mix a target colour. 

Oh, get it. There is software that is actually doing this for professional use. I think the name was "Painter" and it was initially a Macintosch program.

Share this post


Link to post
Share on other sites

It's nice to hear the perspective of a print artist!

I might as well explain the gist of the game so that you guys can help me understand if there would be any problems with using cmyk.

Imagine that there is a palette a paint palette in the sense of a physical one, just a screen shaped holder of wet paints. There is a brush that can only move in two dimensions, perhaps because the screen is a physical block, and the player can drag the brush around by using their finger like a magnet, forcing it to follow the players trail. The players objective is to mix a specified colour and get the brush to the exit point with that colour on their brush, perhaps continuing the screen and magnet analogy the exit can be a hole which will free the brush and the pigment on it. 

Some key colour will be specified as the colour of the palette itself, all other colours are wet paint. Every pixel will mix into your brush, some volume of pigment will be on your brush, maybe 5 drops of paint on the brush. So if you have a brush saturated with pure yellow hue (0,0,100,0) then you draw your brush over 5 magenta pigments you would get the red hue you'd get by mixing magenta and yellow in equal measure. 

 

So essentially its a path plotting game through colour space.

The player would get some score by getting closer to the colour, perhaps imaging the cmyk colour wheel like in this image I found on google images 

07c516aa4e6cc118be2ab01d388936a7.jpg

 

if the user got withing the right block of colour regardless of whether the colour code is an exact match or not, then they'd get a top score. If they were a shade or tint off they'd maybe get a reduced score but it would still be passable etc.

The only problems I can foresee would revolve around ensuring I generate solvable problems, especially in the case of independently animated sprites that would introduce a temporal element. But I can't think of any issues revolving around using cmyk.

 

ps. I tried to find this programme you mention for reference but googling painter and even painter software didn't help much. Any links? 

Share this post


Link to post
Share on other sites

Seems Corel bought it up, so Corel Painter is the actual name.

For your game i'd create a quick prototype to see if it's fun and challenging. Probably you need additional ideas to make it interesting.

To measure the color error you can just treat a RGB triple as a 3D point and take the distance to the target color. The colorwheel image just makes this unnecessary complicated (2D color wheels always miss one dimension, your image has hue and brightness but no saturation.) I would measure the error in hue, brightness, saturation values and rate hue error higher than brightness, and brightness error higher than saturation. Probably this would be more fair as it's closer to human perception.

I would not stick to CMY as primary colors at all, you can just use any colors.

Share this post


Link to post
Share on other sites

I will make a quick prototype at some point soon, I wont be able to for a day or two though. I am pretty sure this mechanic can easily be made challenging, possibly too much so, hence the error margin. The fewer colours, animated elements and the more 'dry' space (space lacking wet paint before your own trail) the easier, but the more colours, animated elements and little to no dry space and you're going to have a hard time mixing the colour you want before getting tangled up in your own paint trail. Especially if you make a mess of the colours lighter than your target then it could become impossible to solve without starting over.

 

The computer would use an appropriate colour space, but users would be presented with the cyan magenta and yellow as primaries and it would be using a subtractive model as in real world paint mixing. A painter of a physical medium should be able to pick up the game and mix colours in a way that's relatively familiar. Painters usually use a colour wheel, though they often for some reason use the inaccurate ryb wheel some use cmy which are more accurate primary colours. 

 

It is essentially just a pain mixing game, where the player needs only knowledge of the colour wheel and is provided some target colour they need to mix. The point it becomes a more complicated challenge is when I forbid them from lifting the brush from the palette, so if they move the brush they paint a trail behind them if their brush is soaked and if they leave their brush in the path of some animated element then even if they don't move the brush then it will become mixed in a potentially undesirable manner. 

 

Essentially it just colour picks from the pixel below, mixes that into the colour on your brush, then paints the pixel it read from with that colour on the brush. so everywhere you drag your brush you adjust the colour on your brush and leave a trail of new colour behind. A trail that can be used for mixing later if needed, or a trail that can become an obstacle if you're not careful.

cyan magenta and yellow make sense for a painter in real world colour mixing so it makes sense to me that I should use that as my colour model.  It also seems to make sense to me that you would get rewarded for the correct value range, and similar hue and chroma/saturation etc.  

Share this post


Link to post
Share on other sites

Ok, here are some problems i expect related to colors:

Color perception depends on the surrounding of a focused color, this could irritate the player, he might think he's on track and at some point he may feel frustrated if the error is larger than he thinks and it feels unpredictable or unfair. (All games i know that use color mixing for puzzles have those issues, but i can't name examples.)

Humans can detect an accurate value for hue (we can say if a red tone goes more towards yellow or more towards blue). Brightness and saturation are only relative to another color, but we have no way to 'number' it for a single color. (So you could make early levels easier by putting the focus on only two primary colors).

Many people might have no idea that e.g. magenta and cyan mixes to blue. They are used to their water color set where 6 basic colors are available and they didn't need to know how to mix with only 3 colors. You need to train them, again by focusing on 2 colors initially. (Or provide them full spectrum of 6 basic colors RyGcBm - i don't see a need to display numeric color values to the user, so there is also no need to limit your game to only 3 of them.)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Advertisement