Ned Makes Games
Rendering Grass In Unity URP Using Noise and Geometry Shaders! ✔️ 2020.3 | Game Dev Tutorial
updated
Have you ever wondered how lighting and shadows work in Unity? Or, do you want to write your own shaders for the Universal Render Pipeline, but without Shader Graph? Either because you need some special feature or just prefer writing code, this tutorial has you covered.
This is the fourth part in a series about writing HLSL shaders for URP. In this video, we take a look at PBR, or physically based rendering, and implement a variety of effects aiming to simulate different materials. By the end, we will support metals, glasses, glowing objects, plastics, and more!
Tutorial series:
📰 Article version ► nedmakesgames.medium.com/6c4ae9875529
🔀 Playlist ► youtube.com/playlist?list=PLAUha41PUKAYdsStTcjJbNV-GM3F2xm9s
1️⃣ The Graphics Pipeline ► youtu.be/KVWsAL37NGw
2️⃣ Lighting and Shadows ► youtu.be/1bm0McKAh9E
3️⃣ Transparency ► youtu.be/4zw6Vq5CzLY
4️⃣ PBR Materials ► You're watching it!
5️⃣ Advanced Lighting ► Coming soon
6️⃣ Advanced URP Features ► Coming soon
7️⃣ Custom Lighting Models ► Coming soon
8️⃣ Vertex Animation ► Coming soon
9️⃣ Interacting with C# ► Coming soon
👑 Join my Patreon to access tutorials early, download project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
2️⃣ 2nd Channel ► youtube.com/nedmakesgames2
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
📚 Reference scripts
► Getting started: gist.github.com/NedMakesGames/4c9bc4ae54c8c481f299538ce420b29a
► Complete: gist.github.com/NedMakesGames/78993a8b2b184a6e27ce2732f3db82a0
⏲️ Timestamps:
0:00 Intro
1:12 Physically based rendering
2:55 Debug views
3:28 Normal maps
7:07 Tangent space
10:34 Implementing normal mapping
16:20 Metalness
18:32 Specular workflow
20:27 Smoothness masks
22:11 Blend modes
25:41 Emission
27:12 Parallax occlusion
30:25 Clear coat
31:44 Toggling features
33:40 Channel packing
35:01 Wrap up and credits
🎖️ Credits, references and further reading:
• Unity Technologies: Shader Calibration Scene - assetstore.unity.com/packages/templates/tutorials/shader-calibration-scene-25422
• tonyflanagan: Thailand Girl — Animated - sketchfab.com/3d-models/thailand-girl-animated-a41f779fe45b4a04bdbf212e49b7f6b5
• Aleksei Vlasov ⚡ CRWDE: Phonograph - sketchfab.com/3d-models/phonograph-1503329e69034a0fbb360504a1c4fba9
• Helindu: The ultimate glass pack (cups and bottles) - sketchfab.com/3d-models/the-ultimate-glass-pack-cups-and-bottles-1ea37815fb0145e49487386d6924b341
• Leandro Nicolas: Snow Globe - sketchfab.com/3d-models/snow-globe-58a0f7e834c14413bb1a7e4262051180
• Shedmon: Wooden Slingshot - sketchfab.com/3d-models/wooden-slingshot-a909ff4b85a64acebe23795967aa9fe3
• Lennart Demes: Ground 054 - ambientcg.com/view?id=Ground054
• Juani Forn: Korean Ornamental Dragon - sketchfab.com/3d-models/korean-ornamental-dragon-a2b3bc23d51f46ba9b6108348f0c1098
• wallon: Audi R8 - sketchfab.com/3d-models/audi-r8-e17e438f076f4427a58d93aa779edaed
• Francesco Coldesina: Violin Burito - sketchfab.com/3d-models/violin-burito-1c5c16934893497eb2db8ec82e04e8bb
• Joey de Vries: Learn OpenGL, Parallax Mapping - learnopengl.com/Advanced-Lighting/Parallax-Mapping
• Catlike Coding: Texturing a Sphere - catlikecoding.com/unity/tutorials/procedural-meshes/uv-sphere/texturing-a-sphere/latlon-normal-map.png
• Austin Newman: Transition Woosh - https://austinmakesfilms.sellfy.store/p/MxNV/
Music provided by Epidemic Sound
#GameDev #IndieDev #Unity
📚 Or read it here: nedmakesgames.medium.com/6c4ae9875529
✔️ Tutorial tested in 2020.3 and 2021.3
Have you ever wondered how lighting and shadows work in Unity? Or, do you want to write your own shaders for the Universal Render Pipeline, but without Shader Graph? Either because you need some special feature or just prefer writing code, this tutorial has you covered.This is the fourth part in a series about writing HLSL shaders for URP.
In this video, we take a look at PBR, or physically based rendering, and implement a variety of effects aiming to simulate different materials. By the end, we will support metals, glasses, glowing objects, plastics, and more!
👑 Join my Patreon to access tutorials early, download project files, vote on future topics, and more! Thank you so much!► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!► nedmakesgames.github.io
2️⃣ 2nd Channel ► youtube.com/nedmakesgames2
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
🎖️ Credits, references and further reading:
• Unity Technologies: Shader Calibration Scene - assetstore.unity.com/packages/templates/tutorials/shader-calibration-scene-25422
• tonyflanagan: Thailand Girl — Animated - sketchfab.com/3d-models/thailand-girl-animated-a41f779fe45b4a04bdbf212e49b7f6b5
• Aleksei Vlasov ⚡ CRWDE: Phonograph - sketchfab.com/3d-models/phonograph-1503329e69034a0fbb360504a1c4fba9
• Helindu: The ultimate glass pack (cups and bottles) - sketchfab.com/3d-models/the-ultimate-glass-pack-cups-and-bottles-1ea37815fb0145e49487386d6924b341
• Leandro Nicolas: Snow Globe - sketchfab.com/3d-models/snow-globe-58a0f7e834c14413bb1a7e4262051180
• Shedmon: Wooden Slingshot - sketchfab.com/3d-models/wooden-slingshot-a909ff4b85a64acebe23795967aa9fe3
• Lennart Demes: Ground 054 - ambientcg.com/view?id=Ground054
• Juani Forn: Korean Ornamental Dragon - sketchfab.com/3d-models/korean-ornamental-dragon-a2b3bc23d51f46ba9b6108348f0c1098
• wallon: Audi R8 - sketchfab.com/3d-models/audi-r8-e17e438f076f4427a58d93aa779edaed
• Francesco Coldesina: Violin Burito - sketchfab.com/3d-models/violin-burito-1c5c16934893497eb2db8ec82e04e8bb
• Joey de Vries: Learn OpenGL, Parallax Mapping - learnopengl.com/Advanced-Lighting/Parallax-Mapping
• Catlike Coding: Texturing a Sphere - catlikecoding.com/unity/tutorials/procedural-meshes/uv-sphere/texturing-a-sphere/latlon-normal-map.png
• Austin Newman: Transition Woosh - https://austinmakesfilms.sellfy.store/p/MxNV/
Music provided by Epidemic Sound
#GameDev #IndieDev #shorts
Have you ever wondered how lighting and shadows work in Unity? Or, do you want to write your own shaders for the Universal Render Pipeline, but without Shader Graph? Either because you need some special feature or just prefer writing code, this tutorial has you covered.
In fact, this is the third part in a series about writing HLSL shaders for URP. In this video, I aim to demystify transparency! I'll showcase how to work with blended and cut out transparency. Along the way, we'll learn about custom inspectors, render queues, culling, shader features, and double sided lighting.
Tutorial series:
📰 Article version ► nedmakesgames.medium.com/f6ccd6686507
🔀 Playlist ► youtube.com/playlist?list=PLAUha41PUKAYdsStTcjJbNV-GM3F2xm9s
1️⃣ The Graphics Pipeline ► youtu.be/KVWsAL37NGw
2️⃣ Lighting and Shadows ► youtu.be/1bm0McKAh9E
3️⃣ Transparency ► You're watching it!
4️⃣ PBR Materials ► youtu.be/5GGISvt4KEA
5️⃣ Advanced Lighting ► Coming soon
6️⃣ Advanced URP Features ► Coming soon
7️⃣ Custom Lighting Models ► Coming soon
8️⃣ Vertex Animation ► Coming soon
9️⃣ Interacting with C# ► Coming soon
👑 Join my Patreon to access tutorials early, download project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
2️⃣ 2nd Channel ► youtube.com/nedmakesgames2
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
📚 Reference scripts
► Getting started: gist.github.com/NedMakesGames/0fc3cc299443d7efe81f25486c7178ec
► Complete: gist.github.com/NedMakesGames/4c9bc4ae54c8c481f299538ce420b29a
⏲️ Timestamps:
0:00 Intro
1:10 Alpha blending
2:37 ZWrite modes
3:18 Render queues & draw order
5:57 Partial shadows
6:22 Custom inspectors
12:24 Alpha cutouts
14:26 clip & discard
15:33 Customizable cutoffs
16:30 Keywords & shader features
20:02 Common hlsl files
22:40 Clipping shadows
24:16 Culling
25:50 Double sided lighting
28:50 Face rendering modes
31:05 Wrap up and credits
🎖️ Credits, references and further reading:
• Unity Technologies: Shader Calibration Scene - assetstore.unity.com/packages/templates/tutorials/shader-calibration-scene-25422
• tonyflanagan: Thailand Girl — Animated - sketchfab.com/3d-models/thailand-girl-animated-a41f779fe45b4a04bdbf212e49b7f6b5
• Aleksei Vlasov ⚡ CRWDE: Phonograph - sketchfab.com/3d-models/phonograph-1503329e69034a0fbb360504a1c4fba9
• gugusheep: VR Showroom Gallery for product placement - sketchfab.com/3d-models/vr-showroom-gallery-for-product-placement-d8f967fb44ea46cb9b62e720c6485ac0
• Helindu: The ultimate glass pack (cups and bottles) - sketchfab.com/3d-models/the-ultimate-glass-pack-cups-and-bottles-1ea37815fb0145e49487386d6924b341
• Leandro Nicolas: Snow Globe - sketchfab.com/3d-models/snow-globe-58a0f7e834c14413bb1a7e4262051180
• Andriy Shekh: Pine tree - sketchfab.com/3d-models/pine-tree-e52769d653cd4e52a4acff3041961e65
• Sergej Majboroda: Studio Small 09 - polyhaven.com/a/studio_small_09
Music provided by Epidemic Sound
#GameDev #IndieDev #Unity
📚 Or read it here: nedmakesgames.medium.com/f6ccd6686507
Have you ever wondered how lighting and shadows work in Unity? Or, do you want to write your own shaders for the Universal Render Pipeline, but without Shader Graph? Either because you need some special feature or just prefer writing code, this tutorial has you covered.
In fact, this is the third part in a series about writing HLSL shaders for URP. In this video, I aim to demystify transparency! I'll showcase how to work with blended and cut out transparency. Along the way, we'll learn about custom inspectors, render queues, culling, shader features, and double sided lighting.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon to watch videos early, download all project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Visit my website for a searchable list of tutorials!
► nedmakesgames.github.io
2️⃣ 2nd Channel ► youtube.com/nedmakesgames2
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
🎖️ Credits, references and further reading:
• Unity Technologies: Shader Calibration Scene - assetstore.unity.com/packages/templates/tutorials/shader-calibration-scene-25422
• tonyflanagan: Thailand Girl — Animated - sketchfab.com/3d-models/thailand-girl-animated-a41f779fe45b4a04bdbf212e49b7f6b5
• Aleksei Vlasov ⚡ CRWDE: Phonograph - sketchfab.com/3d-models/phonograph-1503329e69034a0fbb360504a1c4fba9
• gugusheep: VR Showroom Gallery for product placement - sketchfab.com/3d-models/vr-showroom-gallery-for-product-placement-d8f967fb44ea46cb9b62e720c6485ac0
• Helindu: The ultimate glass pack (cups and bottles) - sketchfab.com/3d-models/the-ultimate-glass-pack-cups-and-bottles-1ea37815fb0145e49487386d6924b341
• Leandro Nicolas: Snow Globe - sketchfab.com/3d-models/snow-globe-58a0f7e834c14413bb1a7e4262051180
• Andriy Shekh: Pine tree - sketchfab.com/3d-models/pine-tree-e52769d653cd4e52a4acff3041961e65
• Sergej Majboroda: Studio Small 09 - polyhaven.com/a/studio_small_09
Music provided by Epidemic Sound
#GameDev #IndieDev #Unity
Have you ever wondered how lighting and shadows work in Unity? Or, do you want to write your own shaders for the Universal Render Pipeline, but without Shader Graph? Either because you need some special feature or just prefer writing code, this tutorial has you covered.
In fact, this is the second part in a series about writing HLSL shaders for URP. In this video, I will show how to add lighting to a shader. This includes a simple explanation of shadow mapping - how objects cast and receive shadows in URP - as well as an introduction to keywords and shader variants - an important concept when writing shaders!
Tutorial series:
📰 Article version ►nedmakesgames.medium.com/112d370c2b75
🔀 Playlist ► youtube.com/playlist?list=PLAUha41PUKAYdsStTcjJbNV-GM3F2xm9s
1️⃣ The Graphics Pipeline ► youtu.be/KVWsAL37NGw
2️⃣ Lighting and Shadows ► You're watching it!
3️⃣ Transparency ► youtu.be/4zw6Vq5CzLY
4️⃣ PBR Materials ► youtu.be/5GGISvt4KEA
5️⃣ Advanced Lighting ► Coming soon
6️⃣ Advanced URP Features ► Coming soon
7️⃣ Custom Lighting Models ► Coming soon
8️⃣ Vertex Animation ► Coming soon
9️⃣ Interacting with C# ► Coming soon
👑 Join my Patreon to access tutorials early, download project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
2️⃣ 2nd Channel ► youtube.com/nedmakesgames2
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
📚 Reference scripts
► gist.github.com/NedMakesGames/0fc3cc299443d7efe81f25486c7178ec
⏲️ Timestamps:
0:00 Intro
1:10 Blinn-Phong
2:53 Hash-if statements
4:56 Albedo
5:20 Normals
8:26 Specular highlights
9:52 Keywords
10:43 Smoothness
11:45 Shadow mapping
13:58 Shadowcoords
14:30 Multi compiles
15:58 Cascades and soft shadows
18:17 The frame debugger
19:32 The shadow caster pass
21:35 The depth buffer
22:37 Shadow acne
25:12 ColorMask
25:40 Wrap up and credits
🎖️ Credits, references and further reading:
• Unity Technologies: Shader Calibration Scene - assetstore.unity.com/packages/templates/tutorials/shader-calibration-scene-25422
• Martijn Vaes: DAE — Bilora Bella 46 Camera — Game Ready Asset - sketchfab.com/3d-models/dae-bilora-bella-46-camera-game-ready-asset-eeb9d9f0627f4783b5d16a8732f0d1a4
• tonyflanagan: Thailand Girl — Animated - sketchfab.com/3d-models/thailand-girl-animated-a41f779fe45b4a04bdbf212e49b7f6b5
• Aleksei Vlasov ⚡ CRWDE: Phonograph - sketchfab.com/3d-models/phonograph-1503329e69034a0fbb360504a1c4fba9
• gugusheep: VR Showroom Gallery for product placement - sketchfab.com/3d-models/vr-showroom-gallery-for-product-placement-d8f967fb44ea46cb9b62e720c6485ac0
• Andreas Mischok: Drackenstein Quarry - polyhaven.com/a/drackenstein_quarry
Music provided by Epidemic Sound
#GameDev #IndieDev #Unity
📚 Or read it here: nedmakesgames.medium.com/112d370c2b75
Would you like to start writing shaders but don’t know where to start? Or, have you encountered a limitation of URP’s Shader Graph you need to overcome? In this tutorial series, I’ll walk you through writing a fully featured, general purpose shader for Unity’s Universal Render Pipeline — exclusively in code. Don't know HLSL or ShaderLab? No problem.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon to watch videos early, download all project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Visit my website for a searchable list of tutorials!
► nedmakesgames.github.io
2️⃣ 2nd Channel ► youtube.com/nedmakesgames2
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
🎖️ Credits, references and further reading:
• Unity Technologies: Shader Calibration Scene - assetstore.unity.com/packages/templates/tutorials/shader-calibration-scene-25422
• Martijn Vaes: DAE — Bilora Bella 46 Camera — Game Ready Asset - sketchfab.com/3d-models/dae-bilora-bella-46-camera-game-ready-asset-eeb9d9f0627f4783b5d16a8732f0d1a4
• tonyflanagan: Thailand Girl — Animated - sketchfab.com/3d-models/thailand-girl-animated-a41f779fe45b4a04bdbf212e49b7f6b5
• Aleksei Vlasov ⚡ CRWDE: Phonograph - sketchfab.com/3d-models/phonograph-1503329e69034a0fbb360504a1c4fba9
• gugusheep: VR Showroom Gallery for product placement - sketchfab.com/3d-models/vr-showroom-gallery-for-product-placement-d8f967fb44ea46cb9b62e720c6485ac0
• Andreas Mischok: Drackenstein Quarry - polyhaven.com/a/drackenstein_quarry
Music provided by Epidemic Sound
#GameDev #IndieDev #Unity
✔️ Tutorial tested in 2020.3 and 2021.3
🚨 Edits: If you create your project from a template, ensure "Depth Priming Mode" is set to "Disabled" in your URP settings asset. To find this asset, open Project Settings, navigate to Graphics, and select the renderer asset at the top of the window.
Would you like to start writing shaders but don’t know where to start? Or, have you encountered a limitation of URP’s Shader Graph you need to overcome? In this tutorial series, I’ll walk you through writing a fully featured, general purpose shader for Unity’s Universal Render Pipeline — exclusively in code. Don't know HLSL or ShaderLab? No problem.
Tutorial series:
📰 Article version ►nedmakesgames.medium.com/writing-unity-urp-shaders-with-code-part-1-the-graphics-pipeline-and-you-798cbc941cea
🔀 Playlist ► youtube.com/playlist?list=PLAUha41PUKAYdsStTcjJbNV-GM3F2xm9s
1️⃣ The Graphics Pipeline ► You're watching it!
2️⃣ Lighting and Shadows ► youtu.be/1bm0McKAh9E
3️⃣ Transparency ► youtu.be/4zw6Vq5CzLY
4️⃣ PBR Materials ► youtu.be/5GGISvt4KEA
5️⃣ Advanced Lighting ► Coming soon
6️⃣ Advanced URP Features ► Coming soon
7️⃣ Custom Lighting Models ► Coming soon
8️⃣ Vertex Animation ► Coming soon
9️⃣ Interacting with C# ► Coming soon
👑 Join my Patreon to access tutorials early, download project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
2️⃣ 2nd Channel ► youtube.com/nedmakesgames2
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
📚 Reference scripts
► Flat white: gist.github.com/NedMakesGames/e102eaf3b0918a75d538053ab1853914
► Flat color: gist.github.com/NedMakesGames/863ecfbe1c77dc9aefb4d5ebc72d19c9
► Textures: gist.github.com/NedMakesGames/a10b965c8b453e07e9cedb29f155ee3b
⏲️ Timestamps:
0:00 Intro
0:53 Ad
1:26 Tutorial scope
2:58 Project set up
4:50 ShaderLab
7:02 Intro to HLSL
8:52 The Graphics Pipeline
9:34 The Input Assembler
11:09 The Vertex Stage
12:40 Spaces
15:45 The Rasterizer
16:04 The Fragment Stage
15:52 Hello World
18:54 Properties in ShaderLab
21:34 Properties in HLSL
22:31 Texture Properties
23:46 Macros
25:16 Sampling a Texture
26:35 What Are UVs
27:12 UVs in the Vertex Function
29:06 Interpolation
30:22 Hello Textures
31:26 Wrap up and credits
🎖️ Credits, references and further reading:
• Unity Technologies: Shader Calibration Scene - assetstore.unity.com/packages/templates/tutorials/shader-calibration-scene-25422
• shedmon: Wooden Slingshot - sketchfab.com/3d-models/wooden-slingshot-a909ff4b85a64acebe23795967aa9fe3
• Martijn Vaes: DAE — Bilora Bella 46 Camera — Game Ready Asset - sketchfab.com/3d-models/dae-bilora-bella-46-camera-game-ready-asset-eeb9d9f0627f4783b5d16a8732f0d1a4
• tonyflanagan: Thailand Girl — Animated - sketchfab.com/3d-models/thailand-girl-animated-a41f779fe45b4a04bdbf212e49b7f6b5
• Kelvin Valerio: Brown Cat with Green Eyes - pexels.com/photo/brown-cat-with-green-eyes-617278
• owowowsam: Mini Earth - cgtrader.com/free-3d-models/space/planet/mini-earth
• Tom Patterson: Natural Earth III - http://www.shadedrelief.com/natural3/pages/textures.html
• W3schools: CSS RGB Colors - w3schools.com/css/css_colors_rgb.asp
Music: purple-planet.com
#GameDev #IndieDev #Unity
📚 Or read it here: nedmakesgames.medium.com/writing-unity-urp-shaders-with-code-part-1-the-graphics-pipeline-and-you-798cbc941cea
Would you like to start writing shaders but don’t know where to start? Or, have you encountered a limitation of URP’s Shader Graph you need to overcome? In this tutorial series, I’ll walk you through writing a fully featured, general purpose shader for Unity’s Universal Render Pipeline — exclusively in code. Don't know HLSL or ShaderLab? No problem.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon to watch videos early, download all project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Visit my website for a searchable list of tutorials!
► nedmakesgames.github.io
2️⃣ 2nd Channel ► youtube.com/nedmakesgames2
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
🎖️ Credits, references and further reading:
• Unity Technologies: Shader Calibration Scene - assetstore.unity.com/packages/templates/tutorials/shader-calibration-scene-25422
• shedmon: Wooden Slingshot - sketchfab.com/3d-models/wooden-slingshot-a909ff4b85a64acebe23795967aa9fe3
• Martijn Vaes: DAE — Bilora Bella 46 Camera — Game Ready Asset - sketchfab.com/3d-models/dae-bilora-bella-46-camera-game-ready-asset-eeb9d9f0627f4783b5d16a8732f0d1a4
• tonyflanagan: Thailand Girl — Animated - sketchfab.com/3d-models/thailand-girl-animated-a41f779fe45b4a04bdbf212e49b7f6b5
• Kelvin Valerio: Brown Cat with Green Eyes - pexels.com/photo/brown-cat-with-green-eyes-617278
• owowowsam: Mini Earth - cgtrader.com/free-3d-models/space/planet/mini-earth
• Tom Patterson: Natural Earth III - http://www.shadedrelief.com/natural3/pages/textures.html
• W3schools: CSS RGB Colors - w3schools.com/css/css_colors_rgb.asp
#GameDev #IndieDev #Unity
Hi! Tessellation shaders are advanced shaders which can subdivide triangles in a mesh, creating new vertices. You can move these around for a variety of cool effects! This tutorial aims to give you a deep understanding of tessellation shaders in Unity by first explaining how to write your own and then showcasing several algorithms which use them. Some effects include advance culling, dynamic level of detail, curved triangles, smoothed silhouettes, height map rendering, and procedural meshes.
📚 If you prefer reading, check out the written version of this tutorial here:
► nedmakesgames.medium.com/mastering-tessellation-shaders-and-their-many-uses-in-unity-9caeb760150e
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon to watch videos early, download all project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Visit my website for a searchable list of tutorials!
► nedmakesgames.github.io
2️⃣ 2nd Channel ► youtube.com/nedmakesgames2
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
💻 Script reference:
► Tessellation factors simple shader: gist.github.com/NedMakesGames/09784830b01e2b7c5f0559e807d48815
► Complete tessellation sample shader: gist.github.com/NedMakesGames/808a04367e60947a7966976f918081b2
⏲️ Timestamps:
0:00 Intro
0:46 Tutorial scope
2:10 What is tessellation?
3:32 Anatomy of a tessellation shader
7:15 The hull function
9:03 The patch constant function
10:11 The domain function
11:05 Tessellation factors
12:57 Partitioning modes
13:59 Optimizing with culling
14:29 Frustum culling
15:37 Winding/backface culling
17:01 Culling tolerance
17:31 Dynamic tessellation factors
19:09 Screen space factors
19:56 Camera depth factors
20:45 Mesh data factors
21:39 Deformed patches factors
22:20 Curved triangles and smoothed silhouettes
23:10 Phong tessellation
24:52 Refining models for curved triangles
25:46 PN triangles
28:47 Quadratic normal interpolation
31:18 Height map displacement
32:45 Normals from height maps
34:24 Procedural height maps
36:08 Wrap up and credits
🎖️ Credits, references and further reading:
• Lee Rosevere: Music for Podcasts - leerosevere.bandcamp.com
• Austin Newman: Transition woosh - https://austinmakesfilms.sellfy.store/p/MxNV/
• Samcro spm: 3D Sword and Shield Game Ready model - turbosquid.com/3d-models/3d-sword-shield-ready-model-1706509
• SHULDYAKOV: 3D model Cat Low Polygon Art Farm Animal Free VR / AR / low-poly - turbosquid.com/3d-models/3d-model-animal-cat-farm-1266312
• Lennart Demes: Fabric 060 - ambientcg.com/view?id=Fabric060 and Rocks 022 - ambientcg.com/view?id=Rocks022
• Iñigo Quilez: Noise - Gradient - 3D - Deriv - shadertoy.com/view/4dffRH
• Scratchapixel: Perlin Noise - scratchapixel.com/lessons/procedural-generation-virtual-worlds/perlin-noise-part-2/perlin-noise-computing-derivatives and Geometry - scratchapixel.com/lessons/mathematics-physics-for-computer-graphics/geometry/transforming-normals
• Freya Holmér: The Beauty of Bézier Curves - youtube.com/watch?v=aVwxzDHniEw
• kjpargeter: Detailed wireframe terrain landscape in black and white - freepik.com/free-vector/detailed-wireframe-terrain-landscape-black-white_7178727.htm
• OpenClipart-Vectors: Wireframe Human Head - pixabay.com/vectors/head-wireframe-graphics-model-3d-152528
• CatLikeCoding: Flat and Wireframe Shading, Tessellation, and Surface Displacement - catlikecoding.com/unity/tutorials/advanced-rendering/flat-and-wireframe-shading
• Alex Vlachos, Jörg Peter, Chas Boyd, Jason L. Mitchell: Curved PN Triangles - alex.vlachos.com/graphics/CurvedPNTriangles.pdf
• Tamy Boubekeur, Marc Alexa: Phong Tessellation - http://www.klayge.org/material/4_0/PhongTess/PhongTessellation.pdf
• Alan Wolfe: Bézier Triangles - blog.demofox.org/2019/12/07/bezier-triangles
• Fabian Giesen: View frustum culling - fgiesen.wordpress.com/2010/10/17/view-frustum-culling
#GameDev #IndieDev #Unity
📚 Or read it here: nedmakesgames.medium.com/mastering-tessellation-shaders-and-their-many-uses-in-unity-9caeb760150e
Tessellation shaders are advanced shaders which can subdivide triangles in a mesh, creating new vertices which can be moved around for a variety of cool effects! This tutorial aims to give you a deep understanding of tessellation shaders in Unity by first explaining how to write your own and then showcasing several effects using them. These include advanced culling, dynamic level of detail, curved triangles, smoothed silhouettes, height map rendering, and procedural meshes.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon to watch videos early, download all project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Visit my website for a searchable list of tutorials!
► nedmakesgames.github.io
2️⃣ 2nd Channel ► youtube.com/nedmakesgames2
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
🎖️ Credits, references and further reading:
• Lee Rosevere: Music for Podcasts - leerosevere.bandcamp.com
• Austin Newman: Transition woosh - https://austinmakesfilms.sellfy.store/p/MxNV/
• Samcro spm: 3D Sword and Shield Game Ready model - turbosquid.com/3d-models/3d-sword-shield-ready-model-1706509
• SHULDYAKOV: 3D model Cat Low Polygon Art Farm Animal Free VR / AR / low-poly - turbosquid.com/3d-models/3d-model-animal-cat-farm-1266312
• Lennart Demes: Fabric 060 - ambientcg.com/view?id=Fabric060 and Rocks 022 - ambientcg.com/view?id=Rocks022
• Iñigo Quilez: Noise - Gradient - 3D - Deriv - shadertoy.com/view/4dffRH
• Scratchapixel: Perlin Noise - scratchapixel.com/lessons/procedural-generation-virtual-worlds/perlin-noise-part-2/perlin-noise-computing-derivatives and Geometry - scratchapixel.com/lessons/mathematics-physics-for-computer-graphics/geometry/transforming-normals
• Freya Holmér: The Beauty of Bézier Curves - youtube.com/watch?v=aVwxzDHniEw
• kjpargeter: Detailed wireframe terrain landscape in black and white - freepik.com/free-vector/detailed-wireframe-terrain-landscape-black-white_7178727.htm
• OpenClipart-Vectors: Wireframe Human Head - pixabay.com/vectors/head-wireframe-graphics-model-3d-152528
• CatLikeCoding: Flat and Wireframe Shading, Tessellation, and Surface Displacement - catlikecoding.com/unity/tutorials/advanced-rendering/flat-and-wireframe-shading
• Alex Vlachos, Jörg Peter, Chas Boyd, Jason L. Mitchell: Curved PN Triangles - alex.vlachos.com/graphics/CurvedPNTriangles.pdf
• Tamy Boubekeur, Marc Alexa: Phong Tessellation - http://www.klayge.org/material/4_0/PhongTess/PhongTessellation.pdf
• Alan Wolfe: Bézier Triangles - blog.demofox.org/2019/12/07/bezier-triangles
• Fabian Giesen: View frustum culling - fgiesen.wordpress.com/2010/10/17/view-frustum-culling
#GameDev #IndieDev #Unity
✔️ Tutorial tested in Unity URP 2020.3 & 2021.3
Plants, foliage and vegetation are really challenging to get right! It requires a custom made shader to tackle issues like translucency and wind. In this tutorial, I show how to create a foliage shader in the Unity URP (Universal Render Pipeline) Shader Graph. It supports all light types, shadows, and baked lighting, and includes several strategies for translucency, like separate normals for diffuse lighting and subsurface scattering. I also implement programmable wind animation and show a simple method to reconstruct normals. For grass billboards and tree leaf cards, I also demonstrate how to create double sided materials with normal map support.
📚 If you prefer reading, check out the written version of this tutorial here:
► nedmakesgames.medium.com/creating-a-foliage-shader-in-unity-urp-shader-graph-5854bf8dc4c2
✏️ Text-only shader version coming soon!
🌟Previous videos:
► Custom lighting in the shader graph: youtu.be/GQyCPaThQnA
► Intro to culling and double sided rendering: youtu.be/3WWKHt92XKQ
► Creating a grass mesh with a compute shader: youtu.be/6SFTcDNqwaA
🌞 Interactive lighting math explorer:
► nedmakesgames.itch.io/lighting-explorer
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon to watch videos early, download all project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Visit my website for a searchable list of tutorials!
► nedmakesgames.github.io
2️⃣ 2nd Channel ► youtube.com/nedmakesgames2
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
💻 Script reference:
► gist.github.com/NedMakesGames/5a8b9fc186d62d277f79ab2172457801
⏲️ Timestamps:
0:00 Intro
0:26 Core ad
1:58 Tutorial info
3:35 Project set up
6:41 Two sided rendering
9:27 Shape normals
15:54 Translucent lighting
21:12 Data maps
25:23 Wind
34:14 Normal reconstruction
40:25 Examples
41:23 Wrap up and credits
🎖️ Credits, references and further reading:
• Lee Rosevere: Music for Podcasts - leerosevere.bandcamp.com
• Cyanilux: URP_ShaderGraphCustomLighting - github.com/Cyanilux/URP_ShaderGraphCustomLighting
• XfrogPlants: Curry Leaf Tree Free 3D model - cgtrader.com/free-3d-models/plant/other/xfrogplants-curry-leaf-tree
• Ada_King: LowPoly Trees & Carrot & Crystal 3D model - turbosquid.com/3d-models/blender-carrot-crystal-oak-tree-3d-model-1189852
• Lennart Demes: Grass 001 - ambientcg.com/view?id=Grass001
• Baptiste Manteau: Bark old ginko - substance3d.adobe.com/community-assets/assets/e6c4bae683772a06aabb38dc1a13b3203060acd1
• Render Knight: Fantasy Skybox FREE - assetstore.unity.com/packages/2d/textures-materials/sky/fantasy-skybox-free-18353
• Alan Zucconi: Fast Subsurface Scattering in Unity - alanzucconi.com/2017/08/30/fast-subsurface-scattering-1
• GetDeadEntertainment: CliffRockTwo 3D model - turbosquid.com/3d-models/rock-cliff-3d-model-1623414
• TotallyRonja: Vertex Displacement - ronja-tutorials.com/post/015-wobble-displacement
• CatLikeCoding: Rendering 6 (normal mapping) - catlikecoding.com/unity/tutorials/rendering/part-6
• Ben Golus: Normal Mapping for a Triplanar Shader - bgolus.medium.com/normal-mapping-for-a-triplanar-shader-10bf39dca05a#0576
• Ben Golus: Generating Perfect Normal Maps for Unity (and Other Programs) - bgolus.medium.com/generating-perfect-normal-maps-for-unity-f929e673fc57#c508
• Travel Photographer: garden hedges (photo of Atlanta Botanical Garden) - stocksnap.io/photo/garden-hedges-ZKKBLIVMNW
Neon Laser Horizon by Kevin MacLeod
Link: incompetech.filmmusic.io/song/7015-neon-laser-horizon
License: filmmusic.io/standard-license
#GameDev #IndieDev #Unity
► youtu.be/x4ufs1OzPIw
Do you have a material that doesn't look quite right in Unity's URP lit shader graph? Or would you like to experiment with stylized art styles with the convenience of the shader graph? In this tutorial, I show how to implement custom lighting, allowing you to solve both those problems. Afterwards, you could extend the graphs I show here to make a toon shader or handle difficult materials, like plant foliage, hair, skin, or fabric.
📚 If you prefer reading, check out the written version of this tutorial here:
► nedmakesgames.medium.com/creating-a-foliage-shader-in-unity-urp-shader-graph-5854bf8dc4c2
🌞 Interactive lighting math explorer:
► nedmakesgames.itch.io/lighting-explorer
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon to watch videos early, download all project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Visit my website for a searchable list of tutorials!
► nedmakesgames.github.io
2️⃣ 2nd Channel ► youtube.com/nedmakesgames2
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
🎖️ Credits, references and further reading:
• Lee Rosevere: Music for Podcasts - leerosevere.bandcamp.com
• Cyanilux: URP_ShaderGraphCustomLighting - github.com/Cyanilux/URP_ShaderGraphCustomLighting
• XfrogPlants: Curry Leaf Tree Free 3D model - cgtrader.com/free-3d-models/plant/other/xfrogplants-curry-leaf-tree
• Ada_King: LowPoly Trees & Carrot & Crystal 3D model - turbosquid.com/3d-models/blender-carrot-crystal-oak-tree-3d-model-1189852
• Lennart Demes: Grass 001 - ambientcg.com/view?id=Grass001
• Baptiste Manteau: Bark old ginko - substance3d.adobe.com/community-assets/assets/e6c4bae683772a06aabb38dc1a13b3203060acd1
• Render Knight: Fantasy Skybox FREE - assetstore.unity.com/packages/2d/textures-materials/sky/fantasy-skybox-free-18353
• Alan Zucconi: Fast Subsurface Scattering in Unity - alanzucconi.com/2017/08/30/fast-subsurface-scattering-1
• GetDeadEntertainment: CliffRockTwo 3D model - turbosquid.com/3d-models/rock-cliff-3d-model-1623414
• TotallyRonja: Vertex Displacement - ronja-tutorials.com/post/015-wobble-displacement
• CatLikeCoding: Rendering 6 (normal mapping) - catlikecoding.com/unity/tutorials/rendering/part-6
• Ben Golus: Normal Mapping for a Triplanar Shader - bgolus.medium.com/normal-mapping-for-a-triplanar-shader-10bf39dca05a#0576
• Ben Golus: Generating Perfect Normal Maps for Unity (and Other Programs) - bgolus.medium.com/generating-perfect-normal-maps-for-unity-f929e673fc57#c508
• Travel Photographer: garden hedges (photo of Atlanta Botanical Garden) - stocksnap.io/photo/garden-hedges-ZKKBLIVMNW
Neon Laser Horizon by Kevin MacLeod
Link: incompetech.filmmusic.io/song/7015-neon-laser-horizon
License: filmmusic.io/standard-license
#Shorts #Gamedev #Unity
Do you have a material that doesn't look quite right in Unity's URP lit shader graph? Or would you like to experiment with stylized art styles with the convenience of the shader graph? In this tutorial, I show how to implement custom lighting, allowing you to solve both those problems. Afterwards, you could extend the graphs I show here to make a toon shader or handle difficult materials, like plant foliage, hair, skin, or fabric.
📚 If you prefer reading, check out the written version of this tutorial here:
► nedmakesgames.medium.com/creating-custom-lighting-in-unitys-shader-graph-with-universal-render-pipeline-5ad442c27276
🌞 Interactive lighting math explorer:
► nedmakesgames.itch.io/lighting-explorer
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon to watch videos early, download all project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Visit my website for a searchable list of tutorials!
► nedmakesgames.github.io
2️⃣ 2nd Channel ► youtube.com/nedmakesgames2
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
💻 Script reference:
► gist.github.com/NedMakesGames/13e64bed3a84e81826b05e5fb0214e70
⏲️ Timestamps:
0:00 Intro and Scope
1:43 Project setup
4:48 Diffuse lighting
7:49 Specular lighting
10:22 Shadows
13:46 Additional lights
15:51 Global illumination & shadow masks
23:13 Fog
24:10 Upcoming changes
24:45 Wrap up and credits
🎖️ Credits, references and further reading:
• Lee Rosevere: Music for Podcasts - leerosevere.bandcamp.com
• Cyanilux: URP_ShaderGraphCustomLighting - github.com/Cyanilux/URP_ShaderGraphCustomLighting
• Ida Faber: Lowpoly Shiba Inu Dog - artstation.com/marketplace/p/yyxV/lowpoly-shiba-inu-dog
• XfrogPlants: Curry Leaf Tree Free 3D model - cgtrader.com/free-3d-models/plant/other/xfrogplants-curry-leaf-tree
• Lennart Demes: Grass 001 - ambientcg.com/view?id=Grass001
• Baptiste Manteau: Bark old ginko - substance3d.adobe.com/community-assets/assets/e6c4bae683772a06aabb38dc1a13b3203060acd1
• Render Knight: Fantasy Skybox FREE - assetstore.unity.com/packages/2d/textures-materials/sky/fantasy-skybox-free-18353
#GameDev #IndieDev #Unity
► youtu.be/GQyCPaThQnA
Do you have a material that doesn't look quite right in Unity's URP lit shader graph? Or would you like to experiment with stylized art styles with the convenience of the shader graph? In this tutorial, I show how to implement custom lighting, allowing you to solve both those problems. Afterwards, you could extend the graphs I show here to make a toon shader or handle difficult materials, like plant foliage, hair, skin, or fabric.
📚 If you prefer reading, check out the written version of this tutorial here:
► nedmakesgames.medium.com/creating-custom-lighting-in-unitys-shader-graph-with-universal-render-pipeline-5ad442c27276
🌞 Interactive lighting math explorer:
► nedmakesgames.itch.io/lighting-explorer
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon to watch videos early, download all project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Visit my website for a searchable list of tutorials!
► nedmakesgames.github.io
2️⃣ 2nd Channel ► youtube.com/nedmakesgames2
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
🎖️ Credits, references and further reading:
• Lee Rosevere: Music for Podcasts - leerosevere.bandcamp.com
• Ida Faber: Lowpoly Shiba Inu Dog - artstation.com/marketplace/p/yyxV/lowpoly-shiba-inu-dog
• XfrogPlants: Curry Leaf Tree Free 3D model - cgtrader.com/free-3d-models/plant/other/xfrogplants-curry-leaf-tree
• Lennart Demes: Grass 001 - ambientcg.com/view?id=Grass001
• Baptiste Manteau: Bark old ginko - substance3d.adobe.com/community-assets/assets/e6c4bae683772a06aabb38dc1a13b3203060acd1
• Render Knight: Fantasy Skybox FREE - assetstore.unity.com/packages/2d/textures-materials/sky/fantasy-skybox-free-18353
#Shorts #Gamedev #Unity
Squares, boxes, and rounded rectangles are all common shapes you might want to draw in a shader. In this video, I show you how to do that using 2D signed distance fields, or SDFs. We'll derive the formula, recreate it in the shader graph, and then make some cool shaders to see it in action: including a mouse-controlled rectangle drawer, rainbow SDF visualizer, and procedural brick wall.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon to watch videos early, download all project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
2️⃣ 2nd Channel ► youtube.com/nedmakesgames2
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
🎬 Previous videos
► Line segment: youtu.be/D_Zq6q1gnvw
💬 Video transcript
► docs.google.com/document/d/1ZTV7D4ZL2DkgrMd-s4ZG4VA0LJNHgaCwpR4y7DCnMzs/edit?usp=sharing
⏲️ Timestamps:
0:00 Intro
0:19 Deriving the SDF
4:09 SDFs in Shader Graph
5:11 Mouse driven rectangle drawing
6:15 Rainbow SDF visualizer
6:46 Procedural brick wall
7:26 Wrap up and credits
🎖️ Credits, references and further reading:
• Inigo Quilez: 2D SDF formulas - iquilezles.org/www/articles/distfunctions2d/distfunctions2d.htm
• Alan Zucconi: A Gentle Primer on 2D Rotations - alanzucconi.com/2016/02/03/2d-rotations
• Academo: 2D Rotation about a point - academo.org/demos/rotation-about-point
Music:
Ouroboros by Kevin MacLeod
Link: incompetech.filmmusic.io/song/4996-ouroboros
License: filmmusic.io/standard-license
#GameDev #IndieDev #Unity
► youtu.be/WuNdmjca7eM
Squares, boxes, and rounded rectangles are all common shapes you might want to draw in a shader. In this video, I show you how to do that using 2D signed distance fields, or SDFs. We'll derive the formula, recreate it in the shader graph, and then make some cool shaders to see it in action: including a mouse-controlled rectangle drawer, rainbow SDF visualizer, and procedural brick wall.
🎖️ Credits and references:
• Inigo Quilez: 2D SDF formulas - iquilezles.org/www/articles/distfunctions2d/distfunctions2d.htm
Music:
Ouroboros by Kevin MacLeod
Link: incompetech.filmmusic.io/song/4996-ouroboros
License: filmmusic.io/standard-license
#Shorts #Gamedev #Unity
Unity's shader graph blend node has twenty-two modes! Each combines two colors using a different formula. In this video, I look at the math behind each mode and see how it affects a couple of sample images.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon to watch videos early, download all project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
2️⃣ 2nd Channel ► youtube.com/nedmakesgames2
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
💬 Video transcript
► docs.google.com/document/d/1M5OIOv14YUtvTu9X3AEVmFHnaUXAgciRrDwPR2p3Y4M/edit?usp=sharing
⏲️ Timestamps:
0:00 Intro
0:16 How it works
1:38 Overwrite
2:00 Darkening modes
3:50 Lightening modes
5:50 Contrast modes
10:00 Inversion modes
12:38 Closing remarks
12:59 Wrap up and credits
🎖️ Credits, references and further reading:
• Jesus Ramirez: Blending Modes Explained - photoshoptrainingchannel.com/blending-modes-explained/#screen
• Unity Technologies: Blend Node - docs.unity3d.com/Packages/com.unity.shadergraph@10.5/manual/Blend-Node.html
• Matt Bango: Sun Trees - stocksnap.io/photo/sun-trees-NKXROHGQGF
• Nick Karvounis: Canal Water - stocksnap.io/photo/canal-water-GCZ32Y9RLS
Music:
Wind Of The Rainforest Preview by Kevin MacLeod
Link: incompetech.filmmusic.io/song/5729-wind-of-the-rainforest-preview
License: filmmusic.io/standard-license
#GameDev #IndieDev #Unity
► youtu.be/d9NKqeNtobc
Unity's shader graph blend node has twenty-two modes! Each combines two colors using a different formula. In this video, I look at the math behind each mode and see how it affects a couple of sample images.
🎖️ Credits, references and further reading:
• Jesus Ramirez: Blending Modes Explained - photoshoptrainingchannel.com/blending-modes-explained/#screen
• Unity Technologies: Blend Node - docs.unity3d.com/Packages/com.unity.shadergraph@10.5/manual/Blend-Node.html
• Matt Bango: Sun Trees - stocksnap.io/photo/sun-trees-NKXROHGQGF
• Nick Karvounis: Canal Water - stocksnap.io/photo/canal-water-GCZ32Y9RLS
Music:
Wind Of The Rainforest Preview by Kevin MacLeod
Link: incompetech.filmmusic.io/song/5729-wind-of-the-rainforest-preview
License: filmmusic.io/standard-license
#Shorts #Gamedev #Unity
Drawing lines in shaders can be useful for procedural materials, dynamic UI or HUD elements, or interactive visual effects. In this video, I show how to draw them in Unity's URP Shader Graph using 2D signed distance fields, or SDFs. I also derive the SDF formula and explain the math behind it.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon to watch videos early, download all project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
2️⃣ 2nd Channel ► youtube.com/channel/UCvBLzTQNZnedr4L7JEZ_CdQ
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
💬 Video transcript
► docs.google.com/document/d/17_JFsXHXGSsq_ggE_yQXELWy7vWw6vURkBx4GX6ckLs/edit?usp=sharing
⏲️ Timestamps:
0:00 Intro
0:15 The SDF formula
2:47 Drawing a line
3:39 Procedural clock face
4:12 Drawing a polyline
4:50 Rainbow SDF visualization
5:16 Wrap up and credits
🎖️ Credits, references and further reading:
• Inigo Quilez: 2D Line Segment SDF - shadertoy.com/view/Wlfyzl
• Inigo Quilez: Deriving the SDF of a Line Segment - youtube.com/watch?v=PMltMdi1Wzg
• Inigo Quilez: 2D SDFs - iquilezles.org/www/articles/distfunctions2d/distfunctions2d.htm
Music:
Ouroboros by Kevin MacLeod
Link: incompetech.filmmusic.io/song/4996-ouroboros
License: filmmusic.io/standard-license
#GameDev #IndieDev #Unity
► youtu.be/D_Zq6q1gnvw
Drawing lines in shaders can be useful for procedural materials, dynamic UI or HUD elements, or interactive visual effects. In this video, I show how to draw them in Unity's URP Shader Graph using 2D signed distance fields, or SDFs. I also derive the SDF formula and explain the math behind it.
🎖️ Credits and references:
• Inigo Quilez: 2D Line Segment SDF - shadertoy.com/view/Wlfyzl
• Inigo Quilez: Deriving the SDF of a Line Segment - youtube.com/watch?v=PMltMdi1Wzg
• Inigo Quilez: 2D SDFs - iquilezles.org/www/articles/distfunctions2d/distfunctions2d.htm
#Shorts #Gamedev #Unity
Getting the current time in shaders is easier that it seems at first! Unity provides a shader graph node and many HLSL variables for your every need, but what exactly do they contain? When does the time counter begin? Is it affected by time scaling? I look into the URP source to find out. Time allows you to animate in shaders, which is super powerful! I showcase two animating shaders: one which loops, and one which starts at a specified time.
👋 Subscribe for weekly game development videos!
► ✨ Watch the full tutorial on Wednesday! ✨
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon to watch videos early, download all project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
💬 Video transcript
► docs.google.com/document/d/1bVubMrStQMw2l5VVmF88xgcUdC5AfumZnSEEOc1S6ok/edit?usp=sharing
⏲️ Timestamps:
0:00 Intro
0:30 Finding the source
2:03 A looping animation
2:40 A start time animation
3:16 Pausing
3:32 Wrap up and credits
🎖️ Credits, references and further reading:
• Unity Technologies: URP source and documentation
• Keijiro Takahashi: AngleAxis3x3 - gist.github.com/keijiro/ee439d5e7388f3aafc5296005c8c3f33
Music:
Bleeping Demo by Kevin MacLeod
Link: incompetech.filmmusic.io/song/7012-bleeping-demo
License: filmmusic.io/standard-license
#GameDev #IndieDev #Unity
► youtu.be/XWbdZxADieU
Getting the current time in shaders is easier that it seems at first! Unity provides a shader graph node and many HLSL variables for your every need, but what exactly do they contain? When does the time counter begin? Is it affected by time scaling? I look into the URP source to find out. Time allows you to animate in shaders, which is super powerful! I showcase two animating shaders: one which loops, and one which starts at a specified time.
🎖️ Credits and references:
• Unity Technologies: URP source and documentation
• Keijiro Takahashi: AngleAxis3x3 - gist.github.com/keijiro/ee439d5e7388f3aafc5296005c8c3f33
Music:
Bleeping Demo by Kevin MacLeod
Link: incompetech.filmmusic.io/song/7012-bleeping-demo
License: filmmusic.io/standard-license
#Shorts #Gamedev #Unity
Mipmaps are scaled down versions of textures Unity generates which look and perform better when the texture shrinks on the screen. In this video, I wrap up this series on mipmaps by investigating how the renderer chooses which mip level to use and how you can influence this with SampleTexture2DLOD and mipmap biases. I also show how to sample textures outside of the fragment shader stage.
👋 Subscribe for weekly game development videos!
► ✨ Watch the full tutorial on Wednesday! ✨
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon to watch videos early, download all project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
🎬 Previous videos
► Part 1 - Settings and custom mipmaps: youtu.be/Vq5T4hu8NWM
► The Partial Derivative Functions - DDX, DDY, and FWidth: youtu.be/J1n1yPjac1c
💬 Video transcript
► docs.google.com/document/d/13iJHNggUxoZIk99i0B0wFPMqvDgi1HN5r2vx0reRpHM/edit?usp=sharing
⏲️ Timestamps:
0:00 Intro
0:55 Using GetTextureLOD
3:06 Reimplementing the mipmap choice algorithm
5:04 Mipmap bias
6:11 Sampling textures in the vertex stage
7:03 Wrap up and credits
🎖️ Credits, references and further reading:
• Lennart Demes: cc0textures - cc0textures.com/view?id=Bricks059
• Astigmatic: Special Elite font - fontsquirrel.com/fonts/special-elite
Music:
Perspectives by Kevin MacLeod
Link: incompetech.filmmusic.io/song/4207-perspectives
License: filmmusic.io/standard-license
#GameDev #IndieDev #Unity
► youtu.be/2G0Sime3OH0
Mipmaps are scaled down versions of textures Unity generates which look and perform better when the texture shrinks on the screen. In this video, I wrap up this series on mipmaps by investigating how the renderer chooses which mip level to use and how you can influence this with SampleTexture2DLOD and mipmap biases. I also show how to sample textures outside of the fragment shader stage.
🎖️ Credits and references:
• Lennart Demes: cc0textures - cc0textures.com/view?id=Bricks059
• Astigmatic: Special Elite font - fontsquirrel.com/fonts/special-elite
Music:
Perspectives by Kevin MacLeod
Link: incompetech.filmmusic.io/song/4207-perspectives
License: filmmusic.io/standard-license
#Shorts #Gamedev #Unity
To continue investigating mipmaps, I want to introduce the partial derivative shader functions in Unity URP! These functions, DDX, DDY, and FWidth, seem magical! You can pass any variable to them, and they'll give you the amount it changes over one screen pixel. Let's see how they work, how they relate to mipmaps, and how to use them for interesting effects!
👋 Subscribe for weekly game development videos!
► ✨ Watch the full tutorial on Wednesday! ✨
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, downloadable project files, and more!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
🎬 Previous videos
► Mipmap settings and custom mipmaps: youtu.be/Vq5T4hu8NWM
✨ Follow up videos
► Mipmips in shaders: youtu.be/2G0Sime3OH0
💬 Video transcript
► docs.google.com/document/d/1UGqju4gDaEjU14KRxxsu6llZldu5wOTPcIb3igMLZ94/edit?usp=sharing
⏲️ Timestamps:
0:00 Intro
1:02 Behind the scenes
2:55 Reconstructing normals
3:49 Anti-aliasing
5:05 Wrap up and credits
🎖️ Credits, references and further reading:
• Nick Klingensmith: Blended Normals, or Soft Flat Shading - playdeck.net/blog/blended-normals-or-soft-flat-shading
• Giuseppe Portelli: An introduction to shader derivative functions - http://www.aclockworkberry.com/shader-derivative-functions
• Ronja Böhringer: Partial Derivatives (fwidth) - ronja-tutorials.com/post/046-fwidth
• Lennart Demes: cc0textures - cc0textures.com/view?id=Bricks059
• Astigmatic: Special Elite font - fontsquirrel.com/fonts/special-elite
Music:
Perspectives by Kevin MacLeod
Link: incompetech.filmmusic.io/song/4207-perspectives
License: filmmusic.io/standard-license
#GameDev #IndieDev #Unity
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon to watch the full tutorial now, download project files, vote on future topics, and more! Thank you so much!
► patreon.com/nedmakesgames
To continue investigating mipmaps, I want to introduce the partial derivative shader functions in Unity URP! These functions, DDX, DDY, and FWidth, seem magical! You can pass any variable to them, and they'll give you the amount it changes over one screen pixel. Let's see how they work, how they relate to mipmaps, and how to use them for interesting effects!
🎖️ Credits and references:
• Nick Klingensmith: Blended Normals, or Soft Flat Shading - playdeck.net/blog/blended-normals-or-soft-flat-shading
• Giuseppe Portelli: An introduction to shader derivative functions - http://www.aclockworkberry.com/shader-derivative-functions
• Ronja Böhringer: Partial Derivatives (fwidth) - ronja-tutorials.com/post/046-fwidth
• Lennart Demes: cc0textures - cc0textures.com/view?id=Bricks059
• Astigmatic: Special Elite font - fontsquirrel.com/fonts/special-elite
Music:
Perspectives by Kevin MacLeod
Link: incompetech.filmmusic.io/song/4207-perspectives
License: filmmusic.io/standard-license
#Shorts #Gamedev #Unity
Mipmaps are scaled down versions of textures Unity generates and draws when a texture takes up a small area on the screen. This saves memory and looks better to boot! In this video, I go over Unity's mipmap generation settings and show how to create custom mipmaps. I also quickly demonstrate a cool trick Nintendo used to make Mario Sunshine's water!
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, downloadable project files, and more!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
💻 Links
Please be careful downloading and installing programs on your computer. Do so at your own risk!
► imaginationtech.com/developers/powervr-sdk-tools/pvrtextool
💬 Video transcript
► docs.google.com/document/d/1GBOFdxk7Rf-ngHpHhcEp3allYaoJF8uyfd7q7qUCyx8/edit?usp=sharing
✨ Follow up videos
► DDX and DDY: youtu.be/J1n1yPjac1c
► Mipmips in shaders: youtu.be/2G0Sime3OH0
⏲️ Timestamps:
0:00 Intro
1:59 Importer settings
5:14 Custom mipmaps
8:31 Quick water caustics
10:31 Wrap up and credits
🎖️ Credits and references:
• Lennard Demes: various textures - cc0textures.com
• freepik: Wrinkled paper - freepik.com/premium-vector/wrinkled-paper-texture_711440.htm
• Astigmatic: Special Elite font - fontsquirrel.com/fonts/special-elite
• LongplayArchive: Longplay of Super Mario Sunshine - youtube.com/watch?v=Hg7Xu_C95vQ
• Procedural Worlds: Gaia 2 skybox - assetstore.unity.com/packages/tools/terrain/gaia-2-terrain-scene-generator-42618
• Unity Technologies: Standard Assets (for Unity 2018.4) - assetstore.unity.com/packages/essentials/asset-packs/standard-assets-for-unity-2018-4-32351
Music:
Perspectives by Kevin MacLeod
Link: incompetech.filmmusic.io/song/4207-perspectives
License: filmmusic.io/standard-license
#GameDev #IndieDev #Unity
► youtu.be/Vq5T4hu8NWM
Mipmaps are scaled down versions of textures Unity generates and draws when a texture takes up a small area on the screen. This saves memory and looks better to boot! In this video, I go over Unity's mipmap generation settings and show how to create custom mipmaps. I also quickly demonstrate a cool trick Nintendo used to make Mario Sunshine's water!
🎖️ Credits and references:
• Lennard Demes: various textures - cc0textures.com
• Astigmatic: Special Elite font - fontsquirrel.com/fonts/special-elite
Music:
Perspectives by Kevin MacLeod
Link: incompetech.filmmusic.io/song/4207-perspectives
License: filmmusic.io/standard-license
#Shorts #Gamedev #Unity
Noise, in graphics programming, is a function that produces pseudorandom numbers based purely on its input. Usually, it follows some pattern, but white noise has no pattern! This makes it perfect to generate random offsets, normals, or colors for a variety of shader effects. It's also useful in procedural generation, to make sure the world persists over playthroughs. In this video, I explain how white noise works and show some of its practical uses.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, downloadable project files, and more!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
💬 Video transcript
► docs.google.com/document/d/1diCKtiW-fcy49psJBFKYdc4EeFyTMHVpCf-emaWS6EE/edit?usp=sharing
📚 Reference scripts
► gist.github.com/NedMakesGames/2fc8e039f55d85bdb6f1bde2465164ba
⏲️ Timestamps:
0:00 Intro
0:15 Noise
1:05 Breaking it down
2:30 Using it in Unity
3:25 Salt and pepper
3:48 Sparkle shader
4:12 Random deformation shader
4:34 Procedural generation
5:00 Wrap up and credits
🎖️ Credits and references:
• Unity Technologies: white noise implementation - ronja-tutorials.com/post/024-white-noise
• TotallyRonja: White Noise - ronja-tutorials.com/post/024-white-noise
• polyperfect: Low Poly Ultimate Pack - assetstore.unity.com/packages/3d/props/low-poly-ultimate-pack-54733
Music:
Bleeping Demo by Kevin MacLeod
Link: incompetech.filmmusic.io/song/7012-bleeping-demo
License: filmmusic.io/standard-license
#GameDev #IndieDev #Unity
► youtu.be/nohGiVNWhJE
Noise, in graphics programming, is a function that produces pseudorandom numbers based purely on its input. Usually, it follows some pattern, but white noise has no pattern! This makes it perfect to generate random offsets, normals, or colors for a variety of shader effects. It's also useful in procedural generation, to make sure the world persists over playthroughs. In this video, I explain how white noise works and show some of its practical uses.
🎖️ Credits and references:
• Unity Technologies: white noise implementation - ronja-tutorials.com/post/024-white-noise
• TotallyRonja: White Noise - ronja-tutorials.com/post/024-white-noise
• polyperfect: Low Poly Ultimate Pack - assetstore.unity.com/packages/3d/props/low-poly-ultimate-pack-54733
Music:
Bleeping Demo by Kevin MacLeod
Link: incompetech.filmmusic.io/song/7012-bleeping-demo
License: filmmusic.io/standard-license
#Shorts #Gamedev #Unity
The mouse pointer is essential to almost all PC games. In this video, I show how to get it's position and work with it in screen, viewport, and world space, as well as how cameras affect these spaces. I also explore two ways to implement mouse picking, or how to tell if the pointer is over an object in the world.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, downloadable project files, and more!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
💬 Video transcript
► docs.google.com/document/d/1PP1p8bQ0VaYJMrUiy6XLQeJsVWH7Xv3RoJ5WOCwAxgI/edit?usp=sharing
📚 Reference scripts
► gist.github.com/NedMakesGames/51b0359a9e0724644269691d447d87c4
⏲️ Timestamps:
0:00 Intro
0:11 Screen position
0:46 Viewport position
1:26 World position
2:54 Mouse over messages
3:31 Mouse over raycasts
4:01 Wrap up and credits
🎖️ Credits and references:
• MarkGX: Drag a GameObject with the mouse - answers.unity.com/questions/12322/drag-gameobject-with-mouse.html
• Astigmatic: Special Elite font - fontsquirrel.com/fonts/special-elite
• trinter: LowPoly Mouse - cgtrader.com/free-3d-models/industrial/tool/lowpoly-mouse
Music:
Bleeping Demo by Kevin MacLeod
Link: incompetech.filmmusic.io/song/7012-bleeping-demo
License: filmmusic.io/standard-license
#GameDev #IndieDev #Unity
► youtu.be/J9oK_lIUV74
The mouse pointer is essential to almost all PC games. In this video, I show how to get it's position and work with it in screen, viewport, and world space, as well as how cameras affect these spaces. I also explore two ways to implement mouse picking, or how to tell if the pointer is over an object in the world.
🎖️ Credits and references:
• MarkGX: Drag a GameObject with the mouse - answers.unity.com/questions/12322/drag-gameobject-with-mouse.html
• Astigmatic: Special Elite font - fontsquirrel.com/fonts/special-elite
• trinter: LowPoly Mouse - cgtrader.com/free-3d-models/industrial/tool/lowpoly-mouse
Music:
Bleeping Demo by Kevin MacLeod
Link: incompetech.filmmusic.io/song/7012-bleeping-demo
License: filmmusic.io/standard-license
#Shorts #Gamedev #Unity
The Dot Product is a useful vector function which has many uses in shaders and gameplay programming. You can use it to calculate lighting, know when a projectile has reached it's apex, or calculate when a creature sees an object. In this video, I'll show you how to use it in various ways!
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, downloadable project files, and more!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
🎬 Previous videos
► All bout SmoothStep: youtu.be/I6HVbfMx2s4
💬 Video transcript
► docs.google.com/document/d/1uezxMS7InQurHF4eoRy7msIWgxDPFzwvbxpfLnqU4GQ/edit?usp=sharing
⏲️ Timestamps:
0:00 Intro
0:13 The math
1:26 Using it in Unity
1:47 Lighting
2:18 Physics
2:41 Field of view
3:13 Wrap up and credits
🎖️ Credits and references:
• MarkGX: Drag a GameObject with the mouse - answers.unity.com/questions/12322/drag-gameobject-with-mouse.html
• Astigmatic: Special Elite font - fontsquirrel.com/fonts/special-elite
• iblendit: Low Poly Rocket - sketchfab.com/3d-models/low-poly-rocket-bd0df781d7db4db3961eddf0da0d3d9a
Music:
Bleeping Demo by Kevin MacLeod
Link: incompetech.filmmusic.io/song/7012-bleeping-demo
License: filmmusic.io/standard-license
#GameDev #IndieDev #Unity
A cool technique to know is how to blend two cameras' outputs. In this video, I show how using a render texture and a renderer feature. One camera renders to the texture, then the feature runs a post process shader to blend that with the screen. Finally, a C# script initializes the blending effect.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, downloadable project files, and more!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
💬 Video transcript
► docs.google.com/document/d/1KUOKSxrF1wcrXX7R1k_xlq4veDDTZNdOG-OCSVCX0Xg/edit?usp=sharing
📜 Required scripts
► BlitMaterialFeature.cs: gist.github.com/NedMakesGames/f0a9afbada8441a73765d53b1a04b6e7
📚 Reference scripts
► Final: gist.github.com/NedMakesGames/e64382d20c3bf7694d60bddec396374d
⏲️ Timestamps:
0:00 Intro
0:27 Setup
1:18 Creating the cameras
2:28 The renderer feature
3:21 The shader
5:40 Final scripts
6:44 Final thoughts
7:15 Wrap up and credits
🎖️ Credits and references:
• Lennart Demes: Marble012 texture - cc0textures.com/view?id=Marble012
• anavriN: Caryatid Free 3D print model - cgtrader.com/free-3d-print-models/art/sculptures/caryatid-ca85a11d2dbe4fc87e143ec7460581ab
• Pro3DModels: Low-poly Sports car 20 - cgtrader.com/free-3d-models/car/racing/low-poly-sports-car-20
• Fabian Measures: 『鯖江市日の出』Sabae Sunrise - freemusicarchive.org/music/Fabian_Measures/Singles_Album/Sabae_Sunrise
• M_Studios: Flower Vase - turbosquid.com/3d-models/free-flower-vase-3d-model/1031039
• Unity technologies: UniversalRenderingExamples - github.com/Unity-Technologies/UniversalRenderingExamples
#GameDev #IndieDev #Unity
SmoothStep is a very useful function, very often appearing in shaders. In this video, I explain how it works and go over how you can use it. Then, I show a few ways to incorporate it into your project!
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, downloadable project files, and more!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
💬 Video transcript
► docs.google.com/document/d/1m_kTd8WxsU8F-GwBR5ONNmb4KjJ5T12CZSdYM9Ae60o/edit?usp=sharing
⏲️ Timestamps:
0:00 Intro
0:12 The function
1:28 How to use it
1:56 What it's used for
3:23 Wrap up and credits
🎖️ Credits and references:
• MarkGX: Drag a GameObject with the mouse - answers.unity.com/questions/12322/drag-gameobject-with-mouse.html
• KhronosGroup: GLSL SmoothStep source - github.com/KhronosGroup/WebGL/blob/master/sdk/tests/conformance/glsl/functions/glsl-function-smoothstep-float.html
• Astigmatic: Special Elite font - fontsquirrel.com/fonts/special-elite
Music:
Bleeping Demo by Kevin MacLeod
Link: incompetech.filmmusic.io/song/7012-bleeping-demo
License: filmmusic.io/standard-license
#GameDev #IndieDev #Unity
In this video, I show how to create a sand dune material using Unity Universal Render Pipeline (URP) Shader Graph! There's no textures required - instead I use various functions to construct the needed shapes. The finished graph includes color, shines, and a normal map. In fact, I go over a way to create a smooth normal map from a generated height map.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, downloadable project files, and more!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
💬 Video transcript
► docs.google.com/document/d/1o3lJrNfRPGfrm7aF4lgUl4ozTv-yeKO9NuhxV9cbth8/edit?usp=sharing
📜 Required scripts
► gist.github.com/NedMakesGames/d2b511d5bb911ec646031e70eb4dc25b
⏲️ Timestamps:
0:00 Intro
0:33 Project setup
1:37 The height map
6:05 Color
9:12 Simple normals
9:50 Shines
12:15 Adjustable normals
16:10 Wrap up and credits
🎖️ Credits and references:
• 3dEx: Substance Designer - Stylized Sand Material- youtube.com/watch?v=bUBtT4f89jM
• Unity Technologies: Polygon Node - docs.unity3d.com/Packages/com.unity.shadergraph@7.1/manual/Polygon-Node.html
• Ronja Böhringer: White Noise - ronja-tutorials.com/post/024-white-noise
• Ronja Böhringer: Tiling Noise - ronja-tutorials.com/post/029-tiling-noise
• Adam Bielecki: Earth like Planets - assetstore.unity.com/packages/templates/packs/earth-like-planets-32790
• Yakov Galka: Calculating a normal vector from a height map - stackoverflow.com/questions/5281261/generating-a-normal-map-from-a-height-map
Music:
Unwritten Return by Kevin MacLeod
Link: incompetech.filmmusic.io/song/4570-unwritten-return
License: filmmusic.io/standard-license
#GameDev #IndieDev #Unity
In this video, I make a sparkling grass lawn shader entirely in the Unity URP shader graph! There's no textures required - it's a procedural material and highly customizable by just editing material properties. I showcase how to make this grass using sine waves and Voronoi noise.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, downloadable project files, and more!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
💬 Video transcript
► docs.google.com/document/d/1e_mIjkpf-kMLi62KGQ0-hzFZKRuRRhM6A3HlS_FaJMg/edit?usp=sharing
📜 Required scripts
► Noise.hlsl: gist.github.com/NedMakesGames/13272ecd53c250b9b0abeaa52b1a21f8
⏲️ Timestamps:
0:00 Intro
0:38 Project setup
1:15 Initial stripes
2:39 Adding color
3:54 Voronoi noise
6:47 Normals
8:33 Sparkles
10:49 Final touches
11:27 Wrap up and credits
🎖️ Credits and references:
• Ronja Böhringer: Tiling Noise - ronja-tutorials.com/post/029-tiling-noise
• Ronja Böhringer: White Noise - ronja-tutorials.com/post/024-white-noise
• ivanzubak: wooden sticks - turbosquid.com/3d-models/wooden-sticks-obj-free/1125124
• XAMADESIGN: Inflatable Pink Flamingo - cgmood.com/3d-model/inflatable-pink-flamingo
Music:
Inspired by Kevin MacLeod
Link: incompetech.filmmusic.io/song/3918-inspired
License: filmmusic.io/standard-license
#GameDev #IndieDev #Unity
Grass is one of those things that's deceptively difficult to implement. I've taken a stab at it in this series of videos, showing how to generate grass blades using a compute shader, and animate it using the vertex function of a graphics shader. In this video, I modify previous scripts to add shadow casting to the grass blades, as well as show a trick to lighten shadows without global illumination.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, downloadable project files, and more!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
🎬 Previous videos
► Generating meshes with compute shaders: youtu.be/AiWCPiGr10o
► Blade grass: youtu.be/6SFTcDNqwaA
► Layered grass: youtu.be/UehGAVMCa7w
💬 Video transcript
► docs.google.com/document/d/1ENXtJmMdlFFeKvfLYxk6NFKMWho2jE9YVwDeHaCa0M4/edit?usp=sharing
📜 Required scripts
► gist.github.com/NedMakesGames/83fba48a06d8b22bda79121d8401a00a
📚 Reference scripts
► Shadow caster pass: gist.github.com/NedMakesGames/8db536be81e757fffb3ad745a2a14630
► Double sided blades: gist.github.com/NedMakesGames/436718af90b3d3483b672ee80ae7b280
► Final: gist.github.com/NedMakesGames/3b7ca2b7d69e0ea6e44e859066997802
⏲️ Timestamps:
0:00 Intro
0:56 Project setup
1:08 Shadow caster pass
2:50 Double sided blades
7:58 Lightening shadows
9:01 Wrap up and credits
🎖️ Credits and references:
• freepik: Wrinkled paper texture - freepik.com/premium-vector/wrinkled-paper-texture_711440.htm
• James "Nihilore" Opie: music "Glimmer" - youtube.com/watch?v=yAozyPbCT18
#GameDev #IndieDev #Unity
Triangle winding direction is a pillar of Unity's rendering system. Triangle points are ordered, and the way they're positioned on the screen, either clockwise or counter-clockwise, determines whether Unity will render them or not. You can change this behaviour my modifying the culling mode with a double-sided material. In this video, I explain how to do so with the default URP lit shaders, a custom code shader, and a URP shader graph.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, and downloadable project files!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
💬 Video transcript
► docs.google.com/document/d/1Ffl8yGfCMJ4YtgWyaS0vGHb_tzpvsYauXDR8Eqezkjo/edit?usp=sharing
📚 Reference scripts & assets
► Triangle texture: https://i.imgur.com/v4QWkc5.png
► Triangle builder script: gist.github.com/NedMakesGames/accea6d833291bf6f304d3e97258c3cb
► Simple shader: gist.github.com/NedMakesGames/89870fa301652676be3b7d631de251bd
⏲️ Timestamps:
0:00 Intro
0:57 Vertex and index buffers
1:53 Culling
3:24 Double sided materials
5:22 Double sided meshes
6:02 Wrap up and credits
🎖️ Credits and references:
• XfrogPlants: Curry Leaf Tree Free 3D model - cgtrader.com/free-3d-models/plant/other/xfrogplants-curry-leaf-tree
• freepik: Wrinkled paper texture - freepik.com/premium-vector/wrinkled-paper-texture_711440.htm
• James "Nihilore" Opie: music "Motion Blur" - youtube.com/watch?v=eRZbwOpUJwk
#GameDev #IndieDev #Unity
Grass is one of those things that almost every game needs, but is really hard to make! I hope to help with that with this series on grass. This grass renderer uses a compute shader to generate a bunch of layers over a mesh, only once in the editor. At runtime, it cuts out patterns from those layers using two overlapping noise textures. It's a classic technique that still produces good looking results!
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, and downloadable project files!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
✨ Follow up videos
► Blade grass: youtu.be/6SFTcDNqwaA
► Shadow casting blade grass: youtu.be/IPoHY_yJxMc
🎬 Previous videos
► Generating meshes with a compute shader: youtu.be/AiWCPiGr10o
► Introduction to level of detail: youtu.be/-mE4qreuqJY
► Introduction to vertex/fragment/geometry shaders: youtu.be/7C-mA08mp8o
► Non-baked layer grass: youtu.be/c1JThTu6-Ok
► Shader graph grass: youtu.be/JDpt9xYaUYc
💬 Video transcript
► docs.google.com/document/d/1zErxPni6ioJ9KrWJJo6CyWgu3dYfNtb_n2J-IFKRY4o/edit?usp=sharing
📜 Required scripts
► Pyramid baker scripts: gist.github.com/NedMakesGames/fef1bddca8061b21845dbe68d0cddfec
► NMGLayerGrassHelpers.hlsl: gist.github.com/NedMakesGames/1c912db8532dedc53561d5047c4690a3
📚 Reference scripts
► Compute shader and C# scripts: gist.github.com/NedMakesGames/9bb59a7f2cb7cab988e7c0edc227ee90
► Initial graphics shaders: gist.github.com/NedMakesGames/a772e3fd98baf93bc9af739186233ccf
► Cut out graphics shaders: gist.github.com/NedMakesGames/5e7bba2d6ab7943c2a7923b4101f82e8
► Wind graphics shaders: gist.github.com/NedMakesGames/2b36967e3a5f8ba762bcbfc723135ba6
► Final graphics shaders: gist.github.com/NedMakesGames/81041119883b6eb5163ade76a184084b
⏲️ Timestamps:
0:00 Intro
0:48 Project setup
2:02 The compute shader
6:25 The C# scripts
8:33 The graphics shader
11:21 Cutting out shapes
13:16 Wind
14:35 Position as UV
16:05 Wrap up and credits
🎖️ Credits and references:
• Jason L. McKesson: Normal Transformation - paroj.github.io/gltut/Illumination/Tut09%20Normal%20Transformation.html
• Unity Technologies: GPU Instancing - docs.unity3d.com/Manual/GPUInstancing.html
• freepik: Wrinkled paper texture - freepik.com/premium-vector/wrinkled-paper-texture_711440.htm
• James "Nihilore" Opie: music "Whispers Invoke Paranoia" - youtube.com/watch?v=oc2PnJF58Sg
#GameDev #IndieDev #Unity
Grass is one of those things most games need, but is really difficult to get right! In this video, I return to grass to try to conquer it! I lay the groundwork here, using a compute shader to generate blades of grass in a mesh, while randomizing and animating it in a graphics shader. I also try out level of detail to speed up rendering.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, and downloadable project files!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
🎬 Previous videos
► Generating meshes with a compute shader: youtu.be/AiWCPiGr10o
► Introduction to level of detail: youtu.be/-mE4qreuqJY
► Introduction to vertex/fragment/geometry shaders: youtu.be/7C-mA08mp8o
► Non-baked blade grass: youtu.be/DeATXF4Szqo
✨ Follow up videos
► Adding shadow casting: youtu.be/IPoHY_yJxMc
► Baked layer grass: youtu.be/UehGAVMCa7w
💬 Video transcript
► docs.google.com/document/d/15AFmgL7jILLPi5Z2TePgV21inKYwtLaLqNz0WPlZI6w/edit?usp=sharing
📜 Required scripts
► Pyramid baker scripts: gist.github.com/NedMakesGames/fef1bddca8061b21845dbe68d0cddfec
► NMGBladeGrassComputeHelpers.hlsl: gist.github.com/NedMakesGames/e0ad3c9b860943d852f5577496079539
► NMGBladeGrassGraphicsHelpers.hlsl: gist.github.com/NedMakesGames/2d97f655334e1508a4b3f4e4b211ef5d
📚 Reference scripts
► Single triangle: gist.github.com/NedMakesGames/9160425de83ad7a4c2346abb3d96590f
► Blade variety: gist.github.com/NedMakesGames/2ebe804c291b115ba94b620eab2b2032
► Curvature: gist.github.com/NedMakesGames/7e5bddc0b100a0cb63241b00c4e160d0
► Reduced patterns: gist.github.com/NedMakesGames/b7e1d0a2737d598072aa7ef1c8717d21
► Final: gist.github.com/NedMakesGames/80a3a7d4a8dcb58110b211e4d0f36b28
⏲️ Timestamps:
0:00 Intro
0:45 Project set up
1:48 Single triangle blades
7:04 The graphics shader
9:29 Blade variety
12:17 Curvature
15:40 Reducing patterns
17:39 Wind
19:38 Level of detail
20:14 Wrap up and credits
🎖️ Credits and references:
• Unity Technologies: GPU Instancing - docs.unity3d.com/Manual/GPUInstancing.html
• VPellen: calculate a plane perpendicular to a normal - stackoverflow.com/questions/55464852/how-to-find-a-randomic-vector-orthogonal-to-a-given-vector
• James "Nihilore" Opie: music "This Is Enough" - youtube.com/watch?v=7RT-IAWZGIY
• freepik: Wrinkled paper texture - freepik.com/premium-vector/wrinkled-paper-texture_711440.htm
• Keijiro Takahashi: AngleAxis3x3 - gist.github.com/keijiro/ee439d5e7388f3aafc5296005c8c3f33
• Erik Roystan Ross: Grass Shader - roystan.net/articles/grass-shader.html
• Ronja Böhringer: White Noise - ronja-tutorials.com/post/024-white-noise
#GameDev #IndieDev #Unity
Level of detail, or LOD, is a technique where the system chooses different versions of a mesh to render based on how much screen space it takes up. If a mesh only takes up a small dot on the screen, no reason to render hundreds of triangles! In this video, I show how to set up LOD in Unity using LODGroup components, adjust LOD quality settings, import LOD-ready models from Blender, script a dithered crossfade shader for URP, and receive C# messages when an LOD level changes.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, and downloadable project files!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
💬 Video transcript
► docs.google.com/document/d/1E3mXzxeo1Aah_bYsDtF10uwPxFwoNFIqr0cXabiXTh4/edit?usp=sharing
📚 Reference scripts
► gist.github.com/NedMakesGames/b9ed5a715747d816bde41ba8b6016389
⏲️ Timestamps:
0:00 Intro
0:53 Project setup
1:28 LODGroup
4:16 Quality settings
5:31 Importing from Blender
6:29 Crossfading
10:11 C# callbacks
10:47 Wrap up and credits
🎖️ Credits and references:
• James "Nihilore" Opie: music "Drifting" - youtube.com/watch?v=zfV6NVIjJBA
• Liberi Arcano: fox model "3December 2020 Day 17: #Animal" - sketchfab.com/3d-models/3december-2020-day-17-animal-eb78f80501484b8d818205746724f644
#GameDev #IndieDev #Unity
Compute shaders are scripts than run on the GPU and are specialized at solving problems that can be broken into many parts. If this describes a mesh you want to generate, they can do it super fast! In this video, I'll show you how to procedurally generate a mesh in the Unity Editor - using compute shaders - and save it as a mesh asset file.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, and downloadable project files!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
🎬 Previous videos
► Vertex/Fragment shader basics: youtu.be/7C-mA08mp8o
► Compute shader basics: youtu.be/EB5HiqDl7VE
✨ Follow up videos
► Improved blade grass: youtu.be/6SFTcDNqwaA
💬 Video transcript
► docs.google.com/document/d/1Tv18KN5tjgHfMQ10P0Htb2U_1GFhOunv21eAKaDxKg4/edit?usp=sharing
📚 Reference scripts
► gist.github.com/NedMakesGames/fef1bddca8061b21845dbe68d0cddfec
⏲️ Timestamps:
0:00 Intro
1:09 Project setup
1:41 The ScriptableObject
3:00 The inspector button
4:05 The compute shader
8:10 The dispatcher
12:35 The finished inspector
14:34 Testing
15:09 Wrap up and credits
🎖️ Credits and references:
• pharan: Mesh Saver - github.com/pharan/Unity-MeshSaver/blob/master/MeshSaver/Editor/MeshSaverEditor.cs
• James "Nihilore" Opie: music "Sleepwalking" - youtube.com/watch?v=NfMGQQYE1Kw
• freepik: Wrinkled paper texture - freepik.com/premium-vector/wrinkled-paper-texture_711440.htm
• Unity Technologies: GraphicsBuffer documentation - docs.unity3d.com/2020.2/Documentation/ScriptReference/GraphicsBuffer.html
#GameDev #IndieDev #Unity
I've covered a lot of different types edge detection outlines built in Unity's Universal Render Pipeline Shader Graph. In this video, I take another look at per-object depth and normals outlines to further optimize them, obtaining depth and normals data from a single texture and decreasing texture reads. I also describe some ways to counter-act the loss of depth precision and keep quality as high as possible!
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, and downloadable project files!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
🎬 Previous videos
► Hull Outlines: youtu.be/1QPA3s0S3Oo
► Edge Detection Outlines: youtu.be/RMt6DcaMxcE
► Depth Normals Outlines: youtu.be/fW-5srSHDMc
► Per-Object Outlines: youtu.be/74AS5DmLe8w
💬 Video transcript
► docs.google.com/document/d/1hDWs1jQu_lJ9zyjQrwC7PZ00pcIVMa4wJFFPaXkKcSQ/edit?usp=sharing
📜 Required scripts
► DepthNormalsFeature.cs: gist.github.com/NedMakesGames/360f900dc86120dda34cc831c823a78e
► OutlinesInclude.hlsl: gist.github.com/NedMakesGames/f5f62f9ff0fb5d3ac478430af16b3cdc
► DecodeDepthNormals.hlsl: gist.github.com/NedMakesGames/3cafdd89b68adb4c167767c4e99ecbf9
📚 Reference scripts
► OutlinesInclude.hlsl final: gist.github.com/NedMakesGames/a7a42f292b5575e9586d64c24313ac86
⏲️ Timestamps:
0:00 Intro
1:03 Theory
1:46 Project setup
2:42 OutlinesInclude
4:20 Outlines subgraph
8:25 Test graph
10:08 Adding to other graphs
10:39 Wrap up and credits
🎖️ Credits and references:
• Cyanilux: Depth - cyanilux.com/tutorials/depth/#buffer-vs-texture
• Erik Roystan Ross: Outline Shader - roystan.net/articles/outline-shader.html
• Alexander Ameye: Outlines Shader - alexanderameye.github.io/outlineshader.html
• Hanane Rami, Mohammed Hamri, Lhoussiene Masmoudi: Color Edge Detector with Sobel-PCA - https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.402.6975&rep=rep1&type=pdf
• Microsoft: DirectX Graphics Samples - github.com/microsoft/DirectX-Graphics-Samples/blob/master/Samples/UWP/D3D12PipelineStateCache/src/EdgeDetectPixelShader.hlsl
• Ben Golus, Keijiro Takahashi: View Direction from Screen UV - forum.unity.com/threads/help-with-view-space-normals.454248
• freepik: Wrinkled paper texture - freepik.com/premium-vector/wrinkled-paper-texture_711440.htm
• James "Nihilore" Opie: music "Moonlit Skyline" - youtube.com/watch?v=iyIjnbP6L2I
• Flytet: Great white shark - turbosquid.com/3d-models/free-big-shark-animation-3d-model/1113550
• Fruitgeoff: Underwater Scene | Folder Exam - Spring 2020 - sketchfab.com/3d-models/underwater-scene-folder-exam-spring-2020-99a3e1a8d5744aa3be9c4592e384acfb
#GameDev #IndieDev #Unity
Rim lighting is a shading technique that highlights the edges of a model. It's useful to add a moody atmosphere or help an object stand out from a dark background. This effect gets the main light in a custom function node to emphasize the shadowed side of a model.
👋 Subscribe for weekly game development videos!
► youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, and downloadable project files!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
💬 Video transcript
► docs.google.com/document/d/1YHSm_ILUcKpEN4jwUdjQyD8iDE1wpS1MBSQ0zY5CVY4/edit?usp=sharing
⏲️ Timestamps:
0:00 Intro
1:00 Theory
1:26 Project set up
1:50 The graph
4:33 Adding to other graphs
5:24 Wrap up and credits
🎖️ Credits and references:
• James "Nihilore" Opie: music "Absolute Terror" - youtube.com/watch?v=XzxmSwUm0-I
• Adam Blielecki: Earth like Planets - assetstore.unity.com/packages/templates/packs/earth-like-planets-32790
• Erik "Roystan" Ross: Toon Shader - roystan.net/articles/toon-shader.html
• clayguy: Skull 2 Free 3D print model - cgtrader.com/free-3d-print-models/art/sculptures/skull-2
• Lennart Demes: Marble 012, Concrete 023, Rock 020 - cc0textures.com/view?id=Marble012 cc0textures.com/view?id=Concrete023 cc0textures.com/view?id=Rock020
• Tendayi: Concrete Column - turbosquid.com/3d-models/free-obj-model-concrete-column/785689
#GameDev #IndieDev #Unity
Oftentimes, it's useful to set shader properties from a C# script. In this video, I show how to set property values on a shader created in the URP shader graph. In the process, I create a system that draws colored ripples wherever you click on a mesh.
👋 Subscribe for weekly game development videos!
youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, and downloadable project files!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
💬 Video transcript
► docs.google.com/document/d/1X2L8IxQ4EEqKgnRtrF0jI4_MH_G7U8bNkPce_LchiZw/edit?usp=sharing
📚 Reference scripts
► Initial script: gist.github.com/NedMakesGames/261a7b0a462c4090e744cf4ff7ef8ea3
► Random colors: gist.github.com/NedMakesGames/7c9a64b7920559b92cac4c8c7d7c58f5
► Copied material: gist.github.com/NedMakesGames/3915393771ecf65b26fc2a9693056bde
► Property IDs: gist.github.com/NedMakesGames/07bf7599e0a8867c01646fc180de5e67
⏲️ Timestamps:
0:00 Intro
0:57 Project setup
1:47 The graph
3:40 The initial script
5:04 Randomizing colors
5:58 Instantiate material
6:33 Optimizations
7:35 Wrap up and credits
🎖️ Credits and references:
• James Opie AKA Nihilore: music "Oblivious" - youtube.com/watch?v=rjWb_WwY2cA
• Unity Technologies: Let's Try: Shooting with Raycasts - learn.unity.com/tutorial/let-s-try-shooting-with-raycasts#5c7f8528edbc2a002053b469
#GameDev #IndieDev #Unity
► At line 39 in OutlinesInclude.hlsl, the sixth entry in sobelSamplePoints should be float2(1, 0), not float2(1, 1)
Outlines are a great way to add polish and style to a variety of games! In this tutorial, I apply depth and normal outlines to single objects, allowing different outline colors. This technique also skips the post processing step, which can be a big performance boost for lightweight platforms!
👋 Subscribe for weekly game development videos!
youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, and downloadable project files!
► patreon.com/nedmakesgames
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
🎬 Previous videos
► Depth and color outlines: youtu.be/RMt6DcaMxcE
► Normal outlines: youtu.be/fW-5srSHDMc
✨Follow up videos
► Optimized outlines: youtu.be/8Xq7tU5QN1Q
💬 Video transcript
► docs.google.com/document/d/1YrGlu2uVrZbAXszXPYMENxUCe_MemZwRDHsuCG8rN64/edit?usp=sharing
📜 Required scripts
► DepthNormalsFeature.cs: gist.github.com/NedMakesGames/660ea67339e5426c578ca244b58d83bf
► OutlinesInclude.hlsl: gist.github.com/NedMakesGames/9d433cce7575d8d776da789f29905306
► DecodeDepthNormals.hlsl: gist.github.com/NedMakesGames/043a4f0c2e894217fb9b9d4c2ac270f8
► BlitMaterialFeature.cs: github.com/NedMakesGames/RendererFeatureBlitMat/blob/master/Assets/Rendering/Desaturate/BlitMaterialFeature.cs
⏲️ Timestamps:
0:00 Intro
1:00 Theory
2:06 Project Setup
2:53 Outlines graph
5:49 Simple outlined shader
7:19 Outlines in unlit graphs
7:30 Outlines in lit graphs
9:35 Conflict with AO
9:57 Wrap up and credits
🎖️ Credits and references:
• PolyChromic: Toon Mushrooms - sketchfab.com/3d-models/toon-mushrooms-d55aae0bfdd8424cb4f7f7573a79f009
• Cyanilux: Depth - cyanilux.com/tutorials/depth/#buffer-vs-texture
• Roystan: Outline Shader - roystan.net/articles/outline-shader.html
• Alexander Ameye: Outline Shader - alexanderameye.github.io/outlineshader.html
• Hanane Rami, Mohammed Hamri, Lhoussiene Masmoudi: Color Edge Detector with Sobel-PCA - https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.402.6975&rep=rep1&type=pdf
• Microsoft: DirectX Graphics Samples - github.com/microsoft/DirectX-Graphics-Samples
• Ben Golus and Keijiro Takahashi: View direction from screen position - forum.unity.com/threads/help-with-view-space-normals.454248
• James Opie AKA Nihilore: music "The Author Never Dies" - youtube.com/watch?v=Pm2QnPztgzY
• freepik: Wrinkled paper texture - freepik.com/premium-vector/wrinkled-paper-texture_711440.htm
#GameDev #IndieDev #Unity
Grass renderers are complicated! I've explored a few different ways to handle them, and in this video, I'll add character interaction, or trampling, to my shader graph implementation. I show how to create a renderer feature to upload character positions to shaders, and then how to access that data in a shader graph.
👋 Subscribe for weekly game development videos!
youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, and downloadable project files!
► patreon.com/nedmakesgames
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
🎬 Previous videos
► Shader graph mesh grass: youtu.be/JDpt9xYaUYc
► Procedural layer grass: youtu.be/c1JThTu6-Ok
► Procedural blades grass: youtu.be/DeATXF4Szqo
► Improved blade grass: youtu.be/6SFTcDNqwaA
💬 Video transcript
► docs.google.com/document/d/1iJdE76TtRaoImyF97AfbHHlFx34LJc_gAg_-R5PpQFI/edit?usp=sharing
📚 Reference scripts
► gist.github.com/NedMakesGames/028d9c50cf15da273c889331a4209af5
⏲️ Timestamps:
0:00 Intro
1:12 Theory
2:02 The renderer feature
6:42 Updating the graph
11:24 Performance considerations
12:08 Wrap up and credits
🎖️ Credits and references:
• James Opie AKA Nihilore: music "Motion Blur" - youtube.com/watch?v=eRZbwOpUJwk
• Lennart Demes: ball texture - cc0textures.com/view?id=Plastic007
• Christopher Figueroa: FPS Controller - github.com/kinifi/Unity-FPS-Controller
• Procedural Worlds: sky box - assetstore.unity.com/packages/tools/terrain/gaia-2-terrain-scene-generator-42618
• ditya120197: ground texture - cgtrader.com/free-3d-models/textures/natural/stylized-dirt-ground-pbr-textures
• Unity Technologies: grass texture - standard assets
#GameDev #IndieDev #Unity
👋 Subscribe for weekly game development videos!
youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, and downloadable project files!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
⏲️ Timestamps:
0:00 Intro
0:35 Meta data changes
1:05 The master stack
2:20 The graph inspector
4:17 Property changes
5:02 Node changes
6:28 Wrap up and credits
🎖️ Credits and references:
• James Opie: music "Glimmer" - youtube.com/watch?v=yAozyPbCT18
#GameDev #IndieDev #Unity
Merry Christmas and Happy holidays! Candy canes are a fun reminder of this time of year, so I wanted to try to program a procedural material to recreate one! It only uses a shader graph - no code required! No need for painted textures either.
👋 Subscribe for weekly game development videos!
youtube.com/c/nedmakesgames?sub_confirmation=1
👑 Join my Patreon for extra influence over topics, early access to videos, and downloadable project files!
► patreon.com/nedmakesgames
🔗 Check out my website for a searchable list of tutorials!
► nedmakesgames.github.io
🔴 Twitch ► twitch.tv/nedmakesgames
🐦 Twitter ► twitter.com/nedmakesgames
🎮 Discord ► discordapp.com/invite/ubxSVBK
📸 Instagram ► instagram.com/nedmakesgames
👽 Reddit ► reddit.com/u/nedmakesgames
🎶 TikTok ► tiktok.com/@nedmakesgames
☕ Ko-fi ► ko-fi.com/nedmakesgames
⏲️ Timestamps:
0:00 Intro
0:32 Project setup
1:05 Stripe
2:44 Spiral
3:28 Multiple stripes
6:07 Cap colors
7:57 Noise
9:12 Normals
12:30 Modeling
12:52 Wrap up and credits
🎖️ Credits and references:
• Lennart Demes: candy texture reference - cc0textures.com/view?id=Candy002
• Inigo Quilez: procedural material techniques - iquilezles.org/live/index.htm
• Kai Engel: music "Holiday Gift" - freemusicarchive.org/music/Kai_Engel/Sustains/Kai_Engel_-_Sustains_-_03_Holiday_Gift
#GameDev #IndieDev #Unity


