Corona Toon Material - for giving objects a “posterized” look
Corona Outline Material - for adding outlines around objects
Usage:
You can use the Toon Material on its own, or use it as the base material of an Outline Material.
You can also use these materials as global material override in your scenes, in which case you may also want to preserve some materials such as glass or materials using opacity.
You can apply textures to various properties of both materials.
Denoising works great with the Toon Material giving it a smooth cartoonish look.
Feel free to post your experiments and provide feedback about the new materials.
After playing a bit with new toon and outline materials, i can say the team did really nice job. I like that outline is separate material and that it has its own global override. The toon controls seems a bit daunting at first, but are not hard to understand after some experimentation. I’m not sure if i like how posterization seems to take effect only on direct lit surfaces, while shadowed areas are shaded smoothly. Maybe that’s a matter of settings tuning which i didn’t figured yet.
I noticed that displacement only takes positive values, perhaps a bug? And bump mapping is missing. Hopefully it will be added soon.
Even if i’m not in to NPR rendering, i’m still very happy with Corona toon. It’s nice to see Corona stepping a little bit outside typical arhcviz.
Ive been requesting this since 2014 and its finally here! Well done team!
On the light blue shapes example above, theres a missing bit of outline on the end of the triangular sections. In my mind i cant figured out a reason why this wouldnt have an outline when the section of the same edge below does. Is that something that can be controlled in the shader?
On the slicer image, yes the missing bit can be fixed by tweaking values - it was a Thresholds Normal of 0.73 for some reason, I must have been tweaking it for testing - but at the default of 0.85, there is no missing bit
BTW this was a test with the Slicer material, as I had heard Toon in V-Ray has trouble with the Clipper (their equivalent to Slicer). It all works fine in Corona from my testing so far, though - the one trick is if you have overlapping Slicer objects that have some coplanar faces that will be doing some slicing, you should ProBoolean them together into one Slicer object to avoid extra lines in capped surfaces. Screengrab of the scene set up attached so you can see where I probooleaned.
If you don’t want to set up individual Toon materials for each object, but don’t want them all to have the same color when using the global Material Override, use the Corona Multimap in the Toon shader (which you can also do for Line Width in the global Outlines override).
PS - I did make the floor an Exclusion from the global Toon material, to give its own multimap per element rather than per instance, so that each piece of wood got a different color)
Is there a possibility to render hidden edges and have different linestyles (like dashed for example)? What about edge extensions, wiggly lines?
Maybe its done on purpose in the sample renderings… but edge lines seem a bit blurry and not sharp at all.
I would like it to have the same functionality as “Mask Color” in the Arnold Edge Shader.
Edges are detected when adjacent pixels have different mask colors.
I struggling to understand how you can set up a simple toon shader of two colors completely opaque, without shading. It seems now, even if you choose no shading between the two colors, there’s still shading and also ambient occlusion and GI will still appear. I mean if you want a really stylized cartoon look, is that achievable? and it seems the colors only affect what is in the light, not in the non lit area? I can’t seem to get it to work.
See example image of what I get, even when theres no interpolation - when Im trying to get the look of the sketches sphere below.
There will be tutorial videos and documentation on how to use toon shader, what to expect from it and how to get the desired results.
For now, please note that it is a toon shader, not simply and artistic effect or line-art. This means GI calculations are still part of it (in grayish tones). In early stage of testing I had similar confusion, thinking of it as a render style, but this is simply how PBR light calculation works. Be sure to use high directionality lights (e.g. sun), and don’t be afraid to go non-PBR with the settings, try disabling environment light (or even GI?) as well
Thanks! I must admit, this implementation disappoint me quite a bit. I do understand that corona is a renderer, and therefore GI and stuff comes naturally within the render - and that is aboslutely fine. But for me a toon render is not to render something with a slightly different shaded look, but a way to buypass and have control over the shading of a model, so you can achieve stylized looks of your liking. For me CoronaToonMTL seems only to give you some very limited control, but yet very similar to regular materials except it just looks worse, in my opinion. When you give the option to have linear or none shaded between two positions in the shaded range of the model but it doesn’t do any of what the UI indicates and it only affect certain parts of the model then what exactly is the point of even having this option at all? It seems like you implemented the menu of Vray toon but didnt manage to add the behaviour and therefore it just seem unfinished or broken. The whole ToonShader then becomes just an experimental playground with very limited control and basically useless, in my opinion.
Even the example on the top of this thread, the blue rendered architecture you can just as well achieve using the regular PBR material, there’s nothing toony or cell shaded about it, except the outline.
But, If you look at the v-ray toon shader which initially seems to have very similar options and controls, but you can achieve complete cell shading and very stylized looks and you have full control because there’s a profound difference between the various shading options you choose on the gradient, and therefore it makes it possible to utilize it for a ton of different things. Also the Arnold Toon render works properly in this regard.
I truly hope and beg that you are not going to settle with the current state of this shader/feature, because I don’t think it will be used much at all by anyone.
The reason why I’m a corona user and fan has always been been great and smart implementation of features, so you can create good results with less fiddling and a smart thought through UI with good default settings. This seem to be the exact opposite, bad implementation so you struggle to get the result you need (if even possible) and a lot more fiddling to get there. It’s not really a toon shader at its current form in my opinion.
I don’t know where to adress this properly, or open a discussion about it…I know I said this in a rant in the toon playground thread, but I really feel that the ToonSHader should be properly discussed now that it has been released - before it takes any foothold - and I wish my arguments would be heard. Because the way it has been implemeneted feels half-way there to put it mildly. And, since a lot of the jobs I do are in this style I hope the team will consider the feedback and pointers from users (like me) before ending on such a solution as it is right now. At the current state I think it is not usable for anything I do in this style, and I will have to go back to using arnold or even consider using V-ray instead.
I really don’t mind putting time into writing and illustrating what is not working or should be improved, with pictures etc…But no point if this is what we get and nothing more will be done about it.
We always welcome suggestions for improvements to features - just be sure to send those in (or vote for them if they are there already) through the Ideas Portal at https://chaoscorona.ideas.aha.io/ , as here on the forum they may get lost.
Also, do make each request a separate entry, because if lots of things are combined into one there’s no way for people to vote accurately, and no way for us to accurately say “This is being worked on, that will take more time, this won’t be done” etc. for each specific request or idea. Thanks!
Ok its not a feature request per se. I just think the toon shader is wrongly implemented as of currently. So is that then a feature request? What I mean is…You have a gradient that is suppose to work on the entire shade or specular of the model, currently it only affect half of it which is in light area. Second, you can select between gradient, “linear” or “none” between the colors throughout the shade of the model. But if you select no gradient it still grades the model as if it has regular shading, so basically you cannot achieve cell shading at all and the “none” is basically non functional. To me this seems like a bug. Thirdly, if you want to make the toon shader great is should have the ability to use the osl halftone or something similar so that you can get halftone dither or line transitions that are stylized. All of this you can achieve in v-ray or in Arnold, none of this is possible in the corona toon shader.
To me this feels more like a bug, not a feature request, because at least the cell shading is what defines «toon» shading in my eyes.
But if you disagree and you only will consider it as a feature for future consideration then I don’t think I’m able to make you understand. I guess I’ll stick to using other renders for toon then…