The goal of my Line Art addon is not merely to offer a source of Screen Space Extraction (aka post-process) line art, but to actually offer a fully functionable workflow. SSE lines are commonly used based on Depth and Normals in games for things like highlighting selections, but they aren't commonly used for high detail line art because they are hard to control. They allow very advanced results, but you have to setup the inputs for them.
My toolset is not just about extracting lines, but giving artist friendly tools to author the necessary mesh data. This clip shows an example of why this matters:
- First, we see regular Normal based lines on the hardsurface headset. These work fine from some angles, but the lines break from others. This is because the detection is based on comparing neighboring pixels and the angle of the Normals there. But those comparisons are in screen space, so as things move, areas can get occluded, or the comparison is between pixels that don't fall exactly on hardsurface edge. These work great on organic shapes where lines won't necessarily follow mesh edge loops, but not well on complex hard surfaces.
- Second, we see Marked Edges. These work slightly better, but still have similar problems. This is because they don't work well if both faces around the marked edge aren't visible and a decent size on the screen. There is 2 levels of subsurf on this mesh, so the marked faces can be very small. Marked edges work on flatter surfaces, but not so well here.
- Third is a proper ID mask. Each area contained by marked edges is set to a different color. Now the lines detect super cleanly because there are solid areas of color. It can detect a difference in the regions even if the actual edge is partly occluded, or the camera very zoomed out.
So we have 3 slightly different options for slightly different use cases. And the third requires the ID groups to be created. So a successful toolset needs to make it easy to do whichever is needed in a specific area, or run some combination. So I am including tools for ID group setup too.
And these will still be useful for other SSE workflows, like the new Raycast node in 5.1, which is doing the same process and has all the same artistic challenges, but we can't feed it arbitrary data yet. But hopefully in 5.2. The addon will support it in the future.
But getting all this figured out and working well is also why it still isn't ready for release 😅