Hi, can you give me a bit of insight to the print dots?
I want to experiment with them so, that they are normally turned off, but when your character goes into inventory or stands idle for a few seconds, they appear gradually in a fade-in sort of fashion to make the screen look more static.
I suppose this is very doable, if I make a blueprint that checks player control which then adjusts the opacity parameter of the print dots during time… or would that be doable inside the material itself?
Currently I see a small lag between the print dots appearing and disappearing when I move, but I want to make the effect more like its there for a reason and player can feel the connection between his movements and the dynamic change of the screen.
I noticed this lag too (on the outlines), but this comes from the “Temporal AA” (Anti-Aliasing) from UE4, when I switch it off the lag is gone. Even Epics ToonShader example have this lags too. The question is if this lag is also in the final standalone builds?
Interesting, I didnt pay attention/notice line lagging. Only the colour when using the print dots. I did have lag with outlines in the past, but that was due to having motion blur turned on, are you sure you have it off?
Have nothing to do with motion blur. When I have “Temporal AA” on, than I can see after I moved the Camera how the outlines are drawn for ~1 sec and how they get thicker. I switched motion blur off, nothing changed.
In the past when I’ve run it on lower level hardware I’ve also noticed AA lag. You can safely reduce the quality here since most of the AA is masked by cel lines anyway. I also turn off the motion blur, not because of any slowdown but because the cel shader tries to trace lines on the ghosted images.
I’d say your idea for using a blueprint is the best solution. The print dots are likely fading in from something like motion blur or adaptive exposure, which means it’ll be different on different configurations, so it’s best to make it a deliberate process. I haven’t tried hooking parameters into a blueprint yet, might have a crack at it today and see how it’s done.
One thing about print dots is they obviously only draw in the darker areas of the final tonemap (by using it as a mask). This means any slow changes in lighting will cause them to look like they’re creeping in, so that’s another mechanism for making them appear.
There’s a big backlog of marketplace assets updating to 4.9 that is currently being worked through, so the update may take a little longer than expected!
So for me the missing piece from all of this cel shading malarkey has always been VR. While I love my DK2 the resolution and the screen quality wasn’t ideal and really wasn’t as immersive as it needed to be. So when I had the chance to try a CV1 earlier this week, I jumped at it.
The cel shader runs **really **well. In fact in my old club test scene it does something unexpected: it adds a significant amount of immersion. My guess is that it’s adding detail that the models and textures I used failed to really provide and the CV1 does a fantastic job of delivering that to your eyes. Actually using the HMD looks even better than the screenshot, since the image you get when both eyes are combined is silky smooth.
I can’t wait until we can buy these in retail. VR is going to explode and we should all be there with it when it does.
Hey guys how are you using lighting while working with this cel shader?
Even with a skylight of 0 on this map I still get the lighting you see in the screenshot, when I want the scene to be much dimmer with a light above the player (thats currently there)
I have played with near brightness but when its 0 and i try to use my own lighting its just pitch black
That’s a tricky one. There’s lots of components in the cel shader that re-introduce light to a scene and even more that take it away again.
The near/far colour grading values are multipliers, so setting it to 0 will indeed be pitch black. Try a value of between 0 and 1.
A better option might be to remove the lighting from the scene entirely - normally if you want a dark map with dynamic spotlights you’d remove the skylight as this simulates a daylight environment but isn’t so good for indoors/nighttime scenarios. If things you don’t want to be lit are still lighting up, disable the cel shader’s postprocess volume briefly to verify it’s not the cel shader causing it. Also make sure you rebuild your lighting.
Ah, I see from your new screenshot what’s probably happening.
There are several buffers you don’t normally see that the celshader uses that are pre-tonemapping/lighting. The “flatten” attribute is one of these. You’ll want to set flatten to zero if you have it on as it blends the lit scene back to an unlit one. Try these settings:
Flatten amount: 0.0
Near brightness: 1.0
Far brightness: 1.0
You can also use the near/far power to introduce a black fog over distant objects, which may help with how the scene feels. Keep in mind as well that the brightness won’t light unlit areas - it’s just a modifier of what’s already rendered.
Here’s what I was able to do with the Anime preset modified to use those settings:
You can do some fun things with the colour grading as well:
A new update will be out shortly - there are big speed improvements in the colour bleed effect thanks to HungryDoodles!
Previously the effect tended to halve your frame rate. The new effect only incurs a 5-10% frame cost, making it usable on pretty much all current gen hardware. Also where previously a large number of samples was required to get a smooth result, you no longer need to find a balance between sample choice and performance and the samples control has been removed.
Hiya! I just replied to your email as well, but just in case anyone else is looking to optimize:
Update the asset (just to make sure, I improve something every couple of months).
Disable any features you’re not using in the preset. This is usually the first checkbox in a group.
Delete any blueprint paths you’re not using. This may or may not have any effect as the switche parameters in step 2 recompile the shader without those code branches at all.
Adjust your in-game quality settings. Depending on your cel-shading settings you may not need the highest level AA, shadows, etc.
There’s one more thing you can do that might help. As you’ve said you’re doing cel shading, if you are also using cel lighting (or flattening out the lighting completely):
Inside your asset materials and set the shading model to “unlit”.
Attach your base colour input to the emissive channel instead (otherwise objects will appear black)
Change the cel shading preset “Flatten amount” to 0.0 (otherwise objects will STILL appear black)
Enable cel lighting
This bypasses unnecessary lighting passes by the engine for that material, since you’re not using them anyway. The lighting renderer uses a stencil to avoid processing unlit pixels so this is a good optimisation if you do it to most of your assets. The result will look like this:
If you get a black object then you need to check step 2, I often forget it.
It also looks like not-unshading-the-sky has stopped working AND it looks like posterization might actually be useful on cel lighting. Another update coming soon I guess!
I’ve had the pleasure of watching a title that uses the cel shader develop over the past few weeks and it’s now on Steam Greenlight. Go check out Fall of Civilization now!
Hello, I have been migrating to 4.11.2 (and 4.12 preview) from 4.9, but cel shader pack doesnt give me the same look in those as it does in the older 4.9 version of the engine.
I found the reason to be in “Detail Line Opacity”. It doesnt function, as no matter what value I put into it, it doesnt draw detail lines anymore.
Do you have any idea whether the problem is somewhere in my project that I need to manually switch to make it work, or is it in the shader? Thanks for any help.
Edit: Ok, adjusting other settings I got it back to work again. “Cel Detail Contrast” was set to -0.50, which resulted into detail lines dying off completely in 4.11. Setting this to -0.49 fixed the issue, although I did have to
adjust here and there a little bit to get my previous balance back.