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

گروه یونیتی https://t.me/UnityChan
Download Telegram
دوستان امیدوارم حالتون خوب باشه قبل از اینکه آموزش شروع کنیم شما باید با چند اصتلاحات یونیتی آشنا بشید
اول از همه بیاید ببینیم اصلا تعریف 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 به پیشرفت عملکرد و بهینه‌سازی بازی کمک می‌کند. استفاده مناسب از این تکنیک‌ها، ویژگی‌های بصری را حفظ کرده و همچنین منابع سیستمی را به بهینه‌ترین شکل ممکن استفاده می‌کند.
حالا که توصیحات مورد نظر یاد گرفتنید میریم سر اصل آموزش 👇
اول از همه مدلتون بیاید داخل صحنه و باید قبلا براش سه عدد مش با تریز های طبقه ای ساخته باشید

میتوانید در سه سطح

high poly

mid poly

low poly

بسازید

مثلا high تریزش باشه 7 هزار

و mid باشه 5 هزار

و low باشه 3 هزار
UnityChan(Channel)
اول از همه مدلتون بیاید داخل صحنه و باید قبلا براش سه عدد مش با تریز های طبقه ای ساخته باشید میتوانید در سه سطح high poly mid poly low poly بسازید مثلا high تریزش باشه 7 هزار و mid باشه 5 هزار و low باشه 3 هزار
سوال poly یا چند ضلعی چیست ؟

در مدل‌سازی سه‌بعدی، مفهوم "پلی" (Poly) به تعداد لبه‌ها یا چهارچوب‌های هندسی در یک شی سه‌بعدی اشاره دارد. "پلی" مخفف کلمه Polygon است که به معنای چندضلعی است. هر فیس یا وجه در یک مدل قابل نمایش به عنوان یک پلی محسوب می‌شود.

در یک مدل ۳D، هر پلی با یک مجموعه مرتب از نقاط سه‌بعدی تعیین می‌شود و لبه‌هایی که این نقاط را به هم وصل می‌کنند، شکل آن را تشکیل می‌دهند. به طور معمول در مدل‌سازی سه‌بعدی با استفاده از مثلث‌ها (تری‌پل) و چهارضلعی‌ها (کواد) کار می‌شود و هر پلی می‌تواند حاوی ۳ یا ۴ نقطه باشد. اما در برنامه‌های پیچیده‌تر، از پلی‌ها با تعداد نقاط بیشتر نیز استفاده می‌شود.

تعداد پلی‌ها در یک مدل ۳D تأثیر بسیار زیادی بر عملکرد و قدرت محاسباتی سیستم دارد. با افزایش تعداد پلی‌ها، پردازش‌ها و ذخیره‌سازی اطلاعات بیشتری در طراحی مدل لازم است که عملکرد سیستم را کاهش دهد. از طرف دیگر، کاهش تعداد پلی‌ها می‌تواند صحنه‌ها را ساده‌تر و سبک‌تر کند اما جزئیات کمتری در نمایش ظاهری مدل ایجاد می‌کند.

در هنگام مدل‌سازی، توازن مناسبی بین جزئیات شی و تعداد پلی‌ها بهینه است. درصورت نیاز به مدل بسیار جزئیات و دقیق، تعداد پلی‌ها افزایش می‌یابد و درصورت نیاز به سادگی و سبکی، تعداد پلی‌ها کاهش می‌یابد.
همه چی رو آماده کردید ؟ اگر اینطوره که عالی حالا برید با کلیک بروی ابجت خود به پنجره اینسپکتور برید با با کلیک بروی addcomponent کلمه lod group سرچ کنید و اضافه کنید
UnityChan(Channel)
همه چی رو آماده کردید ؟ اگر اینطوره که عالی حالا برید با کلیک بروی ابجت خود به پنجره اینسپکتور برید با با کلیک بروی addcomponent کلمه lod group سرچ کنید و اضافه کنید
با اد کامپوننت با یکسری از گزینه های رو به رو میشید که با نام های

lod 0

lod 1

lod 2

culled

هست

lod 0 اولین لود در فاصله دوربین تا اشیاع

lod 1 دومین فاصله تایین شده بعد از lod0

lod 2 هم همینطور

culled اگرم اخرین lod بگزره میره روی این و هیچ چیزی رو رندر نمی کنه
تا اینجا امیداورم فهمیده باشید سطح آموزشمون هم مهد کودکی هست 😂🙏
UnityChan(Channel)
نکته می توانیم با کلیک راست بروی یکی از lod ها با گزینه اول لود جدید بسازیم و با گزینه اخر لود را حذف کنید
سوال مگه سه تا lod 0 و lod 1 و lod2 باید نداشته باشیم مگر میشه کمتر و زیادش کرد ؟ جواب اره بستگی به شما داره چندا لود بسازید ولی استاندارش سه تا لود هست
مرحله دوم با درگ و دراپ مش ها از زیاد به کم به ترتیب از Lod0 تا lod2 آن ها را تنظیم کنید
یا با زدن دایره مش را انتخاب کنید
با کشیدن دوربین ابی رنگ شاید تغییر تریز های خود خواهید بود اگر ببرید قرمز دیگه رندر نمیشه