Learn the basic concepts and language you will need to program your own shaders and image effects for Unity's built-in render pipeline, for Unity 5 or above.
Learn and Understand Shaders with this Unity Course.
Learn about the different properties of a mesh that can be accessed and changed via a shader.
Write your own vertex and fragment, and surface shaders.
Create your own image effects.
Write custom lighting models.
Understand ShaderLab and CG/HLSL.
Make your game look unique using shaders.
Learn the basic concepts and language you will need to program your own shaders and image effects for Unity's built-in render pipeline, for Unity 5 or above.
Learn and Understand Shaders with this Unity Course.
Learn about the different properties of a mesh that can be accessed and changed via a shader.
Write your own vertex and fragment, and surface shaders.
Create your own image effects.
Write custom lighting models.
Understand ShaderLab and CG/HLSL.
Make your game look unique using shaders.
In this course, you will learn the basics of programming shaders, from simple colour changes to whole screen image effects. We'll go through the different types of shader, Unity's quirks and in-built functions, and the different bits of code that make up a shader, before writing a full surface shader with a texture, normal map, metallic and emissive effects. We'll also look at writing a custom inspector for your shader. Once we've covered these basics, we'll look at creating an number of image effects, custom lighting models including cel shading, a sprite shader with a sway effect, and a dissolve effect.
A common criticism of Unity is that games made with the engine all have a similar look. Combat this by writing your own shaders rather than relying on Unity's inbuilt ones - learn how to improve the look and feel of your game.
By the end of this course, you will understand the basics of shader coding and will be able to create your own shaders. Source code is included to help you on your way.
This course is designed for people who can already use Unity and can program in C#, but who have no previous experience of programming shaders.
I present examples of increasing difficulty for each type of shader (surface, vertex/fragment and image effect) designed to help you to understand how shaders work so that you can be confident in creating your own effects.
For extra support, you can ask questions in the Q&A section, and I’ve provided the completed code examples for download in each Section. You’ll receive a certificate of completion once you finish the course.
What are shaders? Get a basic understanding!
An introduction to vertex and fragment shaders.
An introduction to surface shaders.
Learn when you should use a surface shader and when you should use a vertex and fragment shader.
Using .cginc files for a modular approach.
A note on the render pipeline.
Learn about the shared base code both types of shader use - naming, properties and subshaders.
Learn what pragma directives are and how to use them.
Examples of the properties a shader can have: 2D, CUBE, Range(a, b), Color etc - all here: https://docs.unity3d.com/Manual/SL-Properties.html
The different options for Tags.
A first look at a surface shader.
A first look at a vertex and fragment shader.
An introduction to co-ordinate systems that are useful when writing shaders.
An introduction to adding Unity's lighting models to shaders.
A note on code ordering.
Adding a texture to your simple surface shader.
Adding a normal map to your simple surface shader.
Adding occlusion to your simple surface shader.
Adding a metallic texture to your simple surface shader.
Adding an emissive map to your simple surface shader.
Writing a custom inspector GUI for the emissive shader.
Test your knowledge so far
An overview of the Inverted Image Effect section.
What is the Blit method and how do we use it in image effects?
Learn about culling and depth testing.
Writing the invert shader.
Writing the C# Blit script to make the shader work.
Learn how to write an image effect that can fade the screen to black and back.
Understand what Lerp does via a graph.
Learn how to write an image effect that can fade the screen to any solid colour and back.
Learn how to write an image effect that can desaturate the screen with a slider going from greyscale to normal saturation.
Understand what parametric equations are via a graph.
Learn how to write an image effect that distorts the screen using _Time.
Learn how to write an image effect that distorts the screen using a texture.
Learn how to write an image effect that shows chromatic aberration.
Understand what the dot product is.
Write a simple Lambert lighting model.
Write a cel shading lighting model.
Add lighting to a vertex and fragment shader.
Learn to program a simple sprite shader.
Understanding and adding Blend and transparency.
Understand what Step does via a graph.
Understanding the Step function.
Making the sprite sway using the vertex function.
Make this sprite shader work with non-directional lights.
Improve how the sprite sways and make each one sway at a different rate.
An overview of the Dissolve Surface Shader section.
Understanding and using the Clip function.
Adding the dissolve texture.
Understand what the Smoothstep function does via a graph.
Understand the Smoothstep function.
Understand what a ramped smoothstep function does via a graph.
Understand how the ramp works with the smoothstep function.
Add in the ramp contribution to complete the dissolve effect.
What is a triplanar shader and why would you want to use it?
Write a very simple version of a triplanar shader.
Learn how to improve the triplanar shader by adding a weighted element.
Add a second triplanar texture to the top of the object.
Improve the look by adding noise.
A bonus lecture containing £9.99/$9.99 codes for my other courses.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.