Gmi
(Gmi)
April 27, 2016, 7:29pm
22
Wow, your whole post looks quite nice.
One question. I assume you’re using dynamic lighting for the day/night system, if so does the cave interior look as dark as here during the day?
NickGW
(NickGW)
April 27, 2016, 7:38pm
23
Here’s what both scenes look like without the effect.
Wow that looks really nice with the refined Materials. I’m liking how you are bringing in touches of colour now too. That’s not too bad a performance hit (given the amount of poly’s in the scene) and I understand your material network messiness pain. I’ve gone away for a week, come back and looked at my Material and been like ‘I have no idea what this does or how it does it… but it works so don’t touch it!’ I’m trying to get better at writing comments, and using precise parameter names to ease that headache in future.
Any chance of seeing a video or .gif of one of your scenes? Would love to see how the world looks in motion
Yeah my approach to making these materials has usually been to cannibalize parts of other materials I’ve made which leads to the messiness. Thankfully I’m the only person that has to use any of this so keeping things organized and commented isn’t necessary, but I still need to get better at doing that.
I’ll try and have a video or gif by late Friday. I still have a lot of school work to get through between today and tomorrow so I should have free time to make one by then.
Gmi
(Gmi)
April 27, 2016, 8:57pm
25
Yes and yes
Interesting. I’ve always had issues with interiors looking too bright or getting lit by the exterior sun. Do you disable the sun lights when a player enters an interior or is it purely created through shadows?
I’ve been watching the progress of LIFE on twitter I really love the cloud/weather system you’ve implemented!
Only thing that sticks out slightly to me in these screenshots, is the textures on the rocks seem far more detailed than the rest of the environment, which makes them pop a little bit. Some of your earlier rocks (like in the cloud shadow video) were more simply shaded and (personally) felt a better fit for your overall art style. Besides the rocks, everything else looks so nice! I adore the vibrant colour palette and the touches of details, like the ferns and flowers in the grass.
Super excited to see more!
Thanks so much for your interest and your feedback, I really appreciate both! I’ve primarily been doing the world design for our project, and have been trying to decide just how much detail should go into the pieces, balancing enough to break monotony, but keeping it low enough to serve the aesthetic we’re after. I’ll take your feedback into consideration moving forward, so thank you so much!
It’s created through shadows, our skylight intensity is also affected by the time of day system (using a static hdri map) and is overall fairly low to allow the sharp contrast between lit areas and shaded areas, so our caves are, by our TOD settings, naturally dark
and I’ve updated the original post with links to tutorials on how I did elements of my project. (Finally, sorry it took so long!)
Great tutorial by @AzzaMat on how to create a Cel Shader !
Overview
Hey everyone!
I want this thread to be a celebration of stylized graphics, where we can share our work and processes to inspire and teach others! I’d love for you to share images of your projects, and links to things you found helpful. I’ll be continuously updating this post with links to awesome tutorials (suggestions would be super helpful!), so we have one place to find all the goodness
POST PROCESSING EFFECTS
Colour Grading
I put together a short tutorial on how to set-up and use colour grading inside UE4. It’s super useful for regaining contrast and saturation which has been washed out by lighting!
Toon Shaders and Cel Shading
Toon Shader Material : This entire thread is well worth a read, there’s lot of different ways people have approached creating a cel-shaded look and lots of information on the math/tech behind it. [MENTION=21746]Brian Westley[/MENTION] has also very kindly uploaded his cel shader , which you can download and experiment with.
@AzzaMat (Bears can’t drift) has also put up a tutorial for creating a Cel Shader. It’s super simple and a great walk-through on the tech behind the Post Process effect!
ASSET CREATION
Modeling, Animating and Rigging Stylized Characters
My Project
So here’s my current WIP (the photo), an extension to my honours project ‘Rose’ (the video)
I’ve also put together a new tutorial site! Currently I have tutorials up on how I did the Animated Wind Texture , the Water Material and the Chimney Material (it ‘belches’ out the smoke). I’ll be updating it as I expand my project, so I hope you find it useful.
https://www.youtube.com/watch?v=839mSHECdyw
Wow!Graphics is looking very lovely!Incredible gameplay showcase.Well done I’m proud of you.
Nice work! Could you show us how does it look in motion? Thanks!
This is my attempt at making a hand drawn look using only post processing. It’s part of a school/personal project I’ve been working on recently. There is still a lot of work to get it where I really want it to be, but it’s also doing a lot that I hadn’t expected. The first two images are of the project and the third one is to see how it looks on a different environment I made.
Did a big update to the initial post with my latest work and some tutorial links! What are you’ll making?
MeMe
(MeMe)
May 17, 2017, 8:21am
33
wow, keep on posting. You guys and girls are showing off some nice work!
@.Hider
Why is it, that your cel shader material is not working with dynamic lighting? (according to the tut, it runs with static)
wow, keep on posting. You guys and girls are showing off some nice work!
@anonymous_user_69eabccf
Why is it, that your cel shader material is not working with dynamic lighting? (according to the tut, it runs with static)
Hey MeMe, It does run with dynamic light source. I see where you might be confused - I mention ‘and that’s the base Cel Shader complete! (with a static light source)’. By ‘static light source’ I mean a light that is not going to change direction, it’s always in a set position - rather than the static/stationary/dynamic light type.
The second part of the tutorial shows you how to adjust the shader to work with updating a light’s angle dynamically at run-time. Hope that clears it up!
Great thread!
For anyone who is intrested, here is a Kuwahara filter:
//InScreenTextrue: From the scene texture node in the material. Although it is not used in the code below, it is necessary to call SceneTextureLookup().
//InSceneResolution: From the scene texture node
//InUV: Use texture coordinate 0.
//InRadius: Radius around a pixel the filter checks the value of the other pixels. Default 4.
float n = float((InRadius + 1) * (InRadius + 1));
float3 m[4];
float3 s[4];
for(int i = 0; i < 4; ++i){
m* = float3(0.0,0.0,0.0);
s* = float3(0.0,0.0,0.0);
}
float3 Color;
for(int i = -InRadius; i <= 0; ++i)
{
for(int j = -InRadius; j <= 0; ++j)
{
Color = SceneTextureLookup(InUV.xy + float2(i,j) / InScreenResolution.xy, 14, false).xyz;
m[0] += Color;
s[0] += Color * Color;
}
}
for(int i = -InRadius; i <= 0; ++i)
{
for(int j = -InRadius; j <= 0; ++j)
{
Color = SceneTextureLookup(InUV.xy + float2(i,j) / InScreenResolution.xy, 14, false).xyz;
m[0] += Color;
s[0] += Color * Color;
}
}
for(int i = -InRadius; i <= 0; ++i)
{
for(int j = 0; j <= InRadius; ++j)
{
Color = SceneTextureLookup(InUV.xy + float2(i,j) / InScreenResolution.xy, 14, false).xyz;
m[1] += Color;
s[1] += Color * Color;
}
}
for(int i = 0; i <= InRadius; ++i)
{
for(int j = 0; j <= InRadius; ++j)
{
Color = SceneTextureLookup(InUV.xy + float2(i,j) / InScreenResolution.xy, 14, false).xyz;
m[2] += Color;
s[2] += Color * Color;
}
}
for(int i = 0; i <= InRadius; ++i)
{
for(int j = -InRadius; j <= 0; ++j)
{
Color = SceneTextureLookup(InUV.xy + float2(i,j) / InScreenResolution.xy, 14, false).xyz;
m[3] += Color;
s[3] += Color * Color;
}
}
float TempSigma;
float MinSigma = 100.0;
float3 FinalColor;
for(int k = 0; k < 4; ++k)
{
m[k] /= n;
s[k] = abs(s[k] / n - m[k] * m[k]);
TempSigma = s[k].x + s[k].y + s[k].z;
if(TempSigma < MinSigma)
{
MinSigma = TempSigma;
FinalColor = m[k];
}
}
return FinalColor;
Material:
Great thread!
For anyone who is intrested, here is a Kuwahara filter:
//InScreenTextrue: From the scene texture node in the material. Although it is not used in the code below, it is necessary to call SceneTextureLookup().
//InSceneResolution: From the scene texture node
//InUV: Use texture coordinate 0.
//InRadius: Radius around a pixel the filter checks the value of the other pixels. Default 4.
float n = float((InRadius + 1) * (InRadius + 1));
float3 m[4];
float3 s[4];
for(int i = 0; i < 4; ++i){
m* = float3(0.0,0.0,0.0);
s* = float3(0.0,0.0,0.0);
}
float3 Color;
for(int i = -InRadius; i <= 0; ++i)
{
for(int j = -InRadius; j <= 0; ++j)
{
Color = SceneTextureLookup(InUV.xy + float2(i,j) / InScreenResolution.xy, 14, false).xyz;
m[0] += Color;
s[0] += Color * Color;
}
}
for(int i = -InRadius; i <= 0; ++i)
{
for(int j = -InRadius; j <= 0; ++j)
{
Color = SceneTextureLookup(InUV.xy + float2(i,j) / InScreenResolution.xy, 14, false).xyz;
m[0] += Color;
s[0] += Color * Color;
}
}
for(int i = -InRadius; i <= 0; ++i)
{
for(int j = 0; j <= InRadius; ++j)
{
Color = SceneTextureLookup(InUV.xy + float2(i,j) / InScreenResolution.xy, 14, false).xyz;
m[1] += Color;
s[1] += Color * Color;
}
}
for(int i = 0; i <= InRadius; ++i)
{
for(int j = 0; j <= InRadius; ++j)
{
Color = SceneTextureLookup(InUV.xy + float2(i,j) / InScreenResolution.xy, 14, false).xyz;
m[2] += Color;
s[2] += Color * Color;
}
}
for(int i = 0; i <= InRadius; ++i)
{
for(int j = -InRadius; j <= 0; ++j)
{
Color = SceneTextureLookup(InUV.xy + float2(i,j) / InScreenResolution.xy, 14, false).xyz;
m[3] += Color;
s[3] += Color * Color;
}
}
float TempSigma;
float MinSigma = 100.0;
float3 FinalColor;
for(int k = 0; k < 4; ++k)
{
m[k] /= n;
s[k] = abs(s[k] / n - m[k] * m[k]);
TempSigma = s[k].x + s[k].y + s[k].z;
if(TempSigma < MinSigma)
{
MinSigma = TempSigma;
FinalColor = m[k];
}
}
return FinalColor;
Material:
THANK YOU SO MUCH for sharing this! I have been looking everywhere for an example of this!
Lieven.V
(Lieven.V)
September 7, 2022, 1:08pm
37
Great Thread!
Anyone any update on a watercolor shader effect?