Hey everyone. Long time no see. Let me go ahead and talk about what I did on cel shading.
I found this youtube video that does not use post processing in ue4 and started using that method. 9YQEAvvzh0k
I’ve also look into the Guilty gear Xrd GDC Talk () and a japanese website that talk more in depth of the style( 西川善司の「試験に出るゲームグラフィックス」(1)「GUILTY GEAR Xrd -SIGN-」で実現された「アニメにしか見えないリアルタイム3Dグラフィックス」の秘密,前編 ) to understand what I needed to do inorder to get the results.
I’ve made this model just for an RnD of a certaint style an wanted to see how hard it is to acomplish it. It turns out it was not to complicated as modifing the vertex normal of the mesh to have light interact with the mesh differently.
I’ve haven’t rigged the model yet but I’m planning to do sometime tomorrow after I get the uvs of the mesh layout.
Hi!
I’m stuck here… the inverted mesh.
I’ doing some R&D on toon shading and I don’t wanto to use a post process effect. I prefer to have full control on my assets and be able to fine tuning the objects’ look individually.
While the cell shading is quite simple, I can’t figure out how to do the outline using this method.
I don’t know HLSL shading language unfortunately… Is it still possible to do this without manually putting another mesh in scene? I suppose to write a custom node…
I really need to figure out this…
I tried before another method: a cameraVectorWS dot VertexNormal and a UV lookup in an edge-texture… but it has a huge downside: in a VR game the outline is eye-dependent and it’s very very bad because you get flickering parts.
A mesh solution should be great.
I’ll be forever gratefull if you could give me some good advice
You can just make a copy of you mesh and invert the normals in a DCC package like Maya or Max. It’s old skool and honestly what I’ve been doing so far. Unless you feel like doing some custom code to autoload a specific version of your mesh, it does require you to either have the mesh as part of your model(will most likely lead to a headache for your modellers) or manually load the mesh in the scene with your primary mesh.
There’s probably a way to duplicate the mesh and invert the normals at runtime but I honestly haven’t had the time to touch any cel shading work due to other things I have to deal with for the while. I would probably try to manually load the inverted mesh into your scene to see if the results are actually want you want. I do remember testing the inverted hull method using an Oculus CV1 kit once and there were no problems.
I bought the Character Cel Shading pack too but didn’t use it yet (badly no time for it, I’m only a hobbyist) and want to wait for 2.0 that should come before 31.12.
The video looks good so far, not so good is the sun in the background of the character, not a good position to show cel shading.
Has anyone tried this yet? I gave it a quick try using my old materials from 4.12 on the forward renderer with no success (wasn’t expecting any admittedly), but I didn’t spend that much time on it since I wanted to see mainly how well my materials had stood the test of time for the current engine.
They did eventually work, but took ages to remember all the config edits I’d had to make in the past to get them looking okay.
youtube.com/a3ERma8IXY0
That was made using the free Toon Shading Model and as mentioned my own materials/post-processes based off of this thread and I’d say that in all my attempts at toon shading this is the closest I’ve managed to get to it but I’m not convinced that it isn’t still too 3D looking.
My last (4.12) attempt had been more of a bright, anime style, so I had a go reproducing this again. It’s very rough (mostly thanks to messing about with the physics asset) and I notice now that some of the edge outlines disappear, but I think it’s not too bad and (perhaps it’s because there’s no table/chair in this video) looks more 2D to me than the other video. No additional shading for adding depth to shadows but that’s for the next test.
youtube.com/MNnk6GDUncs
also a similar video without toon shading enabled to see how the material-only version fared.
qy5EF-bo73c
The models in the anime style videos are from Nakasis and the animations in both videos from Mixamo.
This is just a guess so may not solve your problem, but it’s the only thing that springs to mind. If you select the SkySphereBlueprint in the World Outliner, then click on Sky Sphere mesh (Inherited), in the details panel and finally scroll down (and expand) the Rendering heading and check “Render Custom Depth Pass” does it then work? I can’t think of anything else so hopefully it’s that. (If that’s not it then probably safest to uncheck it again so that in your troubleshooting it isn’t all broken because that’s still checked).
I’m not sure if this has been posted here before (I dont think it has), but there is a really good toon shading model that you can compile right into UE4, and it will do just about every shading style. It exposes new hook ups in the material editor so any material can be cell shaded. The toon shader model works well with all UE4 features; like bloom for example that post process shaders lack, and its a lot more feasible than trying to use a light vector for every material (if that’s a requirement of your game.)
the Material editor Does not take Light Vectors on Surface Material Domain, and this is a Problem !
and UE4’s shading is deferred, this means that all lighting is done as a postprocess …
“the Material editor Does not take Light Vectors on Surface Material Domain, and this is a Problem!” You can pass light vectors through to the material editor but it is not ideal.
“UE4’s shading is deferred, this means that all lighting is done as a postprocess” By post process I mean via a post process volume as apposed to a surface material.
The toon shading model is by far the best method if you are looking to cel shade an entire scene and still allow for all UE4 features, like bloom for example.
After a couple days of research, experimentation, and navigating a spaghetti network, I got this post-effect result for Cel-shading. (Mind the missing UE4 logo. I was bored and slapped the Pepsi logo to it, and I didn’t want to fix the material.)