3
$\begingroup$

I have been desiring an answer to the following question, How can I create an outline around an object? for a while now.

Below are 3 of my closest attempts.

Attempt 1 Outline Attempt 1

In my first attempt, I flattened my geometry against camera view, extruded it into a tube, and then shrink-wrapped a curve around it to make my outline.

enter image description here

The problem? This attempt will not create a proper outline for every kind of mesh. In particular, meshes with islands, and meshes with long appendages that cover gaps.

Attempt 2 Outline Attempt 2

For my second attempt, I spammed points around the outer edges of the mesh according to camera view. Afterwards, I sorted the points by their indices and set my outline over these points.

enter image description here

Problem? A sketchy outline. There weren't many examples of how to sort points by indices when I was looking through for answers. My points weren't sorted as intended.

Attempt 3 Outline Attempt 3

Following after my second attempt, I decided to connect the points by nearest with instanced lines.

enter image description here

Problem? A dotted/hidden outline. Not all points connected.

Any help/input would be much appreciated.

Blender 3.6.4

$\endgroup$
7
  • $\begingroup$ did you try making a Freznel affect as a mask? use a dot product between the the direction to the camara and the normal. and then remove the rest with the raycast (aka backface culling). make sure to do the raycast first, capture it, to the Freznel deletion then do the captured raycast deletion. $\endgroup$
    – shmuel
    Commented Oct 10, 2023 at 6:08
  • $\begingroup$ I don't follow the extrusion logic in attempt 1, but I think it's wrong. think about a simple case first: orthogonal view, looking from up, you scale everything on $z$ to 0, extrude edges up, raycast on them. obviously you won't get an outline inside "holes" (in a projection), and concavities pose a problem to shrinkwrapping, but your problem doesn't seem to be caused by either. $\endgroup$ Commented Oct 10, 2023 at 12:47
  • $\begingroup$ @shmuel Wow, Backface Culling? That looks like a really old-fashioned method. I do not mean to sound patronizing but, my intention was to make an outline according to this question; How can I create an outline around an object?. $\endgroup$
    – Obfuscate
    Commented Oct 10, 2023 at 21:44
  • $\begingroup$ Apologies to all for the lack of detail in Attempt 1. In the Extrusion section, I had to offset my tube (either before or after the Extrusion) because my shrinkwrap did not know which edge to shrinkwrap to (try muting Extrude Mesh -0.1m node and using the move tool on Suzanne). Upon flattening my mesh, faces not visible to camera view were reprojected facing away from the camera view. When extruded, these faces would be extruded into a second tube, moving in the opposite direction. I simply picked one half of the tube with a Separate Geometry Node. $\endgroup$
    – Obfuscate
    Commented Oct 10, 2023 at 22:11
  • $\begingroup$ @Markus von Broady I agree mostly with what you're saying. Much of Attempt 1 was completed with Trial and Error. Simply put, the problem with Attempt 1 is that it won't work for every mesh in my opinion. Although, I'm not quite sure what you're suggesting is the main cause for its defectiveness. $\endgroup$
    – Obfuscate
    Commented Oct 10, 2023 at 22:24

0

You must log in to answer this question.

Browse other questions tagged .