آموزش Godot 4 Shaders: سایه زن های دو بعدی را برای بازی خود از ابتدا بنویسید

Godot 4 Shaders: Write 2D shaders for your game from scratch

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: آموزش ایجاد جلوه های بصری (VFX) با شیدرهای دوبعدی از طریق زبان GDShader Godot 4. قسمت 1: مبتدی تا متوسط ​​درک عمیق زبان شیدر Godot 4 را به دست آورید و به شما امکان می دهد از پتانسیل کامل آن برای توسعه بازی استفاده کنید. فرآیند گام به گام ایجاد سایه زن های canvas_item را بیاموزید و پایه و اساس جلوه های بصری پیچیده در بازی های دو بعدی را ایجاد کنید. مهارت های طراحی و اجرای جلوه های بصری جذاب (VFX) را با استفاده از سایه بان ها بیاموزید و جذابیت زیبایی شناسی بازی های خود را افزایش دهید. با بهترین روش های استاندارد صنعتی برای برنامه ریزی سایه زن کارآمد و موثر در موتور گودو آشنا شوید. نحوه ادغام شیدرها با منطق بازی با استفاده از زبان GDScript و GDShader را بیابید که امکان ایجاد محیط های بازی پویا و تعاملی را فراهم می کند. از طریق پروژه زامبی، یادگیری خود را در یک زمینه عملی به کار ببرید، با درک نحوه استفاده از شیدرها در سناریوهای توسعه بازی واقعی. شما یک پایه قوی برای ساختن خواهید داشت. توانایی انتقال این دانش برای یادگیری سایه‌زن‌های سه بعدی یا زبان عمومی‌تر شیدر GLSL. در پایان دوره شما به راحتی با استفاده از شیدرهایی که خودتان ایجاد کرده اید، تعداد زیادی از زامبی های عصبانی را منفجر کرده و منفجر خواهید کرد. gdscript کمک خواهد کرد اما لازم نیست

به دوره آموزشی "Godot 4.x Canvas Item Shaders" در Udemy خوش آمدید! این دوره شما را در دنیای شگفت انگیز سایه زن های دوبعدی راهنمایی می کند، جایی که همه چیز را از موارد ضروری گرفته تا تکنیک های پیشرفته یاد خواهید گرفت.

با توجه به این موضوع، این مجموعه بین دوره های مبتدی و متوسط ​​تقسیم می شود. شما هم اکنون به قسمت اول سریال نگاه می کنید. این شما را از یک مبتدی به سطح متوسط ​​در چند ساعت می برد.

چیزی که این سری را منحصر به فرد می کند این است که همه چیزهایی را که در مورد سایه زن های دو بعدی در Godot 4 باید بدانید را پوشش می دهد. این کامل ترین سری سایه زن دو بعدی است. تاریخ. با آموزش قواعد نحوی و قالب بندی مطابق با استانداردهای جامعه شروع می شود. سپس هر مفهوم را با مثال‌های تئوری و عملی یاد می‌گیرید، و به آرامی از سایه‌زن‌های ساده به نمونه‌های پیشرفته‌تر تبدیل می‌شوید. همچنین مملو از چالش‌های «خودت را امتحان کن» است تا نه تنها کد را کپی و جای‌گذاری کنید، بلکه واقعاً یاد بگیرید که چگونه آن را به تنهایی انجام دهید. هدف از این دوره آموزش این است که چگونه از ابتدا هر سایه زن دو بعدی را که تصور می کنید بسازید.

محتوای دوره با godot 4.2 به روز است

در این قسمت از مجموعه ما با کاوش در شیدرهای آیتم های بوم، زبان سایه زنی منحصر به فرد گودو، شروع می کنیم و به انواع داده های ضروری مانند شناورها، اعداد صحیح، آرایه ها، بردارها، ماتریس ها و غیره می پردازیم. مفاهیمی مانند:


  • کانال های رنگی

  • نگاشت بافت

  • لباس فرم

  • حالت های بسته بندی

  • قالب بندی

  • توابع داخلی

  • نکات

  • سیستم مختصات UV

  • توابع راس قطعه

  • رندر خط لوله

و موضوعات پیشرفته تر مانند:


  • پیش پردازش سایه بان ها

  • اشکال زدایی-shaders -techniques

  • تعامل با GDScript

  • تصادفی

  • نمودارهای انیمیشن (CurveTexture)

  • درون یابی

  • عملیات برداری

  • واگرایی شاخه

و لیست ادامه دارد و ادامه دارد. ما این موضوعات را از طریق ترکیبی از تمرین‌های کدگذاری تئوری و عملی بررسی خواهیم کرد.

این دوره به گونه‌ای طراحی شده است که درک جامعی از زبان شیدر ارائه دهد. این از دو پروژه وجود دارد، پروژه ای که در آن بیشتر بر روی نظریه تمرکز می کنیم و سایه بان های تصادفی متناسب با موضوع ایجاد می کنیم، و ما یک پروژه بازی واقعی خواهیم داشت، "پروژه زامبی" ما، اینجاست که یاد می گیریم دانش خود را به کار ببریم. برای ایجاد جلوه های بصری (VFX) برای بازی های دو بعدی خود. ما نگاهی دقیق به هر تابع سایه زن داخلی که در کد خود استفاده خواهیم کرد، خواهیم داشت و هر خط را توضیح می دهیم. هر بار که یک قابلیت جدید معرفی می‌شود، با استفاده از مثال‌های کدنویسی، اسلایدها و سؤالات بعدی، توضیح کاملی خواهیم داشت. به علاوه، مهم است که بدانید این دوره از بهترین شیوه های جامعه پیروی می کند.

در پایان این دوره، شما نه تنها پایه ای محکم در برنامه نویسی سایه زن در گودو خواهید داشت، بلکه یک پروژه سرگرم کننده و تعاملی برای به نمایش گذاشتن مهارت های جدید خود خواهید داشت.


اکنون ثبت نام کنید تا سفر خود را به دنیای رنگارنگ سایه بان ها آغاز کنیم!

من خوشحالم که به شما در دوره خوش آمد می گویم!

با احترام،
سام


به عنوان نکته پایانی:

در این مرحله از زمان، قسمت دوم مجموعه هنوز در دست توسعه است. من روی این دوره کار خواهم کرد تا مطمئن شوم که به روز است و دوره جدید. به این ترتیب شما می توانید پس از پایان بخش دوم، از سطح متوسط ​​به سطح پیشرفته ترقی کنید.

موضوعاتی که در این دوره مورد بحث قرار نخواهند گرفت، اما در قسمت 2 آینده گنجانده خواهند شد:


  • اعمال ماتریس روی رئوس

  • سایه‌زن‌های فضای صفحه

  • سایه‌زن‌های فضای بوم

  • بافت صفحه نمایش

  • سایه بان های پس از پردازش

  • عملیات بردار پیشرفته

  • لباس های جهانی

  • تغییرات فضا را با استفاده از ماتریس های تبدیل (فضای جهان به صفحه و غیره) هماهنگ کنید

  • کپی بافر برگشتی

  • نقشه برداری پیشرفته UV ​​

  • عملکرد نور

و سایر موضوعات پیشرفته. آنها در دوره آینده مورد بحث قرار خواهند گرفت.


تماس با

من برای سوالات بعد از ساعت کاری 8:00 تا 17:00 (GMT+1/EST-5) از دوشنبه تا جمعه، در زمان‌های متفاوت در آخر هفته‌ها در دسترس خواهم بود. همیشه سعی کنید در عرض 12 ساعت یا کمتر پاسخ دهید!


توجه:

در زیر گزارش تغییرات خود را برای کار در این دوره به روز می کنم. اگرچه تمرکز من بر روی کار بر روی قسمت 2 سریال است، اما بازخوردهای دریافتی را یادداشت می‌کنم و در صورت بروز مشکلات با مسائل مهمی برخورد خواهم کرد. به محض پخش زنده قسمت دوم، زمان خود را به طور مساوی بین دوره ها صرف می کنم. فقط می‌خواهم به شما اطلاع دهم که تقریباً هر روز سخت روی آن کار می‌کنم تا تجربه‌تان را تا حد امکان بهتر کنم، بیایید با هم سایه‌بان‌های عالی بسازیم!


جولی فعلی 2024

- افزودن بنرهای متنی به چالش‌هایی که دقیقاً چه کاری باید انجام شود (بسیار درخواست شده)

- قسمت 3 قسمت 3


به روز رسانی ها/گزارش تغییر:

خلاصه - ژوئن 2024

- بخش پاداش به روز شد!
- پیاده سازی صدای زوم کد
- اصلاحات جزئی ویرایش

خلاصه - می 2024

- ویدیوهای بهبودیافته
- پیاده سازی صدای زوم کد
- بخش ماتریس های ویرایش شده و بهبود یافته

خلاصه - آوریل 2024 :
- مشکلات صوتی تصحیح شده، شرح‌های ویرایش شده 1 - 24
- یادداشت‌هایی اضافه شده برای برجسته کردن و جلوگیری از نقص‌ها
- بزرگ‌نمایی کد پیاده‌سازی شده برای بخش <7


نقشه راه:

ژوئن/جولای 2024

- بخش جدید: در حال بارگیری سایه‌زن‌ها (قبل از پایان آگوست آماده نیست)
- کیفیت صدا را از خوب به عالی بهبود دهید
- برای هر چالش نوشتاری با شرح چالش واضح اضافه کنید، زمان توقف ویدیو را افزایش دهید
- کار روی قسمت 2
- بهبود ناوبری رابط گودو در سراسر ویدیوها

اوت 2024
- تلاش برای انتشار قسمت 2


هر گونه پیشنهاد/بازخورد لطفا با من تماس بگیرید


سرفصل ها و درس ها

معرفی Introduction

  • معرفی Introduction

اولین سایه بان: نظریه First Shader: Theory

  • نمای کلی بخش Overview of section

  • سایه بان های canvas_item چیست؟ What canvas_item shaders are

  • زبان سایه گودو Godot's shading language

  • انواع داده ها: شناور، اعداد صحیح و بردار Data-types: Floats, integers & vectors

  • بردار 2 و مختصات Vector 2 & coordinates

  • وکتور 3 و 4 و کانال های رنگی Vector 3 & 4 & color channels

  • بافت ها Textures

  • سیستم مختصات UV UV Coordinate system

  • عادی سازی بافت ها Normalising textures

  • نقشه برداری بافت Texture mapping

  • فضای بافت Texture space

  • چالش: امتحان و جمع بندی Challenge: Quiz & wrap up

First Shader: عملی First Shader: Practical

  • نمای کلی بخش Overview of section

  • پروژه ایجاد کنید Create project

  • راه اندازی سایه زن Setting up shader

  • قطعه: رنگ های RGB Fragment: RGB colors

  • تکه: چرخان Fragment: Swizzling

  • قطعه: آلفا Fragment: Alpha

  • راس: RGBA Vertex: RGBA

  • قطعه: ضرب و تقسیم COLOR Fragment: Multiplying & dividing COLOR

  • قطعه: متغیر UV Fragment: UV Variable

  • چالش: زامبی خود را بسازید Challenge: Create your own zombie

  • راس: UV Vertex: UV

  • Sampler2D: نمونه برداری بافت و یونیفرم ها Sampler2D: Texture Sampling & Uniforms

  • نقشه برداری بافت UV UV Texture mapping

  • راس: دستکاری VERTEX Vertex: VERTEX Manipulation

  • نقشه برداری UV در مقابل موقعیت یابی VERTEX UV mapping vs VERTEX positioning

  • عملکرد داخلی: مخلوط کردن Built-in function: Mix

  • چالش: یک بافت سوم اضافه کنید Challenge: Add a third texture

Shader Essentials: رندر خط لوله Shader Essentials: Rendering pipeline

  • نمای کلی بخش Overview of section

  • فاز رندر: رئوس Rendering phase: Vertices

  • فاز رندر: سایه زن Vertex Rendering phase: Vertex shader

  • فاز رندر: نسل اولیه Rendering phase: Primitives generation

  • مرحله رندر: Rasterisation Rendering phase: Rasterisation

  • فاز رندر: شیدر قطعه Rendering phase: Fragment shader

  • مرحله رندر: آزمایش ترکیب Rendering phase: Testing blending

  • فاز رندر: فریم بافر Rendering phase: Framebuffer

  • اهمیت CPU در مقابل GPU Importance CPU vs GPU

  • عملکرد نور Light function

  • رندر مرحله پایانی Rendering the end phase

  • رندر خط لوله Rendering pipeline

Shader Essentials: انواع داده ها Shader Essentials: Data-types

  • نمای کلی بخش Overview of section

  • راه اندازی پروژه Project setup

  • انواع داده ها: بولی Data types: Boolean

  • انواع داده ها: بردارهای بولی Data types: Boolean vectors

  • انواع داده ها: بردارهای عدد صحیح Data types: Integer vectors

  • انواع داده ها: عدد صحیح بدون علامت Data types: Unsigned integer

  • انواع داده ها: ماتریس Data types: Matrices

  • انواع داده ها: Mat3 Data types: Mat3

  • انواع داده ها: Sampler2D Data types: Sampler2D

  • تکلز Texels

  • انواع داده: آرایه Sampler2D Data types: Sampler2D Array

  • Outro Outro

Shader Essentials: زبان GDShader Shader Essentials: GDShader language

  • زبان GDShader: نمای کلی بخش GDShader language: Overview of section

  • زبان GDShader: آرایه ها GDShader language: Arrays

  • زبان GDShader: چالش آرایه ها GDShader language: Arrays challenge

  • زبان GDShader: طول آرایه GDShader language: Array length

  • زبان GDShader: خواندن و نوشتن در آرایه ها GDShader language: Read & write to arrays

  • زبان GDShader: آرایه های جهانی GDShader language: Global arrays

  • زبان GDShader: برای حلقه ها GDShader language: For Loops

  • زبان GDShader: while Loops GDShader language: While Loops

  • زبان GDShader: Do-While Loops GDShader language: Do-While Loops

  • زبان GDShader: چالش حلقه ها GDShader language: Loops challenge

  • زبان GDShader: توابع سفارشی GDShader language: Custom Functions

  • زبان GDShader: چالش توابع سفارشی GDShader language: Custom Functions Challenge

  • زبان GDShader: عبارات IF و واگرایی شاخه GDShader language: IF statements & Branch divergence

  • زبان GDShader: تابع Step GDShader language: Step function

  • زبان GDShader: تکنیک های بدون شاخه GDShader language: Branchless techniques

  • زبان GDShader: سوئیچ GDShader language: Switch

  • زبان GDShader: عملگر سه تایی GDShader language: Ternary operator

  • زبان GDShader: بخش IF == تمام شده است GDShader language: IF section == over

Shader Essentials: Debugging Shader Essentials: Debugging

  • اشکال زدایی: نمای کلی Debugging: Overview

  • اشکال زدایی: اشکال زدایی بصری Debugging: Visual debugging

  • اشکال زدایی: چالش اشکال زدایی بصری Debugging: Visual debugging challenge

  • اشکال زدایی: راه حل چالش Debugging: Challenge solution

  • اشکال زدایی: اشکال زدایی بافت ها Debugging: Debugging textures

  • اشکال زدایی: نظارت بر نرخ فریم Debugging: Frame rate monitoring

  • اشکال زدایی: گردش کار مدولار Debugging: Modular workflow

  • اشکال زدایی: قراردادهای کدگذاری پاک Debugging: Clean coding conventions

  • اشکال زدایی: طول خط Debugging: Line length

  • اشکال زدایی: اعداد جادویی Debugging: Magical numbers

  • اشکال زدایی: راهنمای سبک گودو Debugging: Godot style guide

  • اشکال زدایی: پیش پردازنده ها Debugging: Preprocessors

  • اشکال زدایی: جمع بندی Debugging: Wrapping up

  • راهنمای سبک گودو Style guide godot

پروژه زامبی: معرفی Zombie Project: Intro

  • مقدمه: بررسی اجمالی Intro: Overview

  • مقدمه: دامنه Intro: Scope

  • مقدمه: ساختار فایل Intro: File structure

  • مقدمه: اجرای پروژه Intro: Project Walk through

  • مقدمه: سایه زن زامبی ما را اضافه کنید Intro: Add our zombie shader

  • مقدمه: همه آنها را بکش! Intro: Kill them all!

پروژه زامبی: Flash on Hit Zombie Project: Flash on Hit

  • Flash on hit: نمای کلی Flash on hit: Overview

  • Flash on hit: راه اندازی عملکرد Flash on hit: Function setup

  • Flash on hit: Outline Challenge Flash on hit: Outline Challenge

  • Flash on hit: Outline Solution Flash on hit: Outline Solution

  • فلش در ضربه: Hint_range Flash on hit: Hint_range

  • Flash on hit: Source_color Hint Flash on hit: Source_color Hint

  • Flash on hit: منطق اصلی Flash on hit: Core logic

  • Flash on hit: محدودیت محدوده چالش Flash on hit: Limit range challenge

  • Flash on hit: ضرب Flash on hit: Multiplying

  • فلاش در ضربه: گیره عملکرد داخلی Flash on hit: Built-in function Clamp

  • فلش در ضربه: مراحل hint_range Flash on hit: hint_range steps

  • Flash on hit: AnimationPlayer Flash on hit: AnimationPlayer

  • Flash on hit: انیمیشن اجرای GDScript Flash on hit: GDScript run animation

  • Flash on hit: تست سایه زن Flash on hit: Testing the shader

  • Flash on hit: عملکرد اختصاصی Flash on hit: Dedicated function

  • Flash on hit: چالش عملکرد سفارشی Flash on hit: Custom function challenge

  • Flash on hit: راه حل عملکرد سفارشی Flash on hit: Custom function solution

  • Flash on hit: گروه های یکنواخت (فرعی). Flash on hit: Uniform (sub) groups

  • Flash on hit: در یک لحظه تمام شد Flash on hit: Finished in a flash

پروژه زامبی: نفس Zombie Project: Breath

  • Breath: نمای کلی Breath: Overview

  • تنفس: فاز راس Breath: Vertex phase

  • نفس: چالش مقیاس Breath: Scale challenge

  • Breath: محلول مقیاس Breath: Scale solution

  • تنفس: ساخته شده در TIME Breath: Built-in TIME

  • تنفس: کاهش فرکانس Breath: Reducing frequency

  • Breath: Sin & Cos Breath: Sin & Cos

  • نفس: اعمال گناه Breath: Applying sin

  • Breath: شامل پیش پردازنده Breath: Pre-processor Include

  • تنفس: رئوس چرخاندن را توضیح دهید Breath: Explain flipping vertices

  • نفس: بزرگی تغییر چالش Breath: Challenge change magnitude

  • نفس: مقدار تغییر محلول Breath: Solution change magnitude

  • تنفس: فرکانس Breath: Frequency

  • نفس: قدر Breath: Magnitude

  • تنفس: عملکرد سفارشی Breath: Custom function

  • تنفس: عملکرد مشترک با شامل Breath: Shared function with include

  • تنفس: تنفس و فلاش را به اشتراک بگذارید Breath: Share breath & flash

  • تنفس: پارامترهای پویا Breath: Dynamic parameters

  • Breath: Uniforms vs Constants Breath: Uniforms vs Constants

  • تنفس: سرعت تنفس را تعریف کنید Breath: Define breathing pace

  • نفس: از نفس افتاده Breath: Out of breath

Shader Essentials: عملکرد قطعه Shader Essentials: Fragment function

  • بخش: بررسی اجمالی Fragment: Overview

  • قطعه: پوسته پوسته شدن UV Fragment: Scaling UV

  • Fragment: راه اندازی سایه زن Fragment: Setup shader

  • Fragment: Challenge scaled uv Fragment: Challenge scaled uv

  • قطعه: رنگ سفید را به چالش بکشید Fragment: Challenge white color

  • Fragment: حالت بسته بندی بسته Fragment: Clamped Wrapping mode

  • قطعه: نیمه پایینی را به چالش بکشید Fragment: Challenge bottom half

  • قطعه: نیمه پایینی محلول Fragment: Solution bottom half

  • Fragment: حالت های بسته بندی بافت Fragment: Texture Wrapping modes

  • Fragment: تکرار حالت بسته بندی Fragment: Wrapping mode repeat

  • Fragment: Wrapping Mode Mirror Fragment: Wrapping Mode Mirror

  • Fragment: عملکرد مود داخلی Fragment: Built-in mod function

  • قطعه: بسته بندی UV با مد Fragment: Wrapping UV with mod

  • Fragment: Challenge Mod خروجی Fragment: Challenge mod output

  • Fragment: کدنویسی نمونه مد Fragment: Coding example mod

  • Fragment: UV Translations Fragment: UV Translations

  • Fragment: UV را به صورت کد ترجمه کنید Fragment: Translate UV in code

  • قطعه: اسکرول بافت Fragment: Texture scrolling

  • Fragment: درک کد Fragment: Understanding the code

  • Fragment: متحرک سازی با مد Fragment: Animate with mod

  • Fragment: متحرک سازی با CurveTexture Fragment: Animate with CurveTexture

  • Fragment: CurveTexture Theory Fragment: CurveTexture Theory

  • Fragment: نمودار انیمیشن در ویرایشگر Fragment: Anim graph inside editor

  • قطعه: بافت نویز Fragment: Noise texture

  • قطعه: اعداد تصادفی را اعمال کنید Fragment: Apply randomish numbers

  • قطعه: در هم پیچیدن Fragment: Wrapping up

Shader Essentials: Workflow - از ایده تا شیدر آتش Shader Essentials: Workflow - From idea to fire shader

  • گردش کار: مرور کلی Workflow: Overview

  • گردش کار: مفهوم سازی Workflow: Conceptualisation

  • گردش کار: طراحی و طراحی Workflow: Sketching and design

  • گردش کار: نمونه سازی Workflow: Prototyping

  • گردش کار: توسعه Workflow: Development

  • گردش کار: پالایش Workflow: Refinement

  • گردش کار: بازخورد Workflow: Feedback

  • گردش کار: مرحله نهایی Workflow: Final stage

  • گردش کار: خلاصه Workflow: Recap

  • سایه بان آتش: صحنه راه اندازی Fire shader: Setup scene

  • Fire shader: پیش نمایش Fire shader: Preview

  • Fire shader: بافت را به چپ تغییر دهید Fire shader: Shift texture to the left

  • سایه زن آتش: راه حل تغییر بافت Fire shader: Texture shifting solution

  • سایه بان آتش: سر و صدا Fire shader: Noise

  • Fire shader: بافت اشکال زدایی را تنظیم کنید Fire shader: Setup debugging texture

  • سایه بان آتش: عدد سفید Fire shader: White number

  • شیدر آتش: اعوجاج تراز وسط Fire shader: Center align distortion

  • سایه بان آتش: تراز وسط را توضیح دهید - پیش فرض Fire shader: Explain center alignment - Default

  • سایه بان آتش: تراز وسط را توضیح دهید - نویز اضافه کنید Fire shader: Explain center alignment - Add noise

  • Fire shader: تراز وسط - تفریق را توضیح دهید Fire shader: Explain center alignment - Subtraction

  • سایه بان آتش: تراز مرکزی را توضیح دهید - نتیجه گیری Fire shader: Explain center alignment - Conclusion

  • سایه بان آتش: تراز وسط با یونیفرم را توضیح دهید Fire shader: Explain center alignment with uniform

  • Fire shader: پاک کردن کدهای شیمر Fire shader: Clean up shimmer code

  • شیدر آتش: شیب رنگ Fire shader: Color gradients

  • Fire shader: چالش گرادیان آتش Fire shader: Fire gradient challenge

  • Fire shader: راه حل گرادیان آتش Fire shader: Fire gradient solution

  • سایه بان آتش: چالش گرما و آتش را مخلوط کنید Fire shader: Mix heat and fire challenge

  • سایه بان آتش: حرارت و محلول آتش را مخلوط کنید Fire shader: Mix heat and fire solution

  • Fire shader: چالش محدوده آتش Fire shader: Fire range challenge

  • سایه بان آتش: راه حل ها را کاوش کنید Fire shader: Explore solutions

  • سایه بان آتش: محدوده آتش عمودی را برش دهید Fire shader: Crop vertical fire range

  • شیدر آتش: یکنواخت را برای تنظیم برد تست کنید Fire shader: Test uniform to adjust range

  • Fire shader: به چالش بکشید که چه چیزی را متحرک کنید Fire shader: Challenge what to animate

  • Fire shader: تکرار بافت Fire shader: Texture repeat

  • سایه بان آتش: خطوط درز Fire shader: Seam lines

  • Fire shader: به چالش کشیدن چرا هر دو متحرک هستند Fire shader: Challenge why both animated

  • Fire shader: انیمیشن TIME Fire shader: TIME animation

  • Fire Shader: Challenge Improvements Fire shader: Challenge Improvements

  • سایه بان آتش: بهبود یک Fire shader: Improvement one

  • سایه بان آتش: بهبود دو Fire shader: Improvement two

  • سایه بان آتش: بهبود سه Fire shader: Improvement three

  • سایه بان آتش: هنگامی که آتش خاموش شد Fire shader: When the fire died down

پروژه زامبی: قهرمان آسیب می بیند Zombie Project: Hero taking damage

  • Hero Damaged: نمای کلی Hero Damaged: Overview

  • Hero Damaged: راه اندازی Shader Hero Damaged: Shader setup

  • Hero Damaged: چالش طرح کلی را بنویسید Hero Damaged: Write outline challenge

  • Hero Damaged: راه حل کلی را بنویسید Hero Damaged: Write outline solution

  • قهرمان آسیب دیده: لباس فرم Hero Damaged: Uniforms

  • Hero Damaged: عملکرد اختصاصی Hero Damaged: Dedicated function

  • Hero Damaged: نویز و گرادیان را تنظیم کنید Hero Damaged: Setup noise & gradient

  • قهرمان آسیب دیده: چالش طرح منطقی Hero Damaged: Logic outline challenge

  • Hero Damaged: راه حل طرح کلی منطقی Hero Damaged: Logic outline solution

  • Hero Damaged: چالش منطقی را کد کنید Hero Damaged: Code the logic challenge

  • Hero Damaged: کد راه حل منطقی: مرحله 1 Hero Damaged: Code the logic solution: step 1

  • Hero Damaged: کد راه حل منطقی: مرحله 2 Hero Damaged: Code the logic solution: step 2

  • Hero Damaged: کد راه حل منطقی: مرحله 3 Hero Damaged: Code the logic solution: step 3

  • Hero Damaged: اثر افزایشی در چالش پیشرفت Hero Damaged: Increment effect on progress challenge

  • Hero Damaged: اثر افزایشی در راه حل پیشرفت Hero Damaged: Increment effect on progress solution

  • Hero Damaged: ست لباس در GDScript Hero Damaged: Set uniform in GDScript

  • Hero Damaged: چالش یکنواخت پیشرفت را رفع کنید Hero Damaged: Fix progress uniform challenge

  • Hero Damaged: راه حل یکنواخت پیشرفت را برطرف کنید Hero Damaged: Fix progress uniform solution

  • قهرمان آسیب دیده: طرح کلی را بهبود ببخشید Hero Damaged: Improve outline

  • Hero Damaged: سر و صدای ظریف Hero Damaged: Finetune noise

  • Hero Damaged: گرادیان دقیق Hero Damaged: Finetune gradient

  • Hero Damaged: پیشرفت با curveTexture Hero Damaged: Progress with curveTexture

  • Hero Damaged: رنگ قرمز را اضافه کنید Hero Damaged: Add red tint

  • Hero Damaged: هموار عملکرد داخلی Hero Damaged: Built-in function smoothstep

  • Hero Damaged: صاف استپ را اعمال کنید Hero Damaged: Apply smoothstep

  • Hero Damaged: پاکسازی کد - اندازه نوع داده را کاهش دهید Hero Damaged: Code cleanup - Reduce datatype size

  • Hero Damaged: پاکسازی کد - توابع ترکیبی را ادغام کنید Hero Damaged: Code cleanup - Merge mix functions

  • Hero Damaged: پاکسازی کد - کانال نویز قرمز Hero Damaged: Code cleanup - Red noise channel

  • Hero Damaged: پاکسازی کد - بافت پایه Hero Damaged: Code cleanup - Base texture

  • Hero Damaged: پاکسازی کد - شماره جادویی Hero Damaged: Code cleanup - Magical number

  • Hero Damaged: پاکسازی کد - یونیفرم Hero Damaged: Code cleanup - Uniforms

  • Hero Damaged: پاکسازی کد - عملکرد سفارشی Hero Damaged: Code cleanup - Custom function

  • Hero Damaged: پاکسازی کد - تنظیم رنگ قرمز Hero Damaged: Code cleanup - Red tint adjustment

  • قهرمان آسیب دیده: نتیجه گیری Hero Damaged: Conclusion

پروژه زامبی: زامبی آسیب می بیند Zombie Project: Zombie taking damage

  • Zombie Damaged: Overview Zombie Damaged: Overview

  • Zombie Damaged: آماده سازی کد Zombie Damaged: Code preparation

  • Zombie Damaged: Challenge کالبد شکافی اثر Zombie Damaged: Challenge dissect the effect

  • Zombie Damaged: Solution اثر را تشریح می کند Zombie Damaged: Solution dissect the effect

  • Zombie Damaged: از گرادیان نمونه بگیرید Zombie Damaged: Sample the gradient

  • Zombie Damaged: نمونه کانال نویز قرمز Zombie Damaged: Sample red noise channel

  • Zombie Damaged: Challenge alpha noise Zombie Damaged: Challenge alpha noise

  • Zombie Damaged: شبح پایه چالش پر از نویز Zombie Damaged: Challenge base silhouette filled with noise

  • Zombie Damaged: یونیفرم امتیازات را اضافه کنید Zombie Damaged: Add hitpoints uniform

  • Zombie Damaged: مراحل افکت را بازنویسی کنید Zombie Damaged: Recap steps of the effect

  • Zombie Damaged: Challenge black box mapping Zombie Damaged: Challenge black box uv mapping

  • Zombie Damaged: شفافیت از بالا به پایین را به چالش بکشید Zombie Damaged: Challenge top down transparency

  • Zombie Damaged: Challenge variation از بالا به پایین شفافیت Zombie Damaged: Challenge variation top down transparency

  • Zombie Damaged: Challenge X vs Y scrolling Zombie Damaged: Challenge X vs Y scrolling

  • Zombie Damaged: Complete dissolve logic Zombie Damaged: Completing dissolve logic

  • Zombie Damaged: پوسته پوسته شدن VERTEX در انتها Zombie Damaged: VERTEX scaling at the end

  • Zombie Damaged: چرخش را دوباره اضافه کنید Zombie Damaged: Re-add rotation

  • رفع مقیاس رأس Fix vertex scaling

  • Zombie Damaged: پاکسازی عملکردهای سفارشی Zombie Damaged: Cleanup custom functions

  • Zombie Damaged: شیب تنظیم دقیق Zombie Damaged: Fine tune gradient

  • Zombie Damaged: Shader Debug را غیرفعال کنید Zombie Damaged: Disable debug shader

  • Zombie Damaged: Tween را به لباس سایه زن متصل کنید Zombie Damaged: Bind Tween to shader uniform

  • Zombie Damaged: تنظیمات نهایی Zombie Damaged: Final adjustments

  • Zombie Damaged: Burned Zombie Damaged: Burned up

دوره را به پایان رساند Completed the course

  • سخنان پایانی Final words

بعدش چی What's next

  • پاداش: به سفر خود ادامه دهید Bonus: Continue your journey

نمایش نظرات

آموزش Godot 4 Shaders: سایه زن های دو بعدی را برای بازی خود از ابتدا بنویسید
جزییات دوره
7.5 hours
259
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
480
4.5 از 5
دارد
دارد
دارد
Sam van Berlo
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Sam van Berlo Sam van Berlo

برنامه نویس حرفه ای نرم افزار - Indie Game Dev - Godotian