That’s a good talk. They have the benefit of working from the ground up with whatever rendering techniques they need. By contrast in UE lighting stuff is off-limits to materials, even in the post-process phase. What he demonstrates with normals is also highly valid as well - so much of the process is about the material you’re cel-shading over rather than the cel shader itself.
They do their cel effect by doing several things:
- Simplifying the lighting down to on/off.
- No texture data other than flat colour.
- Interesting but time-consuming technique of specifically setting internal detail lines
- Standard inverted hull outline
These are good, but they’re also bog-standard and not that flashy. You also can’t do the important bits in UE at the moment either such as flattened lighting. UE only lets you alter the base colour and other PBR properties of a material but leaves lighting out of the mix and does that in a separate pass called Deferred Lighting.
3 is possible, but it’d be a lot of work. If you verbatim copy the technique in the video you’ll get the same inner line result.
4 is possible in your modeling stage, but I haven’t seen a runtime implementation for UE yet. This is also an unreliable process for complex models and will probably screw with your rigging on skeletal animations.
Anyway, the effect I linked above in my last post will do a fairly good job of emulating the simplified lighting you’re after when it’s released, but with a number of caveats and limitations that you don’t get when you have a proper cel lighting process, which we don’t have in UE.
I’d really like to introduce a new material lighting type that will achieve the same effect but more simply, but even then it depends on your normals. I’ve just started looking into code projects and extending objects so eventually the celshader will become a plugin and the lighting change will be a possibility.