پیشگامان لوتوس
پیشگامان لوتوس
خواندن ۱۱ دقیقه·۲ سال پیش

موتور بازی‌سازی Unity

بدون اغراق Unity یک موتور بازی‌سازی تمام‌عیار است و به جرأت می‌توان گفته که در زمینه فعالیت خود یکی از بهترین‌هاست.
اگر قصد ورود به زمینه بازی‌سازی را دارید پس بهتر است یادگیری این نرم‌افزار در اولویت کارهای خود قرار دهید.
این نرم‌افزار برای اولین بار در سال 2005 در کنفرانس توسعه‌دهندگان جهانی اپل معرفی شد.
در آن زمان Unity تنها با OS X کار می‌کرد (سیستم‌عامل MacBook) ولی در حال حاضر در حال گسترش بوده و هدف آن رسیدن به 27 پلتفرم است. 
Unity با اینکه طیف کاری بسیار گسترده‌ای دارد ولی همچنان بیشترین استفاده آن در زمینه بازی‌های ویدیوئی است، به طوریکه در اوایل رونمایی فقط برای شبیه‌سازی و توسعه بازی‌های ویدیوئی مورد استفاده قرار می‌گرفت اما در حال حاضر زمینه فعالیت بسیار گسترده‌‌تری را داراست و در بخش‌هایی مانند توسعه سیستم‌عامل‌های تلفن‌همراه نیز استفاده بسیاری دارد.
این برنامه دارای دو شاخصه اصلی می‌باشد:

  1. از 2D و 3D پشتیبانی می‌کند، زبان مورد نیاز آن C# و عملکردش به صورت drag-and-drop است.
  2. یک Cross-Platform است. (به پلتفرم‌هایی گفته می‌شود که برای سیستم‌عامل‌های مختلف امکان خروجی گرفتن دارد)
    برخی از بازی‌ها و نرم‌افزارهایی که از طریق Unity توسعه یافته‌اند عبارتند از:

Ori and the Blind Forest / Will of the Wisps
INSIDE
Monument Valley 1 & 2
Temple Run
Deus Ex: The Fall
Escape Plan
Angry Birds
Superhot
Super Mario Run
Bone Works
My Friend Pedro

محیط یکپارچه توسعه یا Unity IDE
نرم‌افزار Unity علاوه بر اینکه یک موتور بازی‌سازی قوی به شمار می‌رود، به عنوان یک محیط توسعه یکپارچه (IDE) نیز به‌حساب می‌آید. این به آن معناست که این برنامه تمام امکانات لازم برای کاربران خود را به صورت یکجا و بدون نیاز به هیچ برنامه دیگری فراهم کرده‌است. 
قابلیت دیگری که Unity در اختیار کاربران می‌گذارد قسمت ویرایشگر بصری است که امکان استفاده کاربران از قابلیت drag and drop برای ایجاد تغییرات در المان‌های مختلف و طراحی آن‌ها به شکل دلخواه را در اختیار کاربران می‌گذارد.
علاوه بر این، Unity مجموعه‌ای از امکانات و قابلیت‌های سودمند و کاربردی دیگر را نیز در اختیار کاربران خود قرار می‌دهد که شامل طراحی تصاویر متحرک با کمک ابزارهای timeline و تلفیق پروژه‌های مختلف با یکدیگر برای رسیدن به پروژه نهایی می‌شود. همچنین به کاربران اجازه استفاده از ویرایشگر جایگزین را برای رفع نیازهای کدنویسی می‌دهد.

برای مطالعه بیشتر به وبلاگ ما سر بزنید :)

زبان برنامه‌نویسی مورد استفاده در Unity
زبان مورد استفاده در این برنامه C# به همراه تلفیقی از مجموعه‌ی زبان‌های برنامه‌نویسی مرتبط دیگر در کلاس‌ها و APIهای مختلف است.
بهترین بخش کار بار Unity این است که این برنامه اجازه می‌دهد کارهای زیادی را در برنامه انجام دهید بدون آنکه نیاز داشته باشید از کدهای دستوری زیادی بهره ببرید. با این حال در مقایسه با یک کاربر عادی اگر شما تسلط کامل بر کدنویسی داشته باشید به آسانی قادر به انجام کارهای متفاوت بسیاری در این برنامه هستید، زیرا این برنامه انعطاف‌پذیری بسیار زیادی در مقابل تغییرات و کدنویسی دارد.
C# به عنوان یک زبان برنامه‌نویسی، ماهیتی بسیار کاربرپسند و ساده دارد، به همین خاطر تقریباً می‌توان گفت این برنامه به اولین انتخاب کاربران به ویژه افراد مبتدی برای شروع کار در زمینه شبیه‌سازی و ساخت بازی‌های ویدیوئی شده‌است.
این پلتفرم رایگان است و برای استفاده از آن نیازی به خرید برنامه و یا پرداخت حق اشتراک نیست، بنابراین برای شروع کار و یا ساخت نمونه‌های اولیه یک انتخاب ایده‌آل به شمار می‌رود. این ویژگی به شما کمک می‌کند تا قبل از پرداخت هزینه برای خرید برنامه‌ها و لایسنس‌های حرفه‌ای‌تر، با کمک این برنامه تبدیل به یک متخصص در این زمینه شوید.

قسمت‌های مختلف Unity
نمای صحنه:
این بخش قسمتی است که در آن بخش‌های سه بعدی مختلف یک پروژه مانند بازی‌های ویدیوئی و... طراحی و پیاده‌سازی می‌شوند. تمامی المان‌هایی که قصد ساخت آن را دارید و یا می‌سازید در این قسمت قرار می‌گیرند. در این قسمت آزادی عمل بسیاری برای ایجاد تغییرات بر روی المان‌های مورد نیاز خود دارید و می‌توانید آن‌ها را به هر طریقی که می‌خواهید تغییر دهید.

نمای بازی‌های ویدیوئی: در این قسمت شما می‌توانید نتایج کار خود را ببینید. در اصل شما می‌توانید کار خود را در این قسمت محک بزنید و تفاوت آن را با ایده اصلی خود مشاهده کرده و تغییرات لازم را بررسی کنید. برای این‌ که بتوانید جزئیات کار را بهتر بررسی کنید، حالت دید این قسمت از نمای دوربین تنظیم شده‌ (انگار از دیدگاه یک دوربین به نتایج نگاه می‌کنید) از این رو به این بخش نمای دوربین نیز گفته می‌شود.

دسته‌بندی و تنظیمات: تمامی نمونه‌های ساخته‌شده و همچنین کارهای انجام‌شده در این قسمت قابل مشاهده هستند. به طور کلی تمامی اتفاقاتی که در قسمت "نمای بازی‌های ویدیوئی" قابل مشاهده هستند در این قسمت ثبت می‌شوند و شامل هر دو قسمت قابل مشاهده و غیرقابل مشاهده (کدنویسی‌ها) می‌شود.

پروژه: این قسمت با نام کامل "Project Window’s Function" تمامی محتوای موجود در یک پروژه را نمایش می‌دهد و قابل دسترس هستند، اعم از: المان‌های مختلف، اسکریپت‌ها، پوشه‌ها، بافت‌ها، صداها، مدل‌ها، ویدیوها و اجزاء بازی‌های ویدیوئی.

پنل بازرسی: با کمک این پنل قادر به مشاهده تمامی ویژگی‌ها و جزئیات یک المان انتخاب شده هستید. جزئیات نمایش‌داده‌شده بستگی به المان انتخاب شده دارد.

فروشگاه دارایی‌ها: در این قسمت شما می‌توانید نمونه کارهای دیگران را که در این قسمت به اشتراک گذاشته‌اند را مشاهده کرده و از آن‌ها ایده بگیرید و استفاده کنید.

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

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

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

گستردگی مخاطبین: Unity کاربران بسیاری در سرتاسر دنیا دارد و همین امر آن را به یک نام شناخته شده تبدیل کرده‌است. به همین خاطر اگر برنامه خود را با این برنامه بسازید و توسعه دهید می‌تواند مزیتی برای جذب سرمایه‌گذاران و پیشرفت آن باشد و از آن بهتر این است که تمامی افرادی که در صنعت بازی‌های ویدیوئی مشغول هستند با توانایی‌ها و قدرت این پلتفرم آشنایی کامل دارند.

سرعت بالا و راحتی: استفاده از این برنامه بسیار ساده بوده و هدف اصلی آن ساده‌سازی توسعه بازی‌های ویدیوئی است. به همین علت Unity برای آموزش در سطوح مختلف نیز مورد استفاده قرار می‌گیرد. همچنین بسیار سریع و روان است و به شما کمک می‌کند که به ساده‌ترین روش و در سریع‌ترین زمان ممکن ایده بازی‌سازی خود را به واقعیت تبدیل کنید.
به علت دارا بودن قابلیت drag and drop و سرعت و راحتی کار، این برنامه یکی از انتخاب‌های مناسب برای نمونه‌سازی نیز به‌‌حساب می‌آید و می‌توان با یک کدنویسی ساده و در برخی مواقع حتی بدون نیاز به کدنویسی، پروژه‌ها را ساخت.

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

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

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

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

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

امکان تحلیل: Unity یک قابلیت بی‌نظیر دیگر نیز در بخش 3D دارد به نام built-in-analytics. این بخش که در قسمت Editor قرار دارد تجربیات و علایق بازیکنان بازی‌های ویدیوئی را در اختیار شما می‌گذارد و به شما کمک می‌کند تا بتوانید یک بازی ‌ویدیویی بسازید که بهترین بازخورد و عملکرد را داشته‌باشد.

برای مطالعه بیشتر به وبلاگ ما سر بزنید :)

معایب:
از صفر شروع کردن:
 در Unity شما مجاز به استفاده از یک ساختار آماده نیستید و نمی‌توانید با استفاده از یک قالب آماده و ایجاد تغییرات جزیی در آن بازی ویدیویی خود را شخصی‌سازی کرده و بسازید. شما باید با استفاده از امکانات "فروشگاه دارایی‌ها" بازی خود را از صفر بسازید.

خرید مجوز: اگر تازه به این عرصه ورود کرده‌اید ممکن است خرید مجوز در ابتدای کار برای شما مشکل‌ساز باشد و برای استفاده از نسخه رایگان، نیازی هم به این کار نیست ولی در صورت معروف شدن بازی ویدیوئی شما در بازار جهانی باید مجوز لازم را خریداری کنید.

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

مقایسه Unity با دیگر موتورهای بازی‌سازی:
برای ساخت یک بازی ویدیوئی گزینه‌های دیگری نیز پیش رویتان است مانند Unreal و Cryengine. می‌توان گفت انتخاب یک موتور بازی‌سازی تماماً به ابعاد و زمینه پروژه مد نظر شما بستگی دارد. برای مثال اگر قصد کار کردن در بستر گوشی‌های هوشمند را دارید بهتر است از Unity استفاده کنید. یکی از این دلایل داشتن قابلیت توسعه دادن یک پروژه به بهترین نحو در هر دو محیط 2D و 3D است. قابلیت دیگر همانطور که پیش‌تر نیز به آن اشاره شد، داشتن افکت‌های گرافیکی زیبا و کاربردی و امکان تغییر ابعاد آن‌ها و مناسب‌سازی برای ابعاد گوشی‌های هوشمند است. همچنین به علت اینکه Unity یک Cross-platform است به راحتی از طریق آن می‌توان برای تمامی پلتفرم‌‌ها خروجی لازم را گرفت و به علت داشتن قابلیت توسعه بازی‌ها در بستر واقعیت مجازی و کاربرپسند بودن آن نسبت به مابقی موتورهای بازی‌سازی، محبوبیت بسیاری در بین کاربران و توسعه دهندگان بازی‌ها و اپلیکیشن‌های موبایل پیدا کرده است. این امکانات کسب بازار حداکثری در برنامه‌ها و بازی‌های Google Store توسط Unity را به خوبی توجیه می‌کنند. در مقابل موتورهای بازی‌سازی Unreal و Cryengine امکان پردازش جزئیات بیشتر در ابعاد بزرگ‌تر را دارند و برای ساخت پروژه‌های بزرگتر و بازی‌های ویدیوئی پیچیده‌تر مناسب‌تر هستند.

چگونه می‌توانیم Unity را دانلود کنیم:
دانلود کردن این برنامه بسیار ساده است. برای اینکار کافیست به سایت Unity مراجعه کنید و برنامه را به راحتی دانلود کنید. همچنین با دانلود کردن Unity Hub می‌توانید آخرین نسخه برنامه را دانلود و در آینده به راحتی آپدیت کنید. 
استفاده از Unity Hub مزیت‌های دیگری نیز دارد. یکی از آن‌ها این است که وقتی از این برنامه برای دانلود امکانات و ابزار Unity استفاده می‌کنید به راحتی و بدون هیچ مشکلی نصب و به برنامه اصلی اضافه می‌شوند.
اگر در بستر اندروید مایل به فعالیت هستید بهتر است قسمت پشتیبانی اندروید و NDK، SDK و OpenJDK را مطالعه کنید. پس از مطالعه آن‌ها شما تمامی اطلاعات مورد نیاز برای توسعه نرم‌افزار خود را کسب خواهیدکرد.

کیت‌های Android NDK, SDK, JDK
عبارت Android NDK مخفف  Android Native Development Kit به معنای کیت توسعه بومی است و کمک می‌کند برنامه‌هایی که با C و C++ نوشته شده‌اند  هم در اندروید قابل اجرا باشند زیرا زبان اصلی مورد استفاده در اندروید Java است، SDK مخفف عبارت Software Development Kit به معنای کیت توسعه نرم‌افزار است که مجموعه‌ای از امکانات و ابزارات لازم برای توسعه یک اپلیکیشن مورد نیاز هستند و JDK مخفف عبارتJava Development Kit به معنای کیت توسعه جاوا است و حاوی کامپایلرها، ابزارهای اشکال‌زدایی و توسعه برنامه‌های تحت پلتفرم جاوا است.

استفاده از Unity  در صنایع دیگر
صنعت فیلم‌سازی:
در سال 2010، Unity در صنایع دیگر از جمله فیلم‌سازی و خودروسازی بکارگیری شد. اولین تجربه بکارگیری Unity در فیلم‌سازی مربوط به یک فیلم کوتاه با موضوع فرار یک ربات از زندان بود. بعدها از امکانات این برنامه، از جمله تجزیه و تحلیل آنی و سینما-ماشین، در استودیوی Oats توسط فردی به نام Neill Blomkamp برای ساخت دو فیلم کوتاه کامپیوتری با نام‌هایAdam: The Mirror و Adam: The Prophet مورد استفاده قرار گرفت.
سال 2017 در کنفرانس اتحادیه اروپا در آمستردام اعلام شد که تمرکز Unity 2017 بر روی فیلمسازی خواهد بود. در سال 2018 شبکه تلویزیونی دیزنی سه فیلم کوتاه با عنوان Baymax Dreams منتشر کرد که با Unity ساخته شده بودند. در سال 2019 دیزنی بار دیگر از Unity برای ساخت پس‌زمینه‌های انیمیشن "شیر شاه" استفاده کرد.

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

از دیگر زمینه‌های بکارگیری Unity می‌توان به آموزش دادن هوش مصنوعی اشاره کرد که شرکت‌هایی مانند DeepMind و Alphabet Inc. در این زمینه فعال هستند.

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

پیشگامان لوتوس

یونیتیبازیunityunrealgame
شاید از این پست‌ها خوشتان بیاید