UnityChan(Channel)
402 subscribers
1.79K photos
62 videos
13 files
41 links
کانال آموزش و نکات UnityChan

گروه یونیتی https://t.me/UnityChan
Download Telegram
شاهد صورتی شدن همه چیز در ادیتور خواهیم بود اگر صورتی نشد یعنی شما ست نکردید
UnityChan(Channel)
شاهد صورتی شدن همه چیز در ادیتور خواهیم بود اگر صورتی نشد یعنی شما ست نکردید
سوال : چرا صورتی میشه هر چیز ؟ چون رندر و شیدر های شما تحت سلطه bulit in رندر پیپ لاین پیشفرض یونیتی هست و شما باید با تبدیل اونا به urp lit از حالت صورتی بودن در بیارید
چطوری تبدیل کنیم ؟ دو روش وجو دارد دستی و اتوماتیک

روش دستی با کلیک بر متریال هر گیم ابجکت و از پنجره هایراکی و کلیک بروی shader و انتخاب گزینه urp و lit اونو تبدیل کنید به urp شیدر
روش اتوماتیک با کلیک بر روی window و rendering انتخاب render pip line converter
دو گزینه اول را انتخاب کنید و بروی initialize and converter آن ها را تبدیل کنید به urp
بسیاری وقت ها مشکل پیش میاد که یک ابجکت گیم یونیتی متریالش تبدیل نمیشه راهکار چی هست ؟
ساده است شما باید یک متریال جدید بسازید و اونو پاس بدید به ابجت مورد نظرتون متریال باید از نوع lit باشه
با پاس دادن به آن شاهد رندر شدنش میشیم
UnityChan(Channel)
با پاس دادن به آن شاهد رندر شدنش میشیم
نکته اگرم terrain داشتید اونو باید متریال بسازید از نوع nature و lit بعد پاس بدید به اون تا رندر بشه
و در اخر شاهد رندر شدن خواهیم شد
UnityChan(Channel)
دو گزینه اول را انتخاب کنید و بروی initialize and converter آن ها را تبدیل کنید به urp
نکته بهتر هست خودتون فایل کانفینگ نسازید چون خودشون قبل ساخته فقط بیاید از این جا تبدیلتون انحام بدید
و از این قسمت میتونید با کلیک بر روی تنظیمات های گرافیک سطح کیفیت خودتون رو تنظیم کنید
UnityChan(Channel)
دو گزینه اول را انتخاب کنید و بروی initialize and converter آن ها را تبدیل کنید به urp
ویرایش تکمیل شده روش تبدیل شیدر به urp با روش دیگر : متریال انتخاب کنید و از راه گفته شده تبدیل کنید
دوستان آموزش بعدی ما سیستم Lod یونیتی بصورت کامل توصیح میدم که میدونم خیلی هاتون توی بهینه سازی مشکل دارید اینو کامل در موردش بحث خواهیم کرد تا اون موقع فعلا 👋
دوستان امیدوارم حالتون خوب باشه قبل از اینکه آموزش شروع کنیم شما باید با چند اصتلاحات یونیتی آشنا بشید
اول از همه بیاید ببینیم اصلا تعریف LOD Group چیست ؟

سیستم LOD (Level of Detail) در Unity به شما امکان می‌دهد با استفاده از مدل‌های سه‌بعدی با جزئیات متفاوت، مصرف منابع سیستم را بهینه کنید. سیستم LOD Group یک قابلیت در Unity است که به شما اجازه می‌دهد برای اشیا سه‌بعدی، سطوح مختلف از جزئیات را تعیین کنید.

با استفاده از LOD Group، می‌توانید برای یک شی سه‌بعدی چندین مدل سه‌بعدی با جزئیات متفاوت ایجاد کنید. هر مدل در سطح LOD مشخص، با جزئیات کمتر رندر می‌شود و این کار بهینه‌سازی را در نمایش اشیا با دستگاه‌های مختلف انجام می‌دهد. به عبارتی، LOD Group به شما امکان می‌دهد تا نسخه‌های با کیفیت پایین‌تر اشیا را در فاصله‌های دورتر از دوربین نمایش دهید و در نتیجه، مصرف منابع سیستم را کاهش دهید.

با افزودن LOD Group به شی سه‌بعدی در Unity، می‌توانید مدل‌های سه‌بعدی با کیفیت‌های متفاوت (به عنوان مثال، پلی گانونی) را برای فاصله‌های مختلف تعیین کنید. هنگامی که نزدیکتر به شی می‌شوید، مدل با جزئیات بیشتر نمایش داده می‌شود و در صورتی که فاصله دورتر باشد، مدل با کیفیت کمتر استفاده می‌شود.

استفاده از سیستم LOD Group بسیار مفید است زیرا به شما امکان می‌دهد تا با بهینه‌سازی‌های مناسب، مصرف منابع سیستم را بهبود بخشید و عملکرد بازی را بهبود ببخشید.
خیلی هاتون می پرسید tris یا همون مثلث چیه و چطور محاسبه میشه در یک مدل 3d ?

در مدل‌سازی سه‌ضلعی یا Tris، از مثلث‌ها برای ساخت سطوح سه‌بعدی استفاده می‌شود. هر مثلث در این حالت به عنوان یک وجه یا فیس در نظر گرفته می‌شود. محاسبه تعداد مثلث‌ها (فیس‌ها) در یک مدل سه‌بعدی توسط برنامه‌های مدل‌سازی انجام می‌شود.

برای محاسبه تعداد مثلث‌ها در یک مدل سه‌بعدی، چندین روش وجود دارد. یکی از روش‌ها، محاسبه تعداد مثلث‌ها از تعداد سِمِنت‌ها (Vertices) و لبه‌ها (Edges) است. برای یک شکل سه‌بعدی با n سِمِنت و e لبه، تعداد مثلث‌ها برابر با:

t = (2n - 4) - e

است. در این فرمول، فرض بر این است که هیچ سِمِنتی در یک شکل سه‌بعدی تکرار نشده و شکل درست و بسته است.

مثلاً، اگر یک مدل سه‌بعدی 8 سِمِنت و 12 لبه داشته باشد، تعداد مثلث‌ها برابر با:

t = (2*8 - 4) - 12
= 16 - 4 - 12
= 0

بنابراین، این مدل سه‌بعدی هیچ مثلثی ندارد و فقط شامل چند وجه (فیس) است.

محاسبه تعداد مثلث‌ها برای مدل‌های سه‌بعدی پیچیده‌تر می‌تواند سخت و زمان‌بر باشد. در برخی از برنامه‌های تخصصی مدل‌سازی، ابزارهایی برای محاسبه خودکار تعداد مثلث‌ها در یک مدل سه‌بعدی وجود دارد.

مدل‌سازی سه‌ضلعی یکی از روش‌های محبوب برای ساخت مدل‌های سه‌بعدی است و برای بسیاری از برنامه‌ها و بازی‌ها مناسب است. اما برای مدل‌های پیچیده و دقیق‌تر، ممکن است نیاز به روش‌های محاسباتی پیچیده‌تری داشته باشید.
سوال : چرا اینارو توصیح میدید ؟ جواب من قول دادم آموزشی بسازم که جامع باشه و جایی برای سوال برای شما نیاد ❤️
و توصیح بعدی که نیازه در موردش بدونیم Batches هست که چیه در یونیتی ؟

در موتور Unity، مفهوم "بچ" (Batch) به ارجاع به روند ترکیب یک گروه از اشیا یا المان‌های مشابه در یک مرحله پردازش گرافیکی می‌باشد. این کار بهبود عملکرد و کارایی بازی را در مواردی که باید بسیاری از المان‌ها را نمایش دهید، افزایش می‌دهد.

به طور معمول، هنگامی که Unity یک صحنه را رندر می‌کند، هر وجه از هر شیء به عنوان یک بچ شمرده می‌شود. این بدان معناست که Geometry و متریال مرتبط با این وجه‌ها با هم ترکیب می‌شوند و برای پردازش به موتور گرافیکی ارسال می‌شوند. با ترکیب چندین وجه در یک بچ، برنامه قادر خواهد بود تا فرآیند رندرینگ را بهبود بخشد و تعداد دستورالعمل‌های ارسالی به کارت گرافیک را به حداقل برساند.

استفاده صحیح از بچ‌ها در Unity می‌تواند اثر قابل توجهی در عملکرد بازی داشته باشد. بچ‌ها ممکن است به حذف تعدادی از دستورالعمل‌های ارسالی به کارت گرافیک کمک کند و در نتیجه منجر به افزایش سرعت رندرینگ شود. از این رو، استفاده از تکنیک‌هایی مانند مرتب‌سازی المان‌ها، اشتراک Geometry و استفاده از متریال‌ها به بهینه‌سازی بچ‌های گرافیکی کمک می‌کند.

Unity امکاناتی را در اختیار توسعه‌دهندگان قرار می‌دهد تا بچ‌ها را اداره کنند و نحوه کار آنها را بهینه‌سازی کنند. برای مثال، با استفاده از Batch Renderer اشیا با وجوه مشابه را در یک بچ ترکیب کرده و با استفاده از Static Batching، اشیا ثابت را می‌توانید در زمان اجرا با هم ترکیب کنید.

در کل، بهبود بچ‌های گرافیکی در Unity به پیشرفت عملکرد و بهینه‌سازی بازی کمک می‌کند. استفاده مناسب از این تکنیک‌ها، ویژگی‌های بصری را حفظ کرده و همچنین منابع سیستمی را به بهینه‌ترین شکل ممکن استفاده می‌کند.
حالا که توصیحات مورد نظر یاد گرفتنید میریم سر اصل آموزش 👇