[WIP]Final Coat - Custom Physically Based Rendering Shader with realtime GI

[Update]
This shader provides an alternative to the built in universal sahder.
Its main function is to provide the full functionality of a IBL pipeline with the support of several new features.

Current state:

  • Multiple shader modes (Default, CarPaint with clear coat layer, Anisotrophy, Foliage, Deformable tires, Skin and many more)
  • Multiple UV sets for channels (required in some modeling workflows, imported lightmaping etc.)
  • Transmissive and Translucent materials (Foliage & Skin)
  • Multilayer Detail Splating;
  • Blending Decals
  • Fully supports the default Lighting pipeline in unity(Reflection probes, Realtime GI, Lightmaping)

Here are some screens with a scene that only uses one shader:


[Update]
So I got the car paint now looking as good as it should, with metalic flakes, flip, candy and perlacent tinting! The variations are endless!

Old Post:
I really liked the IBL approach on everything and I decided to write my own. My shaders were allready half IBL, but they didnt quite compete with true AAA shaders, so I did some research on them and fixed the missing links. Now it looks alot better and I’d like to know what’s the communitys opinnion on it?



The shaders overall are heavily optimized, and its actually a single shader, I’m following U5 approach where you have an universal shader and I think that the outcome sofar it’s quite cool. On this shader, the original ambient light is disabled. It may look simmilar to marmoset, because I’m using the same reflection texture at the moment. But dont be mistaken, this is a single 6kb shader file.

The file size will grow, because at the moment there is no transparency & box projection support.

Edit.
Latest result:


6 Likes

Looking ace! Do you have a build we can see it in? :slight_smile:

1 Like

I dont have a build yet, and I’d like to have a build once I get the shaders atleast 50% finished, currently it’s too soon for a build :slight_smile:

I think that the new PBS of unity 5 use a IBL model, i am wrong?

Yes it does use an IBL model. But there are things that I do differently. Atleast the beta I tryed, was not the result I wanted. It was good to a specific range and for some reason really hardware hungry.

Small update:

The shader currently supports 4 selectable blending modes, Opaque, Cutout, Transparent and Glass.
It also suports AO maps & Illumination maps. Everything except the sky & projector, uses this shader.
Going to add a global reflection manager and Box projection system. I’m going to make this shader as perfect as possible, because I’m goign to use this shader for every 3D project I make.

And ofcourse I’m going to add car paint specific features aswell. But overall I really like the fact that I can now use one single shader for everything.

2 Likes

Nice! :smile:

Nice ground texture too, in the bluey car pic!

1 Like

Looking good!
Will this shader include normal map, detail map etc?
Also would it be compatible with mobile?

2 Likes

Thanks!
This shader allready supports normal maps and I’m adding detail maps aswell yes.

Havent tried its mobile capabilities yet, but I can easly modify the shader to work on mobile. But with mobile there are 2 possible scenarios, I have to limit the shader or the shader would require higher end devices.

Thanks!
The ground texture, if I remember correctly is the same as used in shader forge.

1 Like

More work on the shaders done, Seems like everything goes in the right direction.


shidome_stairs HDR map used in this scene.

3 Likes

Wow! Ya better release these. I bought your first pack a long time ago. :slight_smile:

1 Like

sorry, but tires look kinda crappy?

Thanks, I’m thinking of maybe releasing the shader as a whole system once the features are in and box projection working. Basically when one of my sim demos works with the shaders, then I might release the system if there is a need for it.

No problem, I didnt focus on tires, they basically have ambient only, I can apply the specularity and normals for the next screens. Afterall I’m using this media for testing only. Once the system is finished I can show screens with proper media from my partner. And possibly a demo aswell.

Did minor fixes on the shader. Ambient (I think I can call it radiance?) Is now alot better, did some changes to the specular model aswell. As pointed out the tires were crappy, now they should have proper settings. Only thing bothering me visually, is that the reflections seem to need some antialiasing…


lookin shiney!

2 Likes

Very shiny, polished by the karate kid himself.

2 Likes

I think that the shaders IBL feature is finished, everything is now controleld by exposure. And at 0 exposure everything is black. Car paint feature also added.



1 Like

Looking great, is this shader mobile friendly at all?

Thanks!
I havent tried it on mobile yet, but in theory it should work on mobile, and if the mobile is highend it should work exactly like on the pictures. I’ve developed this shader on a laptop that has 4gb of ram and on i3. Right after the box projection is in and user friendly I can compile a playable demo and after that I can do tests on mobile, but mobile is currently not my aim.

Looks really good, some tweaking and the scene will be AAA.
Some details to the grass, less reflective road and a detailed background and your game can market itself :slight_smile:

1 Like