LineRender9000 [Commercial]
I've developed a product that generates line art based on 3d scenes in DAZ Studio. I developed it originally to assist in creating graphic novel-style artwork for my own projects. I tried a lot of different approaches, and I ended up with a fairly flexible toolset that produces constant-width lines. When viewing these promo images, keep in mind that this tool does the line work (only). In all cases these are simple composites of DAZ Studio renders with no post work other than compositing multiple renders together (and adding text on the comic pages).
Credit to @KA1 @DaremoK3 and @djigneo for the promo images.
For achieving a cartoon style, I suggest using an ambient shader or use of the available toon-style shaders. The images by me are using a shader I'm currently developing and testing. I'm certainly happy to share the techniques I used in the art I've generated.
This product is a combination of several things that work together to provide a convenient workflow for generating line art and images.
- Scripted 3Delight render script that generates line art.
- Automation script to render out multiple images
- Custom cameras to portray the scene in different ways
Even though beta testing is over, the beta thread has additional product info and images.
LineRender9000 is scheduled for release early October 2016.
Edit: LineRender9000 is now available on the Daz store.
Comments
Awesome! It's on my must-buy list! :)
I've been following the beta thread and can't wait to get my hands on this!
I've largely shifted over from 3Delight to renders in Iray. Would it work for both?
It's a scripted 3DL render...
I think and hope you will be able to generate the black line art/inking via LR9K then composite with what ever rendering style you want.
Looking forward to the release of this!
Yes, it works that way exactly. The lines have to be the 3delight script, but the automation and compositing support any of the native render options, including iray. So for the portrait above, the following picture is just the LineRender9000 output without the "main color" render composited in. This is 2 line output passes and the main output of the shadow cam.
One of the nice things that came out of beta testing is the shadow cam, which was a development that added a great deal of flexible control over the shadows in the final composition.
I should also mention that the output line & shadow color is user-defined in case you want blue or pink instead of black. I've been using black for the more stereotypical cartoon look.
The images above use 3Delight as the color for the image, using ambient surfaces and solid colors (no textures). But you could certainly just use LineRender9000 for lines and shadows only and add your own color in Photoshop or a program of choice. LR9k can also generate layer masks for that.
See, there are certain Iray-specific shaders I have a great deal of use for, but if I understand this corectly, this renders in a 3Delight form, the user can make the end result save the lines as a PNG transparency, then we could lay that over a separate Iray render with something like Photoshop?
Essentially yes - the LR9k autorender script would also allows you to select the render engine you want to use for a pass - so you could set up the first camera with an iRay render, then the 2nd 3rd and forth renders using Linerender 9000's scripted 3delight render (i.e. 2nd render outline, 3rd render Fresnel outline, 4th render shadow cam) in addition to this you could also set up the Composite Cam and have the Autorender script then composite those four outputs for you or composite them in your software of choice (PS, Gimp, PhotoPlus etc)
Does linerender have the same Normals issue where flat surfaces almost perpendicular to the camera end up solid black?
That's my one big struggle with PWToon
No, it does not, although I'm not familiar with pwToon, so I can't comment further on the "why". I do recall having similar issues with trying to control outlining on surface shaders (such as Visual Style Shaders and DAZ Toon surface) where sometimes the outline would be much too large in certain areas, which is part of the reason I pursued getting outlines out as separate, more controllable passes.
Knowing you tinker a bit with shaders, I can tell you that the variety of line output you can get from LineRender9000 is largely dependent one one's creativity with shader cameras.
I look forward to playing with it!
The Normals thing is that one outlining method is simply to use a Normal to draw a line where a surface is perpendicular to the camera. For most stuff, this is great, that surface is basically the 'outer edges' of the figure/object in question.
But if the entire object is close to edge on to the camera, then lots of the surface, possibly all of it, 'counts' as outline. And you get a big black blob.
There's a Geoshells outliner shader thingie that has that problem, PWToon, and one of the outlining modes of ToonyCam (which supports outlining by Normals or Material ID)
I do a lot of iray animation but this looks like an excellent tool for fast movement tests in 3dl. Love to give it a try :)
I was going to buy Poser Pro 11 for this function alone. Have you used PP11? How does your product compare? I'm not sure if by "constant-width lines" you mean that line width is not user-$3-definable. I hope this works because I'm sure it will be less than the $300-500 I would have to spend on Poser.
'm almost afraid to ask...
Will this work in D|S 4.8?
WooHoo! Checked the beta thread and it does!
First, let me attempt to clarify what I mean by constant-width lines. Line thickness is a parameter on the Render settings pane, so it is user adjustable. What I meant to say with that phrase is that the lines do not get thicker because the area is in shadow. That is, I mean to draw a distinction between a style of outlining where all the lines are the same thickness and a style of outlining where certain parts of the lines are significantly thicker for emphasis or to represent shadows. I have come to prefer constant-width lines. I've noticed (particularly with surface-shader-based outlining solutions) that some outlining styles in 3d are awkward to control because the line width varies quite a bit -- even on the same object -- and it increases the complexity because one would have to (try to) specify how thin and thick it can go, and even then there's the "normals" issue that @timmins.william brought up earlier in this thread that adds to the trickiness. So, to be clear, this product mostly generates line work that is always e.g. 1 pixel wide throughout a single render pass.
I haven't used Poser Pro 11, but I did experiment with Poser 10 a little while ago. Enough to convince me that I like DAZ Studio way better, even based on performance alone. I watched a video on the Poser cartoon and outlining features and will try to talk a little bit to comparing the two. It seems pretty similar to several "cartoon render" options I've experimented with, both in Poser and in Daz Studio (3Delight).
The TL;DR here is: Poser would theoretically provide a faster workflow because the previewer and the renderer are the same, but you'll largely get what the toon renderer gives you. LineRender9000 is more complex, but seemingly way more flexible.
Oh, and as you mentioned, LineRender will be a fraction of the price of Poser 11, but we're not really comparing apples to apples since Poser 11 is a whole studio.
I love PWToon but one problem I ran into is that while having seperate settings for line width per surface can be useful, it's frustrating when, say, you are changing render scale (because the line widths are absolute).
Like, I have a scene where most of the outlines are 96, but certain things are 32. If I want to double the render scale, I can't simply double outline size... I have to go through and distinguish the 96 from 32 surfaces and so on. ugh
For a while I was using ToonyCam because it's better about that, but it's also a little unstable in 4.9 and it seems to not capture the fine details PWToon does.
Yes, I recently ran into a similar issue with absolute line thickness, though it's much less pronounced in LineRender9000. In this case, you'd have to update all of the render pass settings, which amounts to changing 3 or so values. The issue for me is that I'd rather just specify the relative line thickness based on a set image size so that way small renders will look the same as large ones.
The way LineRender9000 attempts to handle the "fine details" issue is that you could get the "ColorId" and "Normal" lines a la ToonyCam Pro, but then add one or more additional passes that draw the details you want, or just use a surface shader that portrays them the way you want on the "main" image. ToonyCam Pro has a Toon shader baked in, so I could see how details could get lost in the final image, since the colors get blurred and clamped.
Yes, please!!!! :)
djigneo: At the very very worst, I could do a PWToon and LineRender9000 pass. I'm hopeful. ;)
I'm hopeful too. I'm certainly happy to talk shop and advise techniques based on what I know. The advantage of LR9k's structure is that it divides the problem of "cartoon style" down into smaller and more solvable problems. If LineRender9000 out-of-the-box generates acceptable line work for your process, then you just need to dial in something else that gives the detail effect you're after. The distinct advantage is that you don't have to worry about lines at the same time since they're separate, so the effect is way simpler (and easier) to achieve.
My shader is fairly simple overall. Since it's meant to compliment LineRender, it doesn't try to provide outlines at all. It has the "standard" Diffuse and Specular colors, but portrays them in an ambient way. There's a way to control Specular strength, and it supports tiling. I mainly wanted lights to matter, but to give a more ambient color look (without shadows). The work at this point is updating the supporting scripts (getting them to be product-ready). In my workflow, I have a "Convert to toon" script that I use all the time that applies my shader with some built-in conversions:
And the "Set Toon Color" script sets the Diffuse and Specular colors based on an offset, since I typically set them a fixed "distance" apart from each other.
I'm doing a fair amount of pestering myself, it's another very clever script and is great fun watching it do it's shading magik!!
'divides the problem ... into smaller and more solvable problems'
That's a brilliant way to put it, and I think you've worked out the hazy problem I have with photo filtering techniques. Namely, they fail because trying to just look at an image and process it into lines just... is too big for anything that's not, like, human to do satisfactorily.
A toon shader script thingy would be great to have, a useful compliment to LR9K.
I'm looking forward to getting this. It looks very much like something I want to play with. :)
This sounds too good to be true. I'd get this in a heartbeat.
I'd like to +1 on those shaders and scripts as well, because I'd probably screw something up otherwise being the noob that I am.
This "Convert to toon" script looks very useful. Does it mean, that it can convert any materials and work well with LineRender9000?
If so, it will be so much handy, to not to search for proper toon materials any longer. Count me in on that, please.
A man of detail. I love it! Thank you for your comprehensive response and in-depth analysis. I attended Poser's Digital Art Live webinar featuring Tony Puryear and others, and it seems that you have indeed solved my manga production issues. If I had any doubts about LR9K, you removed them, if only because I want to support your products so that you continue creating Daz utilities, since extremists make the best everythings. Thank you for making my life simpler (and less expensive).