If i had a scene that included a transparent image mapped to a plane, let's say a leaf for example, and i wanted to remove all shading from that object and make it one flat colour, while also keeping the same alpha channel (transparency) on it, how would i go about doing that? I can nearly achieve the effect i want by using a principled shader with ONLY the alpha input of the transparent image and the diffuse input just set to one colour. the only problem is that its still shaded while i want a flat colour.

the reason i want to do this is since i do alot of post processing and having a render where every object is a unique flat color makes it easier to select various parts of it in photo editing programs.

i'm using Eevee for reference, and thanks in advance and please comment if there is anything i didn't make clear.

enter image description hereenter image description here


1 Answer 1


Shader for flat output

The closest you are going to get to flat rendered images requires:

  • No lights in your scene
  • Set the world shader's color to pure white.
  • Set the world shader to the same strength as you use with your emission shaders.
  • Use the above shader node group on all of your materials, leaving the strength at 1 but changing the emission color for each material.
  • $\begingroup$ as stated in the question this will not work as i require unshaded flat colour. but thanks anyways. $\endgroup$ May 5, 2022 at 18:07
  • $\begingroup$ @Stagbeetle -- in the above Marty is using the image only for the alpha -- where to allow the coloring. The BSDF is then using a single (flat?) color (purple in this case) for the flat color. $\endgroup$
    – james_t
    May 5, 2022 at 19:13
  • $\begingroup$ @Stagbeetle The whole purpose of a render is to calculate the interaction of light with materials. You can't accomplish your goal completely, but the above is as close as you will get. $\endgroup$ May 5, 2022 at 22:47
  • $\begingroup$ this new method you showed works pretty well. Thanks! this'll work for my purposes. $\endgroup$ May 5, 2022 at 23:27
  • 1
    $\begingroup$ @Stagbeetle You're welcome. Sorry I didn't fully appreciate what you were trying to do when I wrote the first answer. $\endgroup$ May 5, 2022 at 23:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .