Intro to Shader Coding in Unity - An Improvised Live Course
Вставка
- Опубліковано 7 сер 2019
- 🔽 Click for Timestamps & Info
This is a several hours long improvised live introductory course to shader coding in Unity! It has been slightly edited in the beginning to remove useless info and me messing around with the mic. The rest is the stream in its fullest!
Timestamps available below!
💖 Patreon ❱ / acegikmo
🐦 Twitter ❱ / freyaholmer
📺 Twitch ❱ / acegikmo
💬 Discord ❱ / discord
🌸 Instagram ❱ / freya_holmer
2:00 - Pre-stream chatting
Part 1: The Basics
28:53 - Shader vs Material
35:27 - Anatomy of Shaders
58:32 - Shader Code
1:09:20 - UV Coordinates
1:34:00 - Normals
Part 2: Diffuse Lighting
1:48:05 - Lambert Shading & Dot Product
2:15:05 - Tonemapping & HDR
2:21:33 - Properties & Surface Color
Part 3: Specular Lighting
2:30:30 - View Vector & World Position
2:48:38 - Phong BRDF & View Reflection
3:00:58 - Gloss & Interpolators
Part 4: Manipulating Values
3:26:36 - Cel Shading & Thresholding
3:31:40 - Lerp, Inverse Lerp & Posterization
3:55:13 - Passing Data to Shaders
4:07:30 - Waves & Time
Part 5: Showcase
4:31:29 - Water in Garden of the Sea
4:37:03 - SDF Raytracing in Garden of the Sea
4:41:53 - SDF Raytracing of a Fractal
4:48:40 - Flowstorm Gameplay
4:50:24 - Flowstorm Level Editor - Наука та технологія
Nooo! Why did I have to find this right before bed? Now I have to watch it...
Exactly me rn XD
Neat, I'm not the only one
@@game_developer_ He's been taking a dirt nap for 2000 years.
Same but I am downloading video 😎
For those coming to this on February 9, 2020 or later:
_LightColor0 is declared in UnityLightingCommon.cginc instead of Lighting.cginc
Also I started this in a shader fiddling sandbox project that's an HDRP project. Clearly it needs some other input in the shader to take lighting from _LightColor0, as that did nothing to the objects the shader was applied to in that project, but worked in LWRP and basic 3D projects exactly as intended. Just something to keep in mind. It produced flat lighting in HDRP but functioned as intended in the others. Too much of a noob to resolve that.
Thank you!
Thaaanks!!!!
Big respect for teaching something for 5 hours straight without any proper break. I'm surprised, that I watched this whole video. Thanks for doing this! It really helped me.
This is the most complete "intro" I ever seen ! Coming from the creator of shaderforge it doesn't surprise me, it's amazing. I LOVE IT, I WANT MORE QUALITY CONTENT for the game dev community :D
Now, a year later, I'll be teaching a new course on Shaders next week, and it will all be live on twitch!
Jan 4th/7th/8th 9:00 CET at twitch.tv/acegikmo
Feel free to come join! 💗
@@acegikmo is it available on your youtube channel ?
@@juliehelbecque4115 yeah, it's the Shaders for Game Devs series! it's on the home page of my channel
@@acegikmo If I want to start to learn shaders suppose soon I will be or am Intermediate Unity dev just coding C#, should I start with this or the other one am
I realy hope you release an advance shader course some day . Im dying for these courses you are the best teacher ...
I love this video a lot.
Thank you so so so much for this Freya !
I am not even joking. This was genuinely a master class.
This has been the most educative 5 hours of my life! Thank you so much, there are so little content about shaders on the net. Please we need more tutorials. Your teaching skills are amazing.
Thank you .. SO freaking much! This is *so* thoughtful and hardworking.. I can't imagine how much time was put into making this video a reality, so again thank you Freya! This will help me immensely.
This is a course of unprecedented quality for youtube. Extremely well done: well spoken, good demonstrations, good structuring. Not very fond of Patreon personally, but I'd definitely donate for publishing this. Excellent work. People like you make the world a better place.
Just wanted to say that the beginning bit alone (with progress, subject and timestamps) is an incredible feature of the video that gives an amazing view on what the tutorial is about, what will be discussed, etc.
Kudos!
This is exactly what I was looking for! Thank you Freya for the work!
Amazing!! Thank you so much for this Freya, you rock!
This is the best stream tutorial i've ever found.
It's hard to catch someone's attention, but not only showing an intro of each part and what you go through but also time stamp it is great for everyone.
Wish I could've seen the stream when it came. Hope you reach over 100k viewers soon. You deserve it for the best complete tutorial on shading.
This is everything i've wanted to learn in Unity shading through coding and can't wait to make practical examples of this.
Thank you for this ! The visual approach, the clear explanations, the appeasing and calm delivery … you are an excellent tutor !
Thank you for uploading. This is incredible helpful and the best course to find!
I LOVE your content Freya! Thank you so much for this! :))
This is probably the best explanation of shaders I'll ever see, thank you very much. I'll be keeping an eye on when you stream so I can catch more game dev knowledge.
Thanks you. I always wanted to understand how shaders work and I really learned so much and had a lot of fun following along. Can't wait for the next one.
This has to be the best class on shaders I've ever seen. THANK YOU so much for this Freya. I promise to donate as soon as my financial situation gets better. Content like yours is invaluable.
Thanks so much for posting this. I have seen it before in my feed and avoided it because of the length, but now that I got around to watching it, I am actually learning what I want to know about shaders.
Thank you @ Freya Holmér This was fantastic, I LOVE your content, and it's exactly what I needed now that I start working as a tech artist, you're a godsend!
UA-cam recomendations is worthy sometimes. Please keep doing this
Masterclass, indeed. Thank you, Freya!
I'm so glad I found this video, thank you for this incredible information and teaching!
Finally a good intro to shaders ! I've been trying to learn how to write one for a few days but couldn't understand the documentation because I didn't have the basics. Thanks for the help :)
Freya I am a huge fan of your work coming from Twitter. Thank you for this video!
Another underrated channel. Thank you for this!
This has been unbelievably helpful to me, shaders seemed so unapproachable but after watching your video and following along it suddenly seems super easy.
Just framing shaders as data manipulators in my head was all I needed to get started
I've started to watch this video and I'm half way through now. Thanks to you, I understand shaders so much more and I actually get what you are doing. Part of my Bachelor's thesis is about writing an own shader and I had no idea how this worked. Now I think I actually got a chance haha
Thank you so much this is really helpful and it's the most beautiful tutorial I've ever seen!
I'm so glad I've found that. Great job!
Woah wtf have I stumbled upon???
This channel is a goldmine
I watched the "Writing Your First Shader in Unity" tutorial made by Unity themselves. But I should've started with your video. Very well explained! thanks
OH MY GOD! THIS IS WHAT I NEEDED! LOVE UUUUUUUU THANKSSS
Thank you for 5 hours wow what a gem!
Great tutorial! Loved every moment!
Thanks 🙏🏻 Im already obsessed with all of your work. Good luck with flowstorm I hope it becomes popular.
Thank you very much for this video. I just was looking for some stuff about shaders, and I'm here. New sub for you!😅
Amazing, thank you for this.
It's crazy that you are giving us this course for free
Thanks
Thank you very much. This is an invaluable resource for jumping into shader dev.
This is great, I wish I had found this sooner. Probably the longest video I ever watched in one go
Thank you for that! I'm sure you helped half of my class
this was awesome!! my understanding of shaders really just went from nothing to can write one! tytyty^^
Fantastic! Thank you so much for this.
Just amazing! Love it! ;)
Amazing! I learned a lot, thanks!
Thanks so much for this great video!
Really helps so much!
Wow, awesome with a long comprehensive intro tutorial!
Thanks for this tutorial. I might actually use this to get into shader coding.
Wow, 5hs!! Thank you!
42:20 No, you're not getting too theoretical, getting this base level understanding is REALLY helpful.
Thanks for the great course!
You are very good to explaining things. Thank you !
MOOOM! I found a treasure!!! here this channel! I always was looking for a good shader mentor with good explanation, I think I found her, Thank you!
Really helpful video! Thank you very much for your great educational contents!!! :D
Epic video thanks for posting
good tutorial
you're my favorite developer
You're such a great teacher!
Great stuff! Didn’t expect to sit through 5 hours of shader.
I see you aren't a member of the 1.25 x speed gang
wow just wow , more pls!
hey keep doing this Acegikmo the community is starting to use shader code even more
at first I thought it's too fast for me to understand until I understood that it's just a small overview of the stream
Same
Same, I was like OMG I'm so going to fail my exams
Yup, they coulda said that's what they were doing lol
Very good, great presentation too. Subscribed 🙂
I'm 2 minutes in and mesmerized how much you know... I'm so late to Unity... Stayed super bummed out of Flash for toooooo long. Trying to get back into the game.
Thank you for that explaination on Materials. I know shaders, (from OpenGL 3.x/Vulkan), I just didn't quite understand what the material was other than "thing you drag 'n drop the shader to"
yes!master class.thanks
you are very kind and this clip is very very useful.
goooood joooob
Thanks Freya Great video :D
Quality Content 100%
Excellent! I'd love to see a video on blending.
Wow, this is an awesome video. I learnt so many things, thank you very much for sharing so much. Is the flowstorm released?
Love your channel, gonna watch this all tomorrow. Quick question, how did you get into shader programming?
Your videos are awesome, but I simply haven't had the time to finish any of them. They are soooo long!
gonna make some popcorn before watching this one
Will need tons of popcorn and cola in proportion 1:2 for this one
Awesome, thanks!!!!!
When doing linstep between two "elevations" as a bumpmap, you get a linear constant normal between them - in normal map terms it would be a constant color. Using smoothstep (I prefer smootherstep for this) you get a constant change in curvature giving a much better bump effect, allowing specular highlights to be captured much nicer - in normal map terms it would be a gradient of colors. I'm not into game developing or Unity though, but I find the thinking interesting from a Blender shader authoring standpoint. I need to learn more about vector calculations and manipulations, even if light information is not available to us there.
Edit: Oh, and that game takes me way back to Space Taxi (C64) and Gravity Force (Amiga). Easter egg gameplay opportunity right there, lol :)
very nice!!
awesome!!!
1:28:10 at around that time when you were experimenting with the shader, you should divide the xyz coordinates by a number for example 100, do this since the xyz coordinates can be easily over but the colour is only between 0 and 1, if you divide by a number that will reduce numbers to between 0 and 1 for small values of xyz
Hello, What extensions are you using for visual studio to have the proper (or even partial) syntax highlighting and autocomplete? Your lessons have been fantastic. I've been using them along with the art of code and inigo quilez for SDF's. I've just been going through all of the catlike code tutorials as a starter and switching to these lessons as well. However, doing it without the highlighting and autocomplete has definitely been a challenge.
I think this is going to be useful :)
Hiya, great video! How did you get syntax highlighting within the shader? I tried "Shader Unity Support" but it didn't seem to perform syntax highlighting.
You're a goddess. Thank you!
How can a man be a goddess dude?
53:50 According to the OpenGL pipeline page, the Geometry Shader & Tessellation actually come after the Vertex Shader :
www.khronos.org/opengl/wiki/Rendering_Pipeline_Overview
Damn, this is gold mine. If you had udemy course I would buy all your courses.
You are the best
Nice!
Is there a possibility to get automatic subtitles ? As a non-native english speaker this is something useful.
Keep it up !
Thank you so much for doing this T_T I've been running into walls with shaders for 5 years and now I can almost feel my mind expanding in a span of hours! YOU'RE AWESOME!
Edit: Would it be possible to do a session for 2D shaders? I'm trying to apply techniques from this lesson but it seems like the Sprite Renderer has very different requirements.
what can i say......just......thank you so much!!!
You doing very interesting stuff
creamed my pants when i saw the course overview, the content of this course is beyond good!
Did you post the code somewhere? It would help me a lot!
Thanx for the tutorial! It was amazing!!
Pixel shader are the same of fragment shader, the name changes if you use hlsl (directX) or OpenGL
59:38 aaaaand I'm out.
Just kidding, great tutorial!
Thanks for this Freya!
Unity is now pushing the URP a lot. Does this mean that we need to only use Shader Graph to benefit for the URP improvements or do we still have better performance when coding our own shaders?
It sounds counter-intuitive to me that they are asking everybody to just use Shader Graph.
when you show your game at the end and you say: its very very basic... hahaha. Thanks for the video!
Is there gonna be a 2nd part? This is so awesome!
Maaaybe! I did do a part 2, but it wasn't as productive and informative. Although I do shaders almost every time I stream, and I'm always open for questions and showing stuff :)
Hi Freya, this is amazing thank-you! Would you be able to show the example at 3:55:00 of how to make another object reflect on another. or even give idea of how i would get there in writing here?
when a player moves past another player i want them to cast a shadow on the other.
Hope all is well where you are, allo from sunny Belfast. I kid we have 26mph winds today! :D
Cathy
usually that's very complicated unfortunately! you often rely on pipeline support for things like raymarched screen space reflections to have dynamic objects show up, or baked reflection probes for static objects
for things like dynamic shadows, it's also a pipeline thing rather than on individual objects, though there are some helpers in Unity that gets you there faster
Great video!
But i dont understand where to find materials about implementing principles of lightning, mesh forms changing(4:37), can someone recommend books/resources to do this?
Freya is so elegant.