The PlayStation 1 had many iconic visual oddities which can be recreated using modern shaders. Learn how I created a pack of retro-styled asset packs and published on the Unity Asset Store.
The PlayStation 1 had many iconic visual oddities which can be recreated using modern shaders. Learn how I created a pack of retro-styled asset packs and published on the Unity Asset Store.
We can physically move vertices in the vertex shader to create wave effects. If your meshes are too low-poly, you can subdivide them with tessellation to improve the fidelity.
Unity uses a depth buffer to effectively sort objects in a per-pixel way. We can read depth information to create silhouettes or use a different depth test for an x-ray effect.
Transparent objects need to be drawn differently to opaque objects, since their color gets blended with the existing screen contents, with many possible blend modes.
Textures give you a lot more control over a mesh's surface appearance than just a base color alone could ever do. Learn all about texture mapping in this tutorial.
There are still things that Shader Graph can't do, but HLSL shader code gives you total control over visuals. For the start of this new series, learn how to make an unlit color shader!
The Fullscreen graph type lets us read the screen contents and modify them as part of a post process effect. It's possible to make greyscale filters or outline effects.
Holofoil cards are great fun to pull in the Pokémon TCG, and with the stencil buffer and other Shader Graph tricks, we can create digital equivalents with a ton of tweakable settings.
Shader Graph doesn't support terrains (yet), but you can still sample the terrain control and splat textures to do terrain layering yourself.
With post processing, it's possible to draw specific objects to a mask texture and outline them, turning the rest of the screen greyscale with a screen wipe effect.
By combining screen-space shadow maps, depth textures, post processing, and triplanar mapping, we can create flexible sketched shadows.
Custom functions let us inject any code we want into Shader Graph, including data about additional point lights for a multi-source cel-shading effect.
Scene intersections can be used to make foamy water along coastal edges and glowing edges on objects which pass through other objects.
Using the depth buffer, we can find parts of an object which intersect other objects in the scene.
We can add new types of lighting to a graph, such as Fresnel (rim) light and cel-shading.