5
$\begingroup$

I need to create "Outline highlight effect" on my objects

enter image description here enter image description here

controlled by geometry nodes. Something like in this topic:

How to toggle/highlight interactable items?

but with the use of geometry nodes.

I've tried creating a material with inverted faces and "Backface culling", but this leads to 2 problems:

  1. Lots of unnecessary "highlights".
  2. Noticeably uneven color.

enter image description here

Please let me know if there is a way to fix these problems, or am I the wrong way and there is another, better way?

UPD: Another problem found:

"Highligthing" disappears in some areas

enter image description here

Blend-file: (Blender v 3.6.1)

$\endgroup$
2
  • 1
    $\begingroup$ I'm very sorry to say this, but Geometry Nodes are definitely not the right way to achieve something like this. I would rather look for a shader. $\endgroup$
    – quellenform
    Commented Aug 22, 2023 at 10:59
  • 2
    $\begingroup$ or maybe grease pencil? edge type: silhouette? $\endgroup$
    – Chris
    Commented Aug 22, 2023 at 11:11

1 Answer 1

6
$\begingroup$

In Unity and other game engines this is implemented as a screen space effect. The geometry is dilated in screen space then a single color is applied to it, At the end the real geometry is drawn on top of it. So the effect you want to achieve would be done inside the compositor as a post-processing effect. The realtime compositor currently doesn't support cryptomatte though, but you could use other means to filter out objects.

enter image description here

$\endgroup$
6
  • 1
    $\begingroup$ There's also the lineart modifier as an alternative to geonodes. $\endgroup$ Commented Aug 22, 2023 at 12:28
  • 1
    $\begingroup$ @MarkusvonBroady You are right, although you do have to use different view layers if you don't want the inside half of the stroke to be drawn in front of your object i.sstatic.net/zKFtP.png $\endgroup$
    – Gorgious
    Commented Aug 22, 2023 at 13:54
  • 1
    $\begingroup$ @Gorgious Hi! so I have a similar issue, I need to create an outline like OP but I need it to be a gradient mask going inwards, so I can essentially fray the edges of my objects silhouette in the shader editor. I have played around with your method, and blurring the outline it in compositing but I didn't manage to create what I need. I would GREATLY appreciate your help. Have created multiple posts and asked in blender discord but nothing yielded good results. Here is my discord if you would like to contact me there instead of here through the comments: lpoppi $\endgroup$
    – Poppi
    Commented Aug 24, 2023 at 21:17
  • 1
    $\begingroup$ Instead of distance mode in the dilate node you can use feather which will give you a gradient $\endgroup$
    – Gorgious
    Commented Aug 28, 2023 at 6:41
  • $\begingroup$ @Poppi in case you didn't get the notification $\endgroup$
    – Gorgious
    Commented Aug 28, 2023 at 10:06

You must log in to answer this question.

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