Chaos Corona Forum

Chaos Corona for 3ds Max => [Max] Daily Builds => Topic started by: maru on 2025-05-22, 15:02:54

Title: Toon + Outline Mtl Playground!
Post by: maru on 2025-05-22, 15:02:54
The newest daily build of Corona (https://forum.corona-renderer.com/index.php?topic=43295.msg233420#msg233420) comes with two new non-physical materials:
- 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.

(https://forum.corona-renderer.com/index.php?action=dlattach;topic=44963.0;attach=210450;image)

(https://forum.corona-renderer.com/index.php?action=dlattach;topic=44963.0;attach=210452;image)

(https://forum.corona-renderer.com/index.php?action=dlattach;topic=44963.0;attach=210454;image)
Title: Re: Toon + Outline Mtl Playground!
Post by: romullus on 2025-05-22, 22:44:12
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.
Title: Re: Toon + Outline Mtl Playground!
Post by: Tom on 2025-05-23, 01:22:01
This is great news, shout out to the team for these long awaited features!
Title: Re: Toon + Outline Mtl Playground!
Post by: Jpjapers on 2025-05-23, 10:52:35
This is fantastic!

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?
Title: Re: Toon + Outline Mtl Playground!
Post by: TomG on 2025-05-26, 21:14:58
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.
Title: Re: Toon + Outline Mtl Playground!
Post by: TomG on 2025-05-26, 21:26:32
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)
Title: Re: Toon + Outline Mtl Playground!
Post by: romullus on 2025-05-26, 22:14:18
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).

Alternatively one can use Corona Data instead of Multimap and and have objects coloured by their wireframe colours.
Title: Re: Toon + Outline Mtl Playground!
Post by: triget on 2025-05-29, 07:42:33
I think the ability to export the outline as a separate mask would be great. Will there be such a solution?
Title: Re: Toon + Outline Mtl Playground!
Post by: LukaK on 2025-05-29, 08:08:54
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.
Title: Re: Toon + Outline Mtl Playground!
Post by: OakCorp on 2025-05-29, 09:37:03
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.
https://help.autodesk.com/view/ARNOL/ENU/?guid=arnold_user_guide_ac_toon_ac_toon_edge_html

want to draw a line like the attached

(http://)
Title: Re: Toon + Outline Mtl Playground!
Post by: NazarVitkovskyi on 2025-06-02, 10:10:29
@OakCorp please raise a request for this on on our Idea Porta: https://chaoscorona.ideas.aha.io/ideas
Here is a guide how to do that: https://support.chaos.com/hc/en-us/articles/27701668531729-How-to-request-a-new-feature
Title: Re: Toon + Outline Mtl Playground!
Post by: NazarVitkovskyi on 2025-06-02, 10:56:20
@LukaK  please raise a request for this on on our Idea Porta: https://chaoscorona.ideas.aha.io/ideas
Here is a guide how to do that: https://support.chaos.com/hc/en-us/articles/27701668531729-How-to-request-a-new-feature
Title: Re: Toon + Outline Mtl Playground!
Post by: LukaK on 2025-06-02, 22:27:42
Done :) Thank you!

https://chaoscorona.ideas.aha.io/ideas/CMAX-I-189?utm_source=idea_mailer&utm_medium=email&utm_campaign=submitted_idea
Title: Re: Toon + Outline Mtl Playground!
Post by: JoachimArt on 2025-06-14, 13:37:56
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.
Title: Re: Toon + Outline Mtl Playground!
Post by: Aram Avetisyan on 2025-06-14, 22:37:55
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.

Hi,

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 ;)
Title: Re: Toon + Outline Mtl Playground!
Post by: JoachimArt on 2025-06-15, 11:55:46
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 fine. But for me a toon render is not to render «toons» with a shaded look but a way to buypass and have control the look of how the 3d models are being shaded so you can achieve stylized looks of your liking. For me CoronaToonMTL seems only to give you a semi stylized shading with some slight control but yet very similar to regular shading except it looks pretty bad, in my opinion. When you give the option to have linear or none shaded between two positions in the shaded range and it doesn't do any of that and it only affect certain parts of the model then what exactly is the point of even having this feature at all? - it seems to be like it's not working as intended,  the whole shader then becomes just an experimental playground with very limited control and basically rather 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.
But, If you look at the v-ray toon shader which initially seems to have very similar options and controls, you can achieve complete cell shading and very stylized looks and you have full control because there's a difference between the various options of shading, it makes it possible to utilize it for a ton of different things - because the way you set up the gradient or stepped colors on the model gives the exact look you would expect from it.

I truly hope you are not going to settle with the current state of this shader, because I don't think it will be used much at all by anyone, except the outline feature.
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. This seem to be the exact opposite, bad implementation so you struggle to get the result you need and a lot more fiddling to get there.

Sorry for the long rant - just very disappointed.