View Full Version : unReal's ToonTracer: first impression
10 October 2004, 10:06 PM
I only used unReal once before, because I couldn't celshade the water (http://www.celshader.com/gallery/md/rosedrop.mov) I wanted any other way. Then I put unReal back on the shelf and didn't bother with it again until last night.
I'm not the most patient person when it comes to celshading, so I never did warm up to the complexity of the interfaces on BESM or unReal. When I want to see if a celshaded model's working or not, it's way faster for me to just slap on Super Cel Shader and Edges, tweak a handful of settings, and then hit F9. I also know the rules (http://www.celshader.com/gallery/kara/about4.htm) when it comes to Edges, so if the ink lines aren't working for me, I know how to fix the model in Modeler. When it comes to celshaded modeling, WireFrame Shade and the Hub are my bestest of friends.
However, recent threads on this forum reminded me that I still don't know of an easy way to get thick-to-thin ink lines that look great during an animation. The clean, technical pen look of Edges never offended me that much, because it reminded me of my favorite Japanese cartoons. However, I use a brush to ink my comic book characters, so my celshaded art (http://www.celshader.com/gallery/lore/) doesn't match my comic book art (http://www.celshader.com/lore/panels/08_08.gif).
Also, Edges can't trace the 2D outline of a 3D object, so you can't use Edges for the King Meanie's fluffy body (http://www.adlerandco.com/animation/bluemeanie.html) in Yellow Submarine or Merle's fluffy shoulders (http://www.animegalleries.net/album/643) in Escaflowne.
I don't know if I'd pay for a third party celshader plug-in or not. There were once two shareware celshader plug-ins for LightWave -- 3DD Standard CelShader (http://web.archive.org/web/20010302092840/www.3d-drawing.com/plugins/3ddstcel/index.html) and 3DD Edge TraceMan (http://web.archive.org/web/20010428202522/www.3d-drawing.com/plugins/edgetman/index.html) -- and I never bought them, even though they looked cool. However, unReal is free. I have no excuse for not learning unReal.
So, I downloaded the latest non-beta version (http://webclub.kcom.ne.jp/mb/dhm/plugin.htm#latest) -- 1.20d -- and started playing with it last night. The plug-in came with lots and lots of example scene files and models, and like a really smart person, I didn't look at any of them until after I'd spent three or four hours flying blind with the plug-in, first.
I still have a lot to learn, but so far I like what I see. I especially like ToonTracer's VisualEditor feature, which lets you quickly preview and tweak the edges before completing the render:
I like its ability to trace a 2D outline on a 3D object. I like the ability to apply multiple layers of inking to a group, and to activate/deactivate those layers. I like the ability to ink with an image. I like all the options, though it'll take me some time to learn them.
It's going to be some time before I learn how to model for unReal, though. First, I have to learn ToonTracer's exact technical rules. LightWave's built-in Edges follow a relatively tiny, fixed set of rules that are easy for me to remember while modeling. unReal's complex interface opens up a whole new can of worms. Until I understand unReal, I'll be modeling blind.
For example, I took my Lore model (http://www.celshader.com/gallery/lore/topology01.jpg) -- which I built for LightWave Edges -- and applied unReal's ToonTracer only to the model's hair. The rest of the head still uses LightWave Edges. You can see the results in this turnaround here:
A hair model that gave me the right LightWave Edges caused problems for unReal. I set unReal to trace only the 2D silhouette of the hair model, and it did...but the overlapping points in the back of the hair confused unReal. I guess one fix might be to merge the individual strands of hair in the back together...but it'll be a while before I learn all the rules of ToonTracer.
Still, I think the VisualEditor component's darned cool...a VIPER for ToonTracer inking. It makes learning the ToonTracer settings a lot easier.
10 October 2004, 11:28 PM
Thanks for spending the time to help us all.
10 October 2004, 12:22 AM
Thanks a heap Jen. I think your results look pretty nice actually.
10 October 2004, 02:08 AM
I'm looking forward to seeing this thread evolve!
10 October 2004, 08:58 AM
unReal _is_ rather technical and some of its features, especially StrokeFollower, gives you capabilities that does not seem to be readily practical, although the amount of attributes that cant be tied to the ink stroke is nice.
i studied unReal and documented mostly the StrokeFollower feature. it's somewhere in my hard drive. :)
and as for the VisualEditor: yes, it's very nice... especially when it matches the exact render you get, down to the antialiasing.
unReal does have some initialisation errors sometimes though, and i experienced crashes every now and then. but totally useable of course.
10 October 2004, 05:09 PM
Glad to see you are finally checking out Unreal, Celshader. :)
Only real "flaw" I've been noticing with ToonTracer is that the anti-aliasing for the ink lines aren't always as nice as LW edges. In the end, it's kind of a trade-off between the two: better lines or more control over them.
Also, I've found that to make the inklines appear for only certain areas of a model and not others it's best to use 2 or more surfaces for those areas and give them each a different Group ID # (that way, only the areas which you want ink lines will have them, while the others won't).
10 October 2004, 05:58 PM
I experimented with getting thick/thin by squashing the brush shape and rotating it a bit. :)
Ultimately I gave up on toon tracer because the lines were doing weird things that I couldn't figure out how to solve. But with Celshader on the job, maybe something will get figured out! :thumbsup:
10 October 2004, 09:35 PM
It took me a few years before I figured out the rules of Edges; I might not figure out all of unReal for some time.
I'll post any tiny thing I learn, though, in case it might help out someone else's learning curve. I'll take whatever information you guys can give me, too. Post whatever you know on this thread, and we'll see where it goes. :D
In that vein, here's a page that shows how to get to Shade01's original unReal docs:
Here's the meager bits and pieces I've learned about the ToonTracer interface so far:
Move T -- if the image is too big for the VisualEditor, activating this button will let you left-click and drag the image around in the VisualEditor. It's a "Pan" button, and as it says, its hotkey is the "T" key.
Update F5 -- The preview window does not constantly update itself, like VIPER or FPrime. To see what effect a setting change might have, click on the "Update F5" button or just hit F5 to see the effects of your settings change on the Preview window.
BG View -- if you want to see your final render, leave this on RGB. If you want to see your inklines only, change the drop-down list to None and then hit "Update F5" or the F5 key to see what the ink lines look like on their own.
Group list -- the inking will not affect the surface at all if the inking is not assigned to that surface's group ID number. Set the surface's group ID number in the Surface Panel with the ToonTracer shader component. To control which group ID's are affected by a given inking layer, move your mouse pointer over the leftmost dash of each group ID number on this list and click to activate or deactivate the group ID number. Clicking on the numbers themselves will not activate or deactivate them. An asterisk means the group ID number's "on," a dash means that it's "off." Holding down the ALT button while clicking on the dashes or numbers will invert which layers are on and which layers are off.
I do not yet know what the rightmost dash stands for at this point in the Group list.
10 October 2004, 11:56 AM
hi, great work & lots of interesting stuff on your celshader.com site. i recently got a decent non software specific, post-process toon ink technique working that does quite a nice job of variable width ink lines. the idea's a rough approximation of the 'image-space' method described in this research - http://www.cs.rutgers.edu/~decarlo/contour.html
all you need to do is render out your model at double the desired output resolution as either a headlight render with a white background & white material, or better still just a flat shaded falloff material (like an inverse x-ray shader). then, in photoshop (or similar) use these filters:
highpass 1.5 > levels 0, 0.1, 125 > gauss blur 1.0 > image size 50%
& gives you something that looks like this:
(not my model here - was a free one)
limitations of this technique are that it's only really practical for broadcast resolution output(due to the double size rendering), the AA isn't 100% (look at the shallow angle lines in that pic), & it's only really good on smooth subdivision-type surfaces (sharp, boxy geometry would still need a contour shader to pick up proper edge detection).
but, the big advantage is that you since it's image based edge detection, you can render with anything that would be problematic for contour shaders- subpixel displacement, hair, bump mapping, & even drive ink lines with texture maps.
here's another example, this time using analytical rendertime displacement (i'm using 3dsmax) for the clothing detail & a texture to get extra ink lines on the surface (the 'test' markings):
(bit of a scruffy model, & wasnt designed for toon shading)
finally, here's an idea you could try that gives a nice inverted shadow line, & is made with black ink & shadow passes: layer the ink pass over the shadow layer (in photoshop, aftereffects or whatever) with 'exclusion' blending, & then invert the resulting image. here's an example:
10 October 2004, 12:24 PM
Sorry if I'm asking a dumb question, but what is a "headlight render"?
10 October 2004, 12:48 PM
Sorry if I'm asking a dumb question, but what is a "headlight render"?
I'm guessing he means by pointing a light directly onto the model ??? Lights pointing head on judging by the example...
10 October 2004, 12:21 PM
yeah, headlight as in the default light you get in an ogl view when there's no scene lights. but you're better off using a falloff mapped material for the initial render (not sure what the lightwave terminology for this is- maybe rolloff or incidence mapping?)
10 October 2004, 10:58 AM
'mb: Thanks for sharing that great technique. Sooo much more effective than struggling with additional shaders, etc.
10 October 2004, 03:51 AM
That's amazing, `mb! Thanks for the technique!
10 October 2004, 08:50 AM
Hmmm I like this technique.
A note to Lightwavers: I just exported the Geometry, Raw, and Shaded Buffer, using .Psd export.
S'all you need!
10 October 2004, 09:24 PM
is there a way to get a good transparency effect using the cell shaded method.
10 October 2004, 09:56 PM
MB, that rocks!!! Thanks for sharing!
11 November 2004, 12:03 AM
thx. sorry to hijack this thread again, but i've developed the technique further & don't need to do the double sized renders any more. have a look in this thread (3dsmax forum, but it's not software specific):
01 January 2006, 05:00 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.