This approach might give you a good start.
First job, get some tilting strata-lines, at randomish intervals up Z, slicing through the mesh in XY:
- A 1D Voronoi gives us random width bands, each with their own XY UV.
- Lines are drawn into the UV-cells, by taking a delta threshold on the dot product of the cell UV coordinate with a given (perpendicular) vector
- The lines are randomly tilted per-band, within given limits.
- But, since they are going to be projected through a 3D surface, the line thickness has to be corrected according to the surface normal, in a similar way to this answer
This group can be used in some way like this:
- A Shader to RGB node divides the light response of the surface into 2 bands; light/dark.
- The Strata lines invert the light/dark mask, so, as in your reference, you have shadow-color lines on lit surfaces, and vice-versa
- The whole Object Texture-Space is tilted and randomized by Noise, before use. This lets you introduce a little curl ( Multiply, and Noise settings) and overall tilt (Add)
I've found that variations are quite easy to create, and not bad for control...
Improvements might include deciding on a style for 3-level light-dark banding, overlaying object-shadows.