5
$\begingroup$

I have several objects that intersect each other: Objects

I would like to draw lines on the silhouette and key details with Freestyle, however Blender does detect intersections between objects and gives a very strange result: Incorrect

What I'm trying to make is something like this: Correct

Note: This is just an example, what I'm trying to do has about 10 highly detailed objects which intersect each other, so manually combining them is not possible.

Is it possible to make Freestyle detect edges at face intersections? If not, is there a simple way of combining the objects to create a single object with the outer faces of all the objects?

$\endgroup$
0

2 Answers 2

4
$\begingroup$

Short answer, no, Freestyle doesn't currently support detecting face intersections so what you want to achieve is basically impossible to do at this time, as far as I know.

There has to actually exist an edge there so Blender can detect the intersection and place a Freestyle stroke where it belongs.

Ideally you would build your model accordingly, so that there would be no intersections and your model is correctly shaped with no "inside" faces.

Otherwise you may try to use boolean operations through the Boolean Modifier and automatically intersect your objects and let Blender create said edges.

Have in mind that boolean operations have limitations, and will only work on closed, manifold meshes with no duplicate vertex or edges, consistent normals and non coplanar faces. Failing to do so will often result in unsuccessful operations.

Also boolean operations only work on two objects at a time, so if you have lots and lots of objects it will quickly become unpractical since you would have to preform Boolean operations for every possible combination of pairs of objects.

You will also end up with bad topology all over your model.

Search this site for Boolean, there's about one question of those every day. You will encounter most often found problems, caveats and solutions for them.

$\endgroup$
2
  • $\begingroup$ I used the Boolean modifier to make the correctly rendered example cubes, but it was impractical to use with the numbers of objects that I have. $\endgroup$ Commented May 14, 2016 at 1:57
  • $\begingroup$ I feared as much, I'd advise then using a different modelling technique if you want to use freestyle, one that is more compatible with its limitations and creates "correct" non intersecting geometry. Alternatively you could try this addon, though I am not sure you won't run into the same problem blenderartists.org/forum/… $\endgroup$ Commented May 14, 2016 at 2:40
1
$\begingroup$

This is still aparently not possible with freestyle but can be faked in the compositor. See How can render overlapped object's edge freestyle line? for how this can be achieved.

$\endgroup$

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