Shader Laboratory
СтатистикаShader Laboratory a channel about shaders in telegram ID : @smkgames MyStack : goo.gl/smMuqe 😎👌
- Последний пост
- 17 июн.
- Последнее чтение
- 15 авг.
- Постов за неделю
- 0
- Всего постов
- 22
- Тип
- открытый
- Язык
- персидский
- В каталоге с
- 14 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
без подписи
New Edition for Unity 6 The Unity Shaders Bible Learn shaders step by step, from basics to advanced, improve your game's visuals in Unity, and become a technical artist. Fabrizio Espíndola Second Edition کتاب مقدس شیدرهای یونیتی (The Unity Shaders Bible) یادگیری شیدرها بهصورت گامبهگام، از مباحث پایه تا پیشرفته؛ جلوههای بصری بازی خود را در یونیتی بهبود دهید و به یک هنرمند فنی (Technical Artist) تبدیل شوید. سلام دوستان قبلا ورژن قدیمی این کتاب رو گذاشته بودم کانال این ورژن نسبتا جدید تره #unity #shader
رفرنس ها: Introduction to the Render Graph in Unity 6 Render Graph: Understanding the Render Graph Samples - Part 1 Migrating to Render Graph: Understanding the Render Graph Samples - Part 2 https://www.linkedin.com/pulse/image-effect-specific-part-objects-seyed-morteza-kamali https://blog.sge-coretech.com/entry/2024/06/04/171757 https://gamedevllm.com/en/unity6-urp-render-graph-basics-en/
رندرگراف یکی از پیشرفتهترین و کارآمدترین سیستمهای معماری رندرینگ در موتور بازیسازی یونیتی (Unity) است که با هدف بهینهسازی جریان اجرای دستورات گرافیکی طراحی شده است. در ادامه، معرفی دقیق و فنی این سیستم را برای درک بهتر ساختار و مزایای آن مرور میکنیم: رندر گراف چیست؟ به زبان ساده، Render Graph یک سیستم مدیریت اجرای رندرینگ است که به جای اینکه به شما اجازه دهد مستقیماً دستورات GPU را پشت سر هم بنویسید (مانند روشهای قدیمیتر در Scriptable Render Pipeline یا SRP)، فرآیند رندر را به صورت یک گراف از وابستگیها (Dependency Graph) مدیریت میکند. در این سیستم، شما ابتدا «ساختار» و «دادههای مورد نیاز» برای هر مرحله از رندرینگ را تعریف میکنید و سپس یونیتی خود تصمیم میگیرد که چگونه این مراحل را بهینهترین شکل ممکن اجرا کند. چرا به Render Graph نیاز داریم؟ (مشکلات روشهای سنتی) در پایپلاینهای سنتی (مثل Built-in یا حتی نسخههای اولیه URP/HDRP)، مدیریت منابع (مانند بافتها/Textureها) و زمانبندی اجرای دستورات (Command Buffers) کاملاً دستی بود. این موضوع چند مشکل اساسی ایجاد میکرد: 1. مدیریت حافظه دشوار: برنامهنویس باید دقیقاً میدانست چه زمانی یک بافت (Render Target) را آزاد کند تا حافظه بیهوده مصرف نشود. 2. عدم کارایی در موازیسازی: به دلیل ماهیت خطی (Linear) دستورات، استفاده بهینه از تمام هستههای پردازنده (CPU) و قابلیتهای Async GPU دشوار بود. 3. پیچیدگی در تغییرات: اضافه کردن یک افکت جدید (مثلاً Bloom) نیاز به تغییرات گسترده در کد داشت چون وابستگیهای مراحل قبلی باید به دقت مدیریت میشد. رندرگراف چگونه کار میکند؟ این سیستم از یک الگوی دو مرحلهای استفاده میکند: 1. مرحله تنظیم (Setup Pass): در این مرحله، شما چیزی رندر نمیکنید! بلکه فقط «نقشه راه» را ترسیم میکنید. میگویید: «من برای این مرحله به یک Depth Buffer نیاز دارم، خروجی مرحله قبل را به عنوان ورودی استفاده میکنم و در نهایت خروجی نهایی را در یک Texture ذخیره میکنم.» 2. مرحله اجرا (Execution Pass): سیستم Render Graph تمام این نقشهها را بررسی میکند. متوجه میشود کدام بافتها دیگر نیاز نیستند (پس حافظه آنها را بلافاصله آزاد میکند) و کدام مراحل را میتواند به صورت موازی (Parallel) انجام دهد. در نهایت، دستورات را برای کارت گرافیک میفرستد. مزایای کلیدی Render Graph * مدیریت خودکار حافظه (Transient Resource Management): این سیستم هوشمندانه تشخیص میدهد که چه زمانی بافتهای موقت (مانند G-Buffer یا Depth) دیگر استفاده نمیشوند و بلافاصله حافظه آنها را برای کارهای دیگر بازپس میگیرد. * افزایش عملکرد (Performance): به دلیل حذف کارهای تکراری و مدیریت هوشمندِ زمانبندی (Culling و Syncing)، فشار روی CPU به شدت کاهش مییابد. * کدنویسی تمیزتر: شما دیگر درگیر مدیریت مستقیم Command Bufferها نمیشوید. کدها ماژولارتر میشوند و اضافه کردن یا حذف کردن افکتهای گرافیکی (مثل Post-processing) بسیار آسانتر است. * رفع باگهای سینک (Synchronization): بسیاری از خطاهای گرافیکی ناشی از تلاش برای خواندن از منبعی است که هنوز رندر آن تمام نشده. Render Graph با درک کامل وابستگیها، این خطاها را به صورت خودکار مدیریت میکند. چه زمانی از آن استفاده کنیم؟ امروزه، Render Graph هستهی اصلی پایپلاینهای مدرن یونیتی مانند HDRP و نسخههای جدید URP است. اگر شما در حال توسعه یک بازی با گرافیک بالا هستید یا میخواهید یک Custom Render Pipeline بنویسید، یادگیری ساختار Render Graph نه تنها پیشنهاد میشود، بلکه برای بهرهبرداری از قدرت سختافزارهای امروزی ضروری است. خلاصه: اگر روشهای قدیمی رندرینگ را «نوشتن یک لیست از کارهای دستی و پرخطا» در نظر بگیریم، Render Graph یک «مدیر پروژه هوشمند» است که لیست کارهای شما را میگیرد، آن را بهینه میکند، منابع مورد نیاز را مدیریت میکند و با حداکثر سرعت اجرا مینماید.
без подписи
آموزش رندر گراف دوستانی که نمی تونند دانلود کنند تو آپارات هم آپلود کردم
без подписи
Shaders really feel like magic sometimes ✨ Since my game is built around replay systems, I needed a lightweight net effect that could smoothly simulate forward and backward for users. What surprised me is how well it worked in practice... Not only did it stay performant, it also made the interaction feel much more intentional and satisfying. شیدرها واقعاً بعضی وقتها مثل جادو به نظر میرسند ✨ از آنجایی که بازی من بر پایه سیستمهای ریپلی (Replay) ساخته شده، به یک افکت سبک برای تور نیاز داشتم که بتواند برای بازیکنها بهصورت روان هم در جهت جلو و هم در جهت عقب شبیهسازی شود. چیزی که من را شگفتزده کرد این بود که در عمل چقدر خوب جواب داد... نهتنها عملکرد (Performance) بازی را حفظ کرد، بلکه باعث شد تعامل با آن بسیار هدفمندتر و رضایتبخشتر به نظر برسد. به جای فیزیک از شیدر استفاده کرده مختصات توپ موقع برخورد رو داده به شیدر و از اون نقطه این موج سبز و قرمز و خاکستری رو اجرا کرده ( شکلش شبیه یک حلقه هست که شعاعش زیاد میشه) بعدش هم اینو به ورتکس شیدر داده تا موج ایجاد بشه
توضیح بسیار جامع و مفهومی رندر شیدر توسط کار تیمی CPU و GPU شعار ما : یادگیری شیدر نویسی بصورت مفهومی با UnityChan
مجموعه دوره های آموزش تخصصی NPR در UnityChan با FProSensei توضیح روش های ساخت اوت لاین پیشرفته در یونیتی و تفاوت آنها با مثال :
Npr (Non-photorealistic rendering) حوزهای از گرافیک رایانهای است که بر توانمندسازی طیف گستردهای از سبکهای بیانی برای هنر دیجیتال تمرکز دارد، برخلاف گرافیک رایانهای سنتی که بر فوتورئالیسم تمرکز دارد. NPR از حالت های هنری دیگر مانند نقاشی، طراحی، تصویرسازی فنی و کارتون های متحرک الهام گرفته شده است. NPR در فیلمها و بازیهای ویدیویی به شکل انیمیشن cel-shaded (همچنین به عنوان سایهزنی تون شناخته میشود) در واقع در شیدر تون خبری از رندر مبتنی بر فیزیک نسیت و این خاصیت باعث تون شدن شیدر میشه
سلام دوستان اگر به سبک های کارتونی و انیمهای علاقه دارید، کانال Unity Chan رو دنبال کنید. بیشتر درباره NPR (Non-Photorealistic Rendering) و ساخت شیدر های Stylized در Unity هست.
Most beginners don’t know this… Draw calls can destroy your game’s performance. Every time your GPU renders something on screen, it’s a draw call. Now imagine this: 100 objects = 100 draw calls Your FPS will drop fast. But if those objects share the same material or are instanced: You can reduce it to just a few draw calls. That’s a huge difference. This is why optimization matters. It’s not just about making things look good… It’s about making them run smoothly. If you’re using Unreal Engine or Unity, start paying attention to: • Materials • Meshes • Instancing Small changes = big performance gains. I’ll be sharing more optimization tips like this. What do you want to learn next? #GameDevelopment #UnrealEngine #Unity #GameDev #Optimization #IndieDev #LearnGameDev
ENG_Visualizing_Equations_Shaders_and_Procedural_Shapes_Vol2_006d.pdf
salam vaghtetun bkheir. man tuye chnltun ketabe shaders bible ro download krdm va kheili be dardam khord mersi ke share sh krdin. tazegia in ketabe procedural shapes ro az jettelly grftm ke kheili mofide va tuye chnltun nbud. brye hmin frstadm ke age dust darin bzarinsh dakhle chnl baghie ham estefade knn. ^^
Visualizing Equations Vol. 2 Shaders & Procedural Shapes in Unity 6
داکیومنت ارائه آقای علی افروغه در جشنواره بازی های رایانهای در مورد بهینه سازی در یونیتی. (البته این داکیومنت بدون توضیحاتی که در ارائه بود کامل نیست. امیدوارم بنیاد فیلم ارائه رو در اختیار علاقه مندان قرار بده.) #Unity #Optimization @Shaderlab
C# style guide for clean and scalable game code (Unity 6 edition) (second edition) این کتاب شامل نکات برای بهبود کدنویسی، ایجاد کدبیس تمیز و قابل توسعه که توسط تیم یونیتی نوشته شده. به عنوان مثال دو اصل مهم YAGNI و KISS گفته شده: اصل KISS (Keep It Simple, Stupid): - این اصل تاکید میکنه که کد باید تا جای ممکن ساده و قابل فهم باشه. - هدف اینه که از پیچیدگیهای غیرضروری جلوگیری کنیم تا کد راحتتر نگهداری و توسعه داده بشه. - مثال: به جای نوشتن توابع طولانی و پیچیده، کد رو به بخشهای کوچکتر و مستقل تقسیم کنین. به جای ساختن چیزهای جدید از صفر، از ابزارها و راهحلهای موجود و اثباتشده استفاده کنین (مثلاً Hexagonal Tilemap یا UnityEngine.Pool در یونیتی). اصل YAGNI (You Aren’t Gonna Need It): - این اصل میگه چیزی رو که الان نیاز ندارین، پیادهسازی نکنین. - هدف اینه که از اضافهکاری و پیچیدگیهای غیرضروری جلوگیری کنیم و فقط روی نیازهای فعلی تمرکز کنیم. - مثال: به جای اضافه کردن قابلیتهایی که ممکنه در آینده به کار بیان، فقط چیزی رو کدنویسی کنین که واقعاً لازمه. #Unity6 #Unity #CleanCode @Shaderlab
کاملترین کتاب آموزش Three.js به زبان فارسی آموزش کامل ساخت بازی و سایتهای سه بعدی نویسنده البرز پاینده @Shaderlab
برای دانلود کتاب های بیشتر به صورت رایگان به لینک زیر مراجعه کنید https://unity.com/how-to#all-ebooks