1
$\begingroup$

I am using robotic painting to render an animation and I am limited to a set of 10 colors which I can paint with.

I want to create a setup in blender in which I designate those 10 colors as materials and apply them to objects/characters. The final image should consist of only those colors so that the parser can sense the rgb values and create robot code respectively.

Essentially, I don't want any lighting, antialiasing, or variation from these 10 colors in the cycles render result.

I cannot figure out how to keep lighting from affecting the final color values which are flat shading objects.

How can I do this in blender?

$\endgroup$
  • 1
    $\begingroup$ Just a check, why are you using Cycles? (You'll still be able to do it, by extracting color passes, but....) it seems a waste if all you want to see is flat color? $\endgroup$ – Robin Betts Sep 20 '19 at 20:47
0
$\begingroup$

if you want a flat color in Cycles you have to use the emission shader.

enter image description here

$\endgroup$
0
$\begingroup$

Use compositing:

  • create your scene with your objects and use 10 different materials (it doesn't matter their color for now) and enable Material passes

enter image description here

  • give to each material a different ID index

enter image description here

  • in the compositor use ID masks like in the picture to replace the objects with your solid flat colors (you need to put the colors you want in the Alpha Over nodes)

enter image description here

$\endgroup$
0
$\begingroup$

Or try this- lose anything resembling a shader and just input your colour directly into the 'surface' output in the nodes, and drop your render samples to 1 (Eevee or cycles) and off you go... enter image description here

Looks fairly flat & not anti-aliased to me...

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.