8
$\begingroup$

I've got a simple question that likely has a very complicated answer.

Simple enough, I need to know how to make these freestyle lines completely sharp. I'm trying to make pixel art. By default, freestyle has some hefty anti aliasing. I don't know which settings to change in order to make the lines totally solid, and I haven't been able to figure it out.

anti-aliased freestyle lines

$\endgroup$
2
  • $\begingroup$ I think AA is a property of the renderer rather than freestyle? Have you tried rendering with samples set to 1? $\endgroup$
    – hekete
    Aug 18, 2019 at 7:17
  • $\begingroup$ One option could be to pixellate a higher resolution render using the compositor. $\endgroup$
    – Tavi Kohn
    Aug 18, 2019 at 11:00

3 Answers 3

7
$\begingroup$

I figured it out!

Set the sampling to 1, and it will get the effect extremely close, I might have to touch these up a little bit in a 2D art tool, but the effort will be minimal.

enter image description here

$\endgroup$
3
  • $\begingroup$ This is a great way to make 2d pixel art. $\endgroup$
    – Millard
    Aug 26, 2019 at 19:06
  • $\begingroup$ Can you show your shader nodes for this flat shading? $\endgroup$
    – user99579
    Jul 31, 2020 at 16:48
  • $\begingroup$ Doesn't work when the freestyle line is thin and/or the output is small (32px). Well, it "works" but the black outline bleeds horribly in unexpected pixels everywhere and the result looks very bad. $\endgroup$
    – int_ua
    Jul 10, 2021 at 11:31
1
$\begingroup$

Seems you can't switch off antialiasing for Freestyle, and you'd be better probably with separating the rendering twice - once with freestyle but with layer material override set to emission white. Then you can use thresholds in the compositor to Make the freestyle pass completely black/ transparent (use math node - larger than). It seems the render itself is pixelated enough, so there won't be a problem.

Read more about View layers here: https://docs.blender.org/manual/en/latest/render/layers/layers.html#view-layers

And material override here:

https://docs.blender.org/manual/en/latest/render/layers/layers.html#override

Find material override here:

$\endgroup$
3
  • $\begingroup$ It looks like material override isn't available in the new blender 2.8, I did a lot of digging and just couldn't find it. I did manage to get the render layers separated though. $\endgroup$
    – Humble Hat
    Aug 21, 2019 at 6:43
  • $\begingroup$ it's there, just tested and added a picture here too. $\endgroup$ Aug 23, 2019 at 12:01
  • $\begingroup$ OH! Gotta be in cycles render. The option isn't available for eevee. Oh no :c I'll have to remake all of my materials, wont I? $\endgroup$
    – Humble Hat
    Aug 26, 2019 at 16:06
0
$\begingroup$

You can set Constant in the ColorRamp. In the render properties->Color Management->look->high contrast

$\endgroup$

You must log in to answer this question.

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