آکادمی چابک | مرجع تخصصی جدیدترین دوره‌های آموزشی
جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • دوره های آموزشی
  • اخبار و مقالات
  • درباره ما
  • تماس با ما
ورود
[suncode_otp_login_form]
گذرواژه خود را فراموش کرده اید؟
عضویت
[suncode_otp_registration_form]

ارسال مجدد کد یکبار مصرف (00:90)
  • 02177010771
  • info@chabokacademy.com
  • اخبار و مقالات
  • علاقمندی ها
آکادمی چابک | مرجع تخصصی جدیدترین دوره‌های آموزشی
  • صفحه اصلی
  • دوره های آموزشی
  • اخبار و مقالات
  • درباره ما
  • تماس با ما
شروع کنید
0

وبلاگ

آکادمی چابک | مرجع تخصصی جدیدترین دوره‌های آموزشی > اخبار و مقالات > برنامه نویسی > چگونه می‌توانیم بازی‌های موبایل را با Unity برای بازار ایران بهینه کنیم؟

چگونه می‌توانیم بازی‌های موبایل را با Unity برای بازار ایران بهینه کنیم؟

فروردین 9, 1404
ارسال شده توسط ادمین آکادمی
برنامه نویسی
آموزش ساخت بازی با یونیتی به زبان فارسی

فهرست مطالب این نوشته

Toggle
  • چرا بهینه سازی بازی موبایل در Unity اهمیت دارد؟
  • آموزش مراحل اصلی بهینه‌سازی در Unity
    • استفاده از پروفایلینگ برای شناسایی مشکلات
    • بهینه‌سازی منابع بازی
  • راه حل کاهش زمان لودینگ بازی چیست؟
  • چگونه مصرف باتری و گرمای دستگاه را کاهش دهیم؟
  • آموزش بهینه‌سازی UI و سیستم کنترل بازی
    • بهینه‌سازی UI با TextMesh Pro و Sprite Atlas
    • بهینه‌سازی کنترل لمسی بازی
  • عملکرد بازی را روی دستگاه‌های ایرانی تست کنید!
  • چطور تست کنیم؟
تعداد بازدید: 73
لطفا به این مقاله امتیاز بدهید.

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

chabokacademy
دوره‌های آموزشی آکادمی چابک
با تخفیف‌های ویژه آکادمی چابک، یادگیری را شروع کنید!
مشاهده دوره‌ها

چرا بهینه سازی بازی موبایل در Unity اهمیت دارد؟

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

تا حد امکان باید از مشکلاتی مانند افت فریم، مصرف بیش از حد باتری، کرش‌های ناگهانی و زمان لودینگ طولانی دوری کنید. اما چگونه؟!

آموزش مراحل اصلی بهینه‌سازی در Unity

پس از طی کردن دوره‌های آموزش ساخت بازی موبایل با یونیتی و ساخت یک بازی احتمالا می‌خواهید بدانید که چگونه آن را بهینه‌ کنید تا مخاطبین‌تان را راضی نگه دارید. در این مسیر اول باید مشکل شناسایی شود و در راستای آن راهکارهایی به کار گرفت.

برای بهینه سازی بازی موبایل در Unity مراحل زیر را می‌توانید طی کنید.

بهینه سازی بازی موبایل در یونیتی Unity

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

پیش از بهینه‌سازی باید مشکلات عملکردی بازی را شناسایی کنیم. ابزاری در یونیتی وجود دارد به اسم: Unity Profiler که به وسیله آن می‌توانید مصرف CPU، GPU، حافظه و پردازش‌های مختلف را تحلیل کرده و نقاط ضعف را بیابید. برای این کار مراحل زیر را طی کنید:

  1. فعال‌سازی Development Build برای بررسی جزئیات پردازشی.
  2. اتصال Unity Profiler به گوشی واقعی از طریق USB برای مشاهده عملکرد واقعی.
  3. شناسایی پردازش‌های پرهزینه مانند فیزیک، انیمیشن، یا محاسبات گرافیکی.

بهینه‌سازی منابع بازی

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

الف. کاهش Garbage Collection و بهینه‌سازی حافظه

آموزش برنامه نویسی: چگونه می‌توانید به یک توسعه‌دهنده موفق تبدیل شوید؟
بخوانید

یکی از مشکلات رایج بازی‌های موبایل، Garbage Collection (GC) است که لگ و افت فریم ایجاد می‌کند. برای جلوگیری از این مشکل راه‌حل‌های زیر را امتحان کنید:

  • جلوگیری از ایجاد آبجکت‌های موقت در Update() (مانند تخصیص لیست‌ها در هر فریم).
  • فعال‌سازی Incremental Garbage Collection در Player Settings برای کاهش تأخیرهای ناگهانی.
  • استفاده از Object Pooling برای مدیریت آبجکت‌های موقت (به‌جای Instantiate و Destroy).

ب. کاهش حجم بافت‌ها و مدل‌های سه‌بعدی

راه دیگری که به وسیله آن می‌توانید بازی را بهینه‌سازی کنید، کاهش حجم بافت‌ها و مدل‌های سه‌بعدی است که با راهکارهای زیر می‌توانید این کار را انجام دهید:

  • استفاده از فرمت‌های فشرده مانند ASTC یا ETC2 برای کاهش حجم تکسچرها.
  • تعیین مقدار Max Size برای تکسچرها (ترجیحاً 1024 یا کمتر).
  • استفاده از Level of Detail (LOD) برای نمایش مدل‌های ساده‌تر در فواصل دور.

ج. کاهش هزینه‌های پردازشی در هر فریم

کاهش هزینه‌های پردازشی نیز جزو روش‌های بهینه‌سازی گیم است که یک سری تکنیک دارد:

  • Cache کردن متغیرهای پرکاربرد مثل gameObject.transform برای جلوگیری از پردازش‌های غیرضروری.
  • کاهش استفاده از Camera.main و استفاده از Camera caching.
  • غیرفعال کردن پردازش‌های غیرضروری در پس‌زمینه (مانند اسکریپت‌های غیرفعال).

راه حل کاهش زمان لودینگ بازی چیست؟

یکی از مشکلات آزار‌دهنده در بازی که گیمرهای ایرانی را بسیار اذیت می‌کند، زمان لودینگ طولانی است، به خصوص برای بازی‌هایی که از منابع زیادی استفاده می‌کنند.

پس از اتمام پروژه بازی سازی با یونیتی، باید UI را بهینه‌ کنید. برای این کار می‌توانید منابع ضروری در حین نمایش صفحه لودینگ را پیش‌لود کنید. یا از Asset Bundles یا Addressable Assets برای لود پویا و کاهش حجم اولیه بازی استفاده کنید. یک تکنیک دیگر این است که می‌توانید Assetهای بدون استفاده با ابزارهایی مانند Asset Hunter Pro را حذف کنید.

چگونه مصرف باتری و گرمای دستگاه را کاهش دهیم؟

یکی دیگر از مشکلات رایج در بازی‌های موبایل مصرف بیش از حد باتری و افزایش دمای دستگاه است. این مشکل زمانی تشدید می‌شود که بازی از پردازنده (CPU) و پردازنده گرافیکی (GPU) بدون محدودیت استفاده کند. برای جلوگیری از این مشکلات، توسعه‌دهندگان می‌توانند با کنترل نرخ فریم، استفاده از رندرینگ بهینه و کاهش افکت‌های سنگین، عملکرد بازی را بهینه‌سازی کنند.

راهکارهایی که می‌توانید از آن‌ها استفاده کنید:

  • محدود کردن نرخ فریم (FPS): در تنظیمات بازی، مقدار Application.targetFrameRate را روی ۳۰ یا ۶۰ فریم بر ثانیه قرار دهید.
  • استفاده از Universal Render Pipeline (URP): یونیتی به‌طور پیش‌فرض از رندرینگ قدیمی (Built-in) استفاده می‌کند که برای بازی‌های موبایل بهینه نیست. URP با کاهش بار پردازشی روی GPU، باعث افزایش عملکرد بازی و کاهش مصرف انرژی تا ۳۰٪ می‌شود.
  • غیرفعال کردن سایه‌ها و بازتاب‌ها: برای دستگاه‌های ضعیف استفاده از سایه‌های از پیش پردازش‌شده (Baked Shadows) و حذف Reflection Probes می‌تواند تأثیر زیادی بر عملکرد بازی داشته باشد.
بهترین کد ادیتور برای پایتون: انتخاب ابزار مناسب برای برنامه‌نویسی حرفه‌ای
بخوانید

آموزش بهینه‌سازی UI و سیستم کنترل بازی

رابط کاربری (UI) یکی از بخش‌هایی است که اگر بهینه‌سازی نشود، بار پردازشی را بالا می‌برد که منجر به افت فریم می‌شود. یکی از مشکلات رایج در بازی‌های موبایل، بازرندرینگ کل صفحه در هر فریم است که منابع زیادی را درگیر می‌کند. راه‌حل این مشکل، بهینه‌سازی عناصر UI، کاهش Draw Callها و استفاده از روش‌های کارآمد در نمایش متون و تصاویر است.

بهینه‌سازی UI با TextMesh Pro و Sprite Atlas

برای بهینه‌سازی UI راهکارهای زیر را در اختیار دارید:

  • جایگزینی Unity UI با TextMesh Pro برای کاهش مصرف CPU در پردازش متون.
  • تقسیم Canvas به چند بخش برای جلوگیری از بازرندرینگ بی‌دلیل کل صفحه در هر فریم.
  • استفاده از Sprite Atlas برای کاهش تعداد Draw Callها در UI.

بهینه سازی بازی موبایل در Unity

بهینه‌سازی کنترل لمسی بازی

همچنین برای بهینه‌سازی بخش کنترل لمسی بازی در فرآیند بهینه سازی بازی موبایل در Unity، می‌توانید دکمه‌های لمسی بزرگ‌تر برای کاربری بهتر در گوشی‌های کوچک‌تر طراحی کنید و تأخیر ورودی (Input Lag) را با بهینه‌سازی EventSystem یونیتی کاهش دهید.

اگر در کنار تمامی این موارد به دنبال دوره ساخت بازی با یونیتی با گوشی هستید، می‌توانید در یوتیوب و آپارات برای دوره‌های رایگان سرچ کنید و با ما در آکادمی چابک برای دوره‌های عمیق‌تر، به‌روز و عملی تماس بگیرید.

عملکرد بازی را روی دستگاه‌های ایرانی تست کنید!

مهم‌ترین نکته در بهینه‌سازی تست بازی روی دستگاه‌های واقعی است. بسیاری از گیمرهای ایرانی از گوشی‌های میان‌رده و اقتصادی مانند Samsung Galaxy A12، Xiaomi Redmi Note 8 و Huawei Y9 استفاده می‌کنند.

چطور تست کنیم؟

  • ساخت سیستم Auto-Benchmarking برای تست خودکار عملکرد در صحنه‌های مختلف.
  • استفاده از Advanced FPS Counter برای مشاهده نرخ فریم و مصرف حافظه.
  • اجرای بازی روی گوشی‌های قدیمی و بررسی عملکرد پس از ۱۰ دقیقه (برای شبیه‌سازی شرایط واقعی).

نتیجه‌گیری

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

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

آموزش لینوکس برای برنامه‌نویسان: بهره‌مندی از امکانات بی‌نظیر لینوکس در توسعه نرم‌افزار
بخوانید

منبع:

game-ace.com

قبلی معرفی بهترین کتابخانه‌های گرافیکی پایتون: راهنمای انتخاب کتابخانه گرافیکی مناسب در پایتون
بعدی تفاوت for...in و for...of در جاوااسکریپت: پیمایش داده‌ها در جاوااسکریپت

دیدگاهتان را بنویسید لغو پاسخ

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

ارتباط با ما

  • ۰۲۱۷۷۰۱۰۷۷۱
  • info@chabokacademy.com
  • حکیمیه، بلوار بابائیان، ۱۵ متری امام حسین، بن بست شفاعت، پلاک ۱۵، طبقه ۷

دسترسی سریع

  • خانه
  • دوره ها
  • اخبار و مقالات
  • تماس با ما
  • خانه
  • دوره ها
  • اخبار و مقالات
  • تماس با ما

نماد‌ها و خبرنامه

۱۴۰۲© کلیه حقوق سایت نزد آکادمی چابک محفوظ است.

  • Afghanistan (+93)
  • Albania (+355)
  • Algeria (+213)
  • American Samoa (+1)
  • Andorra (+376)
  • Angola (+244)
  • Anguilla (+1)
  • Antigua (+1)
  • Argentina (+54)
  • Armenia (+374)
  • Aruba (+297)
  • Australia (+61)
  • Austria (+43)
  • Azerbaijan (+994)
  • Bahrain (+973)
  • Bangladesh (+880)
  • Barbados (+1)
  • Belarus (+375)
  • Belgium (+32)
  • Belize (+501)
  • Benin (+229)
  • Bermuda (+1)
  • Bhutan (+975)
  • Bolivia (+591)
  • Bonaire, Sint Eustatius and Saba (+599)
  • Bosnia and Herzegovina (+387)
  • Botswana (+267)
  • Brazil (+55)
  • British Indian Ocean Territory (+246)
  • British Virgin Islands (+1)
  • Brunei (+673)
  • Bulgaria (+359)
  • Burkina Faso (+226)
  • Burundi (+257)
  • Cambodia (+855)
  • Cameroon (+237)
  • Canada (+1)
  • Cape Verde (+238)
  • Cayman Islands (+1)
  • Central African Republic (+236)
  • Chad (+235)
  • Chile (+56)
  • China (+86)
  • Colombia (+57)
  • Comoros (+269)
  • Cook Islands (+682)
  • Côte d'Ivoire (+225)
  • Costa Rica (+506)
  • Croatia (+385)
  • Cuba (+53)
  • Curaçao (+599)
  • Cyprus (+357)
  • Czech Republic (+420)
  • Democratic Republic of the Congo (+243)
  • Denmark (+45)
  • Djibouti (+253)
  • Dominica (+1)
  • Dominican Republic (+1)
  • Ecuador (+593)
  • Egypt (+20)
  • El Salvador (+503)
  • Equatorial Guinea (+240)
  • Eritrea (+291)
  • Estonia (+372)
  • Ethiopia (+251)
  • Falkland Islands (+500)
  • Faroe Islands (+298)
  • Federated States of Micronesia (+691)
  • Fiji (+679)
  • Finland (+358)
  • France (+33)
  • French Guiana (+594)
  • French Polynesia (+689)
  • Gabon (+241)
  • Georgia (+995)
  • Germany (+49)
  • Ghana (+233)
  • Gibraltar (+350)
  • Greece (+30)
  • Greenland (+299)
  • Grenada (+1)
  • Guadeloupe (+590)
  • Guam (+1)
  • Guatemala (+502)
  • Guernsey (+44)
  • Guinea (+224)
  • Guinea-Bissau (+245)
  • Guyana (+592)
  • Haiti (+509)
  • Honduras (+504)
  • Hong Kong (+852)
  • Hungary (+36)
  • Iceland (+354)
  • India (+91)
  • Indonesia (+62)
  • Iran (+98)
  • Iraq (+964)
  • Ireland (+353)
  • Isle Of Man (+44)
  • Israel (+972)
  • Italy (+39)
  • Jamaica (+1)
  • Japan (+81)
  • Jersey (+44)
  • Jordan (+962)
  • Kazakhstan (+7)
  • Kenya (+254)
  • Kiribati (+686)
  • Kuwait (+965)
  • Kyrgyzstan (+996)
  • Laos (+856)
  • Latvia (+371)
  • Lebanon (+961)
  • Lesotho (+266)
  • Liberia (+231)
  • Libya (+218)
  • Liechtenstein (+423)
  • Lithuania (+370)
  • Luxembourg (+352)
  • Macau (+853)
  • Macedonia (+389)
  • Madagascar (+261)
  • Malawi (+265)
  • Malaysia (+60)
  • Maldives (+960)
  • Mali (+223)
  • Malta (+356)
  • Marshall Islands (+692)
  • Martinique (+596)
  • Mauritania (+222)
  • Mauritius (+230)
  • Mayotte (+262)
  • Mexico (+52)
  • Moldova (+373)
  • Monaco (+377)
  • Mongolia (+976)
  • Montenegro (+382)
  • Montserrat (+1)
  • Morocco (+212)
  • Mozambique (+258)
  • Myanmar (+95)
  • Namibia (+264)
  • Nauru (+674)
  • Nepal (+977)
  • Netherlands (+31)
  • New Caledonia (+687)
  • New Zealand (+64)
  • Nicaragua (+505)
  • Niger (+227)
  • Nigeria (+234)
  • Niue (+683)
  • Norfolk Island (+672)
  • North Korea (+850)
  • Northern Mariana Islands (+1)
  • Norway (+47)
  • Oman (+968)
  • Pakistan (+92)
  • Palau (+680)
  • Palestine (+970)
  • Panama (+507)
  • Papua New Guinea (+675)
  • Paraguay (+595)
  • Peru (+51)
  • Philippines (+63)
  • Poland (+48)
  • Portugal (+351)
  • Puerto Rico (+1)
  • Qatar (+974)
  • Republic of the Congo (+242)
  • Romania (+40)
  • Reunion (+262)
  • Russia (+7)
  • Rwanda (+250)
  • Saint Helena (+290)
  • Saint Kitts and Nevis (+1)
  • Saint Pierre and Miquelon (+508)
  • Saint Vincent and the Grenadines (+1)
  • Samoa (+685)
  • San Marino (+378)
  • Sao Tome and Principe (+239)
  • Saudi Arabia (+966)
  • Senegal (+221)
  • Serbia (+381)
  • Seychelles (+248)
  • Sierra Leone (+232)
  • Singapore (+65)
  • Sint Maarten (+1)
  • Slovakia (+421)
  • Slovenia (+386)
  • Solomon Islands (+677)
  • Somalia (+252)
  • South Africa (+27)
  • South Korea (+82)
  • South Sudan (+211)
  • Spain (+34)
  • Sri Lanka (+94)
  • St. Lucia (+1)
  • Sudan (+249)
  • Suriname (+597)
  • Swaziland (+268)
  • Sweden (+46)
  • Switzerland (+41)
  • Syria (+963)
  • Taiwan (+886)
  • Tajikistan (+992)
  • Tanzania (+255)
  • Thailand (+66)
  • The Bahamas (+1)
  • The Gambia (+220)
  • Timor-Leste (+670)
  • Togo (+228)
  • Tokelau (+690)
  • Tonga (+676)
  • Trinidad and Tobago (+1)
  • Tunisia (+216)
  • Turkey (+90)
  • Turkmenistan (+993)
  • Turks and Caicos Islands (+1)
  • Tuvalu (+688)
  • U.S. Virgin Islands (+1)
  • Uganda (+256)
  • Ukraine (+380)
  • United Arab Emirates (+971)
  • United Kingdom (+44)
  • United States (+1)
  • Uruguay (+598)
  • Uzbekistan (+998)
  • Vanuatu (+678)
  • Venezuela (+58)
  • Vietnam (+84)
  • Wallis and Futuna (+681)
  • Western Sahara (+212)
  • Yemen (+967)
  • Zambia (+260)
  • Zimbabwe (+263)
ورود
با شماره موبایل
آیا هنوز عضو نشده اید؟ اکنون ثبت نام کنید
ثبت نام
قبلا عضو شده اید؟ اکنون وارد شوید
محافظت شده توسط