Advanced Cel Shader Pack

I hope everyone had a great holiday!

I’ve been working hard on preparing an update to the cel shader. I’m aiming to introduce some improvements:

  • Edge shading based on depth is now much more stable and detailed without periodic fade-outs. This in particular improves low-angled planes such as the ground.
  • Objects in the foreground take priority for edge shading. This should look nicer and less random.
  • Objects will never edge shade within their own boundaries, only over more distant objects similar to how key lines are drawn traditionally.
  • Some options have been removed to simplify the controls. All removed options either had no effect or there was no good reason to ever change their values.
  • Some new controls have been added to help support the new outline shading methods.

The overall impact is to make the cel shading more fluid and stable.

This update will be submitted for release soon. In the meantime, any feedback, feature requests or fixed that you’d like to make this release are welcome.

One more addition: I’ve had a couple of requests to include posterization. I originally had this in the shader but it always looked awful, much like a badly performing contrast operation. No more! I’ve figured out a nice posterization method. This will also go out with the next update.

You can control the number of posterization levels, the posterization lightness/darkness envelope, gamma and blend to get a really low-fi effect that strips all hint of digital integrity from your scene.

Here’s some comparison shots:

No posterization:

50% blend between posterized and normal:

10 levels and .5 gamma:

3 levels and -1 gamma:

1 level of posterization:

1 level, brightness envelope set to 0 and 10:

After a wee delay this update is now out. Please re-inject the Advanced Cel Shader asset into your projects to update it.

Note that if you’re using the Variable Outline Weight you’ll probably need to tweak this setting in your preset to get it looking the same as the previous shader.

Even when I add the downloaded .ini file to the Config folder, Unreal still crashes every time I try and load the sample level, and the video just skips from reloading the editor straight into the sample map, without showing what to do with the downloaded .ini file :frowning:

Are there any other tutorials on how to set up the Cel Shader postprocess volume?

EDIT: In addition, my editor completely crashes in the same way when I try and place the pirate ship into any level, even a blank one.

You’re right! I’ve neglected to document that step on the website. I’ll rectify that shortly. For a blank project, the steps are:

  1. Create post-processing volume
  2. Set post-processing volume to Unbound (Search the details panel by using the filter at the top)
  3. Add a “blendable” and select a cel shader preset such as “CelShaderDirtyManga”

To import the ini file check the video again - it’s definitely there! Check at about 3:10 - you should import the ini file to the Inputs pane in the Project Settings dialogue.

Regarding crashing, are you able to submit a crash report to Epic? What version of Unreal Engine are you using?

Wow, thank you for the quick reply!
It seems that when the editor crashed, it deleted my ini file. I was looking for something that wasn’t there, which was pretty confusing. I just extracted it again, followed the instructions in the video exactly as they are (I must have glossed over that last part), and imported it and it worked this time. Also, I was able to add the post processing.
I am using 4.6.1, and I was unable to submit the crash report since I had to forcefully end the process. If it pops up again, and lets me, I will submit it.

Yeah I find UE does crash unexpectedly on a regular basis. Not surprised it removed the ini file when it did.

Let me know if you have any more questions! :slight_smile:

Actually, I seem to be back to the same problem with the sample map.

I can easily add the cel shading to my projects now, which is fantastic, but when I try and load your sample project it always crashes around 60-66% when loading.

I’ll try and find out what the problem is and report back if I do.

Hmm. Try adding the sample content to a blank project if you’re going to try the sample level, it may perform better.

When the asset originally made it through to the marketplace it wasn’t clear how it would actually be delivered. It was never really intended that users would add ALL of the sample content to their projects, because that just means deleting it straight away again in most cases. I’ve been told that Epic are working on a workflow solution for this, hopefully a “open sample project” button next to the content injection button.

I just tried it in a blank project three separate times, but it freezes at 66% and I have to end the process every time. Actually, it crashes every time I try and do something with the sample level in the content browser, like move it or duplicate it.
And that makes a lot of sense. I hope they can do something like that! I’m sure a lot of users would appreciate it.
I’m going to try the same thing on a different computer tomorrow, and see if it’s just a problem with my system.

Please do let me know how it goes on the other system, it’s frustrating when things crash! It might also be worth filing a bug at the UE AnswerHub, as they’re equipped to debug the issue. I’ll help however I can with that.

Update: On the college game design computers, the Cel Shader Pack works just fine! While attempting to load the sample level, it still stops for a long time again at somewhere between 60-66% (loading the wood and gold materials seems to be where it freezes every time), but after waiting for around 5-10 minutes it loads fine and works perfectly. :slight_smile:

As far as the home system goes, I was actually able to load the sample level on there as well! It just took several hours to finish loading. That’s not a problem of course, I purchased the pack for the awesome post-processing effects anyways, I just wanted to view the sample level to see what I was getting into. I don’t know if you’d like to see these or not (or if it’s helpful), but here are the specs of the system that’s having some trouble with it:

OS: Windows 7 64-bit
CPU: AMD Phenom II X4 940T
RAM: 6 GB (could this be the problem?)
Graphics: 2048MB ATI AMD Radeon R9 200 Series (Sapphire/PCPartner)

I’m sorry it took so long. Thank you again for all the help!

Interesting. I’ll try my best to recreate the problem but it does sound like something for the UE engineers. If you feel like going through the process, feel free to create a ticket on answerhub (https://answers.unrealengine.com/) and attach your DX Diag and any relevant logs and then message me with a link to the ticket so that I can assist. Several hours of loading is just crazy.

Thanks again for your feedback!

Hey guys! How is everyone doing with their cel shaded projects? Does anyone have any interesting content that they’d like to share a screenshot of?

Not at the Moment, it’s really frustrating, I really want to work with your Cel Shader but I didn’t get any free time in the last Weeks to work with UE4 at all. Thats the Price to be only a Hobbyist. ^^

I hope I get time soon, alone because of the nice new VR Features on 4.7.

I get that too! Hoping March is a better month for settling down and doing some game dev. 4.7 is indeed looking really great.

Looks pretty sexy imo.

Hi, Looks awesome. I have a few questions. Can these post process effects be used on scene render targets, then

to rendertexture 2d? So the world can be normal and the screen capture texture can use these exclusively? Or alternatively can these post process affect all of the world except the player mesh? Just a few questions to know if it will suit my project :slight_smile: thanks

Hi! You can set up exclusive and inclusive rendering - so that either a set of items are not cel shaded and everything else is, or a set of items are cel shaded while nothing else is. This applies to anything that can have a custom render depth buffer (which I think is everything except landscapes).

Not sure on the rendertexture 2d but I don’t see why not. I’ll give it a quick go now.

You can use the post-process effect on a render target. In your Scene Capture 2D object, change the Capture Source from “Scene Colour (HDR)” to “Final Colour (LDR)”. You can also apply a different cel shader effect (or any post-process effect) to this scene capture 2d object only. You can switch to back to the HDR source to use ONLY that post-process effect.

The camera and settings:

The resulting rendertarget: