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

گروه یونیتی https://t.me/UnityChan
Download Telegram
براش زحمت و وقت گذاشتم شما باید در مقابلش حمایت کنید تا بتوانید ادامه بدیدم
دوستان آموزش بعدی در مورد oc یا همونocclusion culling حرف میزنیم
سوال یکی از دوستان سلام و درود
بیزحمت اینرو هم توضیح بدع که دوربین موقع رندر توی گوشی چندتا batch و یا چندتا vertices رو میتونه هندل کنه ؟

قدرت موتور Unity در هندل کردن تعداد بچ‌ها و سِمِنت‌ها (vertices) در هر فریم رندرینگ بستگی به مشخصات سخت افزاری گوشی و تنظیمات پروژه دارد. در واقع، هر دستگاهی ممکن است به عنوان یک پلتفرم با امکانات متفاوت در نظر گرفته شود.

بنابراین، مشخص کردن دقیق تعداد بچ‌ها و سِمِنت‌هایی که Unity روی گوشی قادر است هندل کند، می تواند کاملاً وابسته به گوشی مورد نظر و تنظیمات برنامه باشد. اما در کل، می توانیم برخی از عوامل زیر را مدنظر قرار دهیم:

1. مشخصات سخت‌افزاری: میزان قدرت پردازشی و گرافیکی گوشی به طور مستقیم تأثیر می‌گذارد. گوشی‌های با پردازنده قوی‌تر و کارت گرافیک قدرتمند‌تر معمولاً قادر به هندل کردن تعداد بیشتری بچ‌ها و سِمِنت‌ها در یک فریم هستند.

2. تنظیمات پروژه: در انتخاب تنظیمات گرافیکی پروژه خود می‌توانید نوع تکنیک‌های بهینه‌سازی مثل بچ و Lod را انتخاب کنید. به طور کلی، استفاده از تکنیک‌های بهینه‌سازی که تعداد بچ‌ها و سِمِنت‌ها را کاهش می‌دهد، به کارایی و عملکرد بهتر در گوشی شما کمک می‌کند.

3. نوع بازی یا برنامه: نیازها و الزامات گرافیکی بازی یا برنامه خاص شما می‌تواند تعداد بچ‌ها و سِمِنت‌های لازم را تحت تأثیر قرار دهند. برنامه‌ها با محتوای گرافیکی پیچیده‌تر به طور کلی نیاز به تعداد بیشتری بچ و سِمِنت‌ها دارند.

در هر صورت، بهترین راه برای مشخص کردن ظرفیت گوشی شما برای هندل کردن تعداد بچ‌ها و سِمِنت‌ها، تست مستقیم در گوشی خود است. با اجرای برنامه یا بازی در گوشی و بررسی کارایی و عملکرد آن، می توانید بهترین تنظیمات و بهینه‌سازی را برای نتیجه بهتر و همچنین سانسور شده روی گوشی خود پیدا کنید.
سوال بسیاری از شما ها یک cpu گوشی چند تریز را میتواند هندل کند ؟ توانایی یک CPU در هندل کردن بار پردازشی بستگی به مدل، نوع و ساختار آن دارد. میزان تریز (tris) یا تعداد مثلث‌ها (فیس‌ها) که یک CPU میتواند در هر لحظه بررسی و پردازش کند به عوامل متعددی وابسته است که عبارتند از:

1. تعداد هسته‌ها (Cores): یک CPU میتواند دارای یک هسته (single-core) یا چند هسته (multi-core) باشد. هر هسته قادر به انجام محاسبات مستقل است. لذا با افزایش تعداد هسته‌ها، توانایی پردازش و هندل کردن بار بیشتر میشود.

2. معماری: نوع و معماری CPU نیز نقش مهمی در کارایی و توانایی پردازشی آن دارد. معماری و نوع پردازنده ممکن است تفاوت‌های قابل توجهی در عملکرد داشته باشند.

3. سرعت ساعت (Clock Speed): سرعت ساعت یا تراکم تکنولوژی در CPU (نانومتر) تعیین کننده سرعت عملکرد آن است. بر عملکرد پردازشی و توانایی هندل کردن بار CPU تراکم تکنولوژی و سرعت ساعت موثر است.

4. فناوری Hyper-Threading: برخی پردازنده‌ها از فناوری Hyper-Threading پشتیبانی می‌کنند که این امکان را به CPU می‌دهد تا برخی وظایف را به صورت همزمان اجرا کند و به طور موازی بیشتری پردازش بکند.

5. بهینه‌سازی نرم‌افزاری: بهینه‌سازی نرم‌افزار روی سیستم عامل و نرم‌افزارها می‌تواند تأثیر قابل توجهی در کارایی و توانایی پردازشی یک CPU پردازنده داشته باشد.

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

در نهایت، مهمترین نکته این است که هر پروژه و استفاده خاص، نیازمندی‌های پردازشی خاصی دارد و بهتر است استناد به مشخصات تکنیکی و توصیه‌های توسعه‌دهندگان برای تأیید و تنظیمات صحیح پروژه انجام شود.
نتیجه ؟ تریز ثابتی تایین نشده چون قدرت های گوشی فرق داره مثلا یکی گفت 200 هزار تریز باشه مطمعن باشید اشتباه میگه تریز باید با آزمایش کردن و محدود کردن دستگاه خودتان پیدا کنید ❤️🙏
و نکته اخر اگر توی کامپیوتر یا گوشی خاصی 120 اف پی اس دادن فکر نکنید توی بقیه گوشی ها هم جریان همینطوری هست ما شما میتوانید با نوشتن تنظمیات سطح انتخاب گرافیک کار خودتون را راحت کنید 👌
سوال یک از دوستان هندل کردن چیست ؟

در مرجع قبلی، اشاره به مفهوم "هندل کردن" در مورد CPU گرفته شد. در اینجا، بیشتر توضیح می‌دهم.

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

توانایی هندل کردن بار پردازشی یک CPU توسط عوامل زیر تعیین می‌شود:

1. تعداد هسته‌ها (Cores): تعداد هسته‌های فیزیکی در CPU هندل کردن بار پردازشی را تعیین می‌کند. بیشترین توانایی هندل کردن بار در یک CPU بر اساس تعداد هسته‌ها بیشتر می‌شود. با افزایش تعداد هسته‌ها، CPU قادر به انجام بیشترین تعداد عملیات موازی و همزمان می‌شود.

2. فرکانس ساعت (Clock Speed): سرعت ساعت یا فرکانس مشخص می‌کند به چه سرعتی CPU می‌تواند دستورات را اجرا کند. بیشترین تعداد دستوراتی که یک CPU می‌تواند در ثانیه پردازش کند، به تناسب با فرکانس ساعت آن است. CPU با فرکانس ساعت بالا توانایی بیشتری در هندل کردن بار پردازشی دارد.

3. معماری و بهینه‌سازی‌های نرم‌افزاری: معماری پردازنده و بهینه‌سازی‌های نرم‌افزاری نیز در توانایی هندل کردن بار پردازشی تأثیر دارد. معماری پردازنده های پیشرفته با قابلیت‌های مثل فناوری های Hyper-Threading و تکنیک های بهینه‌سازی مثل پیش‌بینی فرمان‌ها و کش‌های ریز و غیره، توانایی پردازشی را بهبود می‌بخشد.

4. نوع و برند پردازنده: پردازنده‌های مختلف از توانایی‌ها و مشخصات متفاوتی برخوردار هستند. برند معروفی مانند Intel, AMD, Qualcomm و ARM هر یک پردازنده‌های با ویژگی‌ها و توانایی‌های مختلف تولید می‌کنند.

روشن است که هندل کردن در CPU به توانایی آن در پردازش و کار با بارهای پردازشی مختلف اشاره دارد. برای معرفی دقیق توانایی هندل کردن بار در یک CPU خاص، به مشخصات فنی و داده‌های تکمیلی آن نیاز است. این اطلاعات را می‌توانید از سایت و منابع معتبر تولید کننده پردازنده یا سازنده گوشی دریافت کنید.
دیگه بحث در این مورد تمام شد امیداورم لذت برده باشید
آموزش های ویژه یونیتی : آموزش Occlusion Culling در یونیتی یکی از تکنیک های بهینه سازی است که توسط استاد آموزش داده کی شود در سطح آغاز گر در تاپیک مربوطه دنبال کنید
خب میریم سراغ آموزش هدف این آموزش چیست ؟ ساده هست وقتی که خونه ای ساختیم توش گیم ابجمت بود نخواستیم بیرون از خانه رندر بشه اون وقته که این آموزش به کارتون میاد یا کلا این آموزش ضروری هست و باید یاد بگیرید
طبق روال قبلی و با سطح مهد کودکی😂 دوستان میخوان بدوند تعریف occlusion culling در یونیتی چیست ؟
Occlusion culling (کاهش حجم رندرینگ بر اساس اسکرین) در Unity، یک تکنیک بهینه‌سازی است که در آن قسمت‌های صحنه که به نظر می‌رسد توسط چیزی مخفی می‌شوند و در عمل به چشم انسان نمی‌آیند (معمولاً به دلیل مانع‌ها مانند دیوارها یا ساختمان‌ها)، حذف می‌شوند. این تکنیک در صورت استفاده صحیح، می‌تواند بار پردازشی رندرینگ را به طور قابل توجهی کاهش دهد و عملکرد بازی را بهبود بخشد.

وقتی بازی یا برنامه‌ی شما صحنه‌های بزرگی دارد که بار سنگینی بر روی GPU و CPU تحمیل می‌کند، occlusion culling به شما امکان می‌دهد که از نمایش اشیا و اجزایی که توسط ساختمان‌ها یا عوامل دیگر به نظر می‌رسند مخفی باشند، صرف نظر کنید.

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

مزایای occlusion culling عبارتند از:

1. کاهش بار پردازشی: با حذف نمایش اجزای مخفی، تعداد بچ‌ها و سِمِنت‌ها در فریم‌های رندر شده کاهش می‌یابد که بهبود قابل توجه در عملکرد عمومی بازی یا برنامه شما را به همراه دارد.

2. کاهش استفاده از حافظه: با نامرئی کردن اجزای مخفی، حافظه GPU به طور مؤثر‌تر مدیریت می‌شود و استفاده بهینه‌تری از حافظه دستگاه را فراهم می‌کند.

برای استفاده از occlusion culling در Unity، شما باید صحنه‌های خود را تنظیم کنید و گزینه‌های مربوطه در تنظیمات پروژه را فعال کنید. این شامل انجام مراحل مثل ایجاد occlusion areas، انتخاب culling type و اعمال culling masks برای اشیا می شود. همچنین، می توانید از کامپوننت‌ها و اسکریپت‌های occlusion culling که توسط Unity ارائه می‌شوند، استفاده کنید.

به طور کلی، استفاده از occlusion culling می‌تواند در بهبود کارایی و عملکرد بازی‌ها و برنامه‌های 3D کمک کند، به خصوص در مواقعی که صحنه‌های پیچیده و بزرگی دارید. اما برای استفاده بهینه از این تکنیک، باید با تنظیمات و محدودیت‌های مربوطه آشنا باشید و آنها را بر اساس نیازهای خاص پروژه خود پیکربندی کنید.
بنده یک محیط بسیار ساده آماده کردم که این آموزش رو ادامه بدم اگر شما محیط دارید نیازی نیست که پیاده کنید
بنده این را بگم که اگر پنجره مربوطه ندارید با رفتن این مراحل پنجره را به ادیتور وصل کنید
گیم ابجکت هایی که متحرک نیستد تیک استاتیک میزنیم
نکته دوم : گیم ابجکت هایی که متحرک هستند رو با زن رفتن به متریال هاش و زدن گزینه Enable Gpu ان ها را بهینه می کنیم
نکته سوم : تیک static batching فعال باشد با رفتن به تنظیمات مربوطه از project setting
قدم دوم : محیط را بیک کنید با رفتن به پنجره occlusion culling و زدن bake محیط را بیک می کنیم با همون پخت 🗿😂
بعد از بیک با همچین صحنه هایی رو به رو میشم که هر مربع یک صحنه لود محصوب میشه که وقتی که دوربین در آن مربع ابی رنگ باشه فقط اون مربع لود میشه