Multiple Freestyle Edge Mark Sets
I draw comics and use Freestyle extensively in my artwork to create environments and "hard objects" that need to be consistent from panel to panel from multiple angles, and being able to specify certain edges is an invaluable tool; an obstacle I face, however, is that I'm limited to one type of specified freestyle marking.
As an example scenario: Let's say that I'm modeling a helmet for NPR rendering, and I set up a line set that draws lines on creases 90° or greater—however, there are specific creases I want Freestyle to ignore, so I mark those edges and force the line set to ignore them.
But now, let's say there are other edges I also specifically want to always draw. Normally I would have a line set that draws marked edges, but in this case I've already used marked edges to ignore certain creases. I don't have an intuitive way to separately mark forced edges, and the workarounds are kludgy and limited.
Probably the best workaround I can use is to duplicate the object and mark the forced edges on the duplicate, then render two passes and comp them together; however, if after marking those edges I want to modify the helmet, I have to modify both. The simplest way to do that is to modify the original and then re-duplicate the helmet after modification, but then I have to re-mark all the forced edges again on the new version of the helmet, which is tedious and error-prone.
An ideal solution would be to have multiple Freestyle marking sets. In essence, in the helmet example, the ignored edges could be "set 0", and the forced edges could be "set 1". Individual freestyle sets could be shown and hidden using the Overlays panel. Ideally, you could also rename freestyle sets for organization purposes—in the helmet example, we'd probably use "ignore crease" and "forced edges".
A feature like this would dramatically increase the power of Freestyle by making it possible to more finely control how complex linework is rendered. Would this be reasonably feasible?
2 Comments
this is a MUST. I'm struggling with freestyle edges too with some buildings i'm modelling. i need very small details for windws, but also bigger strokes for outside walls. since it's buildings, almost everything has angles of 90º, so angles and such give me no control at al.
I requested this some time ago also:
This is a request to solve a huge difficulty I've been having with Freestyle in a project now for a year, and not exactly a bug, but definitely an oversight.
At present Freestyle has a global crease angle setting that applies to all LineSets.
I'm requesting the ability to adjust crease angle on LineSets independently, instead of the global setting.
When the Collection constraint is applied to a LineSet there are two problems:
a) Only one Collection can be selected. Would it be possible to add the ability to select multiple collections?
b) It doesn't work recursively for collections inside the selected collection. Could a recursive option be added?
REASONS: In a complex scene that can contain hundreds of meshes of different types, the crease angle is perhaps the most powerful feature for adjusting Freestyle lines. However, the best crease angle isn't the same across a scene.
Objects are placed in deep Collection hierarchies by TYPE, and many collections can exist. However, TYPE has nothing to do with Freestyle options; and it doesn't make sense to change the entire scene hierarchy just for Freestyle when the best render typically requires a lot of LineSet tweaking. The limitations (1) and (2) above mean that every collection must be given it's own Freestyle LineSet at present, so there can be many, and it becomes a huge pain in complex scenes. In addition, when global adjustments are required, LineSets have to be edited independently. This is OK, except due to the current limitations (both crease angle and collections) at present require too many LineSets.