موتور بازی سازی یونیتی
29 می 2021 2021-05-24 12:14موتور بازی سازی یونیتی
موتور بازی سازی یونیتی
در این مقاله میخواهیم به بررسی نکات مهم موتور بازی سازی یونیتی بپردازیم، ولی قبل از آن، ابتدا مقالهی «موتور بازی سازی چیست» را مطالعه کنید.
یونیتی، یک موتور بازی سازی عمومی میباشد که به جرئت میتوان گفت مشهورترین و محبوبترین موتوربازی عمومی تا به امروز است.
یونیتی (Unity)، یک موتور بازی سازی چند سکویی (Cross Platform: یعنی با استفاده از آن میتوان برای پلتفرمهای مختلفی از جمله ویندوز، اندروید، آیفون و … خروجی گرفت.) میباشد که توسط فناوریهای یونیتی (Unity Technologies) ساخته شده است. ساخت بازی با این موتور بسیار ساده است؛ چرا که حجم سنگین کار در محیط ویژوال (بصری) آن انجام شده و تنها موارد اختصاصی نیاز به کدنویسی خواهند داشت! و گرچه محیط کاربری آن بیشتر برای بازیهای سه بعدی در نظر گرفته شده است، اما با این حال، امکان ساخت بازیهای دوبعدی نیز در آن وجود دارد! همچنین این موتور، از زبانهای سیشارپ و جاوا اسکریپت برای برنامهنویسی منطق بازی پشتیبانی میکند.
موتور بازی Unity، مجموعهی گستردهای از ویژگیها را به همراه یک واسط گرافیکی قابل فهم و بسیار ساده عرضه کرده است، و همانطور که گفته شد، یکی از مزیتهای اصلی آن، چند سکویی (Cross Platform) بودن آن میباشد؛ به این معنی که میتوان بازیهای ساخته شده با یونیتی را به سادگی برای اندروید، iOS، ویندوز فون، بلک بری و … پورت کرد. (البته بستگی به پروژه دارد که بخواهد از امکانات خاص یک پلتفرم استفاده کند یا خیر! که در این صورت میتوان بخشی از کدها را تنها برای یک پلتفرم خاصی نوشت تا فقط برای آن کامپایل شود.) همچنین این موتور، قابلیت توسعهی بازی برای کنسولهای پلی استیشن، ایکس باکس، Wii U و حتی مرورگرهای وب را هم دارد.
کار با یونیتی نسبت به «آنریل انجین – Unreal Engine» و «کرای انجین – CRYENGINE» بسیار سادهتر است؛ چرا که بیشتر کار مثل «گیممیکر – GameMaker»، بدون کدنویسی هم امکان پذیره میباشد؛ اما اگر بازی ساز حرفهای باشید، قطعا نوشتن کد اختصاصی بهتر از دستورات آماده خواهد بود؛ و طبیعتا برای نوآوریهای جدید خود نیاز به نوشتن کدهای اختصاصی خود خواهید داشت.
گرچه یونیتی تنها امکان ساخت مدل اشیاء اولیهای مثل کره، مکعب، Plane و … را به ما میدهد و امکان مدلسازی در آن وجود ندارد، اما با این حال، یونیتی Asset (دارایی و آن منابعی که بازی را با آن ها میسازیم، مثلا: عکس، صوت، فیلم، مدل های سه بعدی، اسپرایت ها و …) های بسیاری از برنامههای سه بعدی مثل ۳ds Max، Maya، Softimage، Cinema4D و Blender را پشتیبانی میکند؛ و در نتیجه هیچ محدودیتی در نوع فرمت اشیاء و مدلهای بازی وجود نخواهد داشت و میتوان از نرمافزارهای سه بعدی دیگری برای مدلسازی بازی استفاده کرد. و البته، یونیتی شامل یک Asset Store بزرگی نیز میباشد که میتوان منابع مورد نیاز برای بازی را از آن جا دانلود یا خریداری نمود.
جالب است بدانید که یونیتی تعداد کاربر میلیونی داشته و محبوبیت آن منجر شده است تا شرکتهای بازیسازی بزرگی از جمله «SQUARE ENIX» نیز بازی معروف و زیبای «Deus Ex: The Fall» را با استفاده از یونیتی، برای کامپیوتر، اندروید و آیفون منتشر کنند. چرا که درواقع این موتور بازی، وارد جنگ بین موتورهای آنریل و کرای انجین شده و با وجود پشتیبانی ۶۴ بیتی و WebGL، به عنوان یک موتور بازی سازی قوی و پر از ویژگیهای کاربردی شناخته شده است.
یونیتی؛ موتور بازی و IDE
موتوربازی
یونیتی یک موتور بازی سازی دو بعدی و سه بعدی (3D/2D) و یک محیط یکپارچه توسعه نرم افزار (IDE) بسیار قدرتمند به شمار می رود که به صورت کراس پلتفرم در تمامی سیستم عامل های موجود قابل اجرا می باشد. در حقیقت Unity به عنوان یک موتور بازی سازی قادر است تا اکثر قابلیت های مورد نیاز برای ساخت و اجرای یک بازی کامپیوتری یا موبایلی را در اختیار توسعه دهندگان قرار دهد.
برای مثال قابلیت هایی نظیر شبیه سازی فیزیک، رندرینگ 3D و شناسایی برخوردها (Collision) در این ابزار وجود دارد. توسعه دهندگان با استفاده از یونیتی دیگر نیازی نیست که چیز جدیدی اختراع کنند. در حقیقت آنها به جای استفاده از تجهیزات فیزیکی برای طراحی نور و سرعت اجسام موجود در بازی می توانند به راحتی از موتور یونیتی استفاده کنند.
فروشگاه های جانبی نیز قدرت موتور یونیتی را دوچندان می کند به گونه ای که توسعه دهندگان می توانند پروژه های خلاقانه خود را در آن بارگذاری کرده و به رایگان در دسترس جامعه کاربری بازی سازان قرار دهند.
رای مثال شما بدون صرف انرژی برای ساخت جلوه های ویژه می توانید آنها را از فروشگاه جانبی Unity دانلود کنید. به عنوان مثال اگر می خواهید حالت کنترل Tilt را به بازی خود اضافه نمایید، با جستجو در فروشگاه یونیتی می توانید نمونه های جالب و رایگان بسیاری برای این کار پیدا می کنید. به طور کلی توسعه دهندگان با استفاده از یونیتی می توانند تمام تمرکز خود را بر روی طراحی و تجربه کاربری سرگرم کننده بازی بگذارند.
IDE
یونیتی علاوه بر موتور بازی سازی به عنوان یک IDE نیز مورد استفاده قرار می گیرد. اصطلاح IDE یا همان محیط یکپارچه توسعه نرم افزار در واقع تمام ابزارهای مورد نیاز برای ساخت یک نرم افزار در اختیار توسعه دهندگان قرار می دهد. نرم افزار یونیتی دارای یک ویرایشگر بصری است که به شما این امکان را می دهد تا عناصر موجود را در محیط آن را به سادگی Drag&Drop کرده و ویژگی های هر یک را تغییر دهید.
نرم افزار یونیتی همچنین قابلیت های دیگری نظیر جستجو در بین فولدرهای موجود در پروژه و ساخت انیمیشن از طریق یک جدول زمانی را در اختیار توسعه دهندگان قرار می دهد.
زبان برنامه نویسی یونیتی
موتور بازی سازی یونیتی از زبان برنامه نویسی سی شارپ (C#) برای پردازش کدها و منطق استفاده می کند. همچنین مجموعه ای از کلاس و API در یونیتی موجود است که شما باید حتما آنها را یاد بگیرید. خبر خوش این است که شما بسیاری از ویژگی های Unity را می توانید بدون نیاز به مقدار زیادی کدنویسی انجام دهید. البته موتور یونیتی بسیار انعطاف پذیر است و امکانات زیادی را در اختیار افرادی که دانش برنامه نویسی دارند قرار می دهد.
خوشبختانه یادگیری زبان سی شارپ برای افراد تازه کار بسیار آسان است و قواعد مشترکی با دیگر زبان های محبوب نظیر C و جاوا نیز دارد. به عبارت دیگر می توان گفت که یادگیری Unity با زبان C# بهترین راه برای آشنایی با کدنویسی محسوب می شود.
قابلیتهای کلیدی Unity
- ویرایشگر قدرتمند، انعطاف پذیر و با قابلیت اجرای دستورات کاربر بصورت ویژوال
- ابزارهای مورد نیاز جهت کار گروهی، قابلیت ایمپورت مستقیم فایل های نرم افزارهایی مثل Max, Maya, XSI و آپدیت ذخایر در حین اجرای نرم افزار و ساخت بازی
- استفاده از آخرین تکنولوژی های گرافیکی، سرعت رندر بالا، استفاده از تمامی قابلیت های DirectX و OpenGL
- تهیه خروجی اجرایی متناسب با پلتفرم در مراحل بسیار ساده.
- تهیه خروجی تحت وب، تحت کنسول، تحت آیفون و برای مکینتاش
- ستفاده از جدیدترین تکنیک های نور پردازی و پشتیبانی از سایه های دینامیک
- استفاده از جدیدترین شیدرهای گرافیکی، کتابخانه کاملی از شیدرهای قابل استفاده، توانایی کاربر در نوشتن شیدرهای جدید
- موتور Terrain داخلی، جهت ساخت عوارض زمین، محیط های وسیع Outdoor و کوه و تپه و امکانات تکسچر گذاری و رنگ آمیزی و چینش اتوماتیک اشیا در محیط
- پشتیبانی از پروتکل های شبکه
- پشتیبانی کامل از موتور فیزیک Physx محصول nVidia
- پشتیبانی از زبانهای C# و جاوا اسکریپت
- و …
پلتفرمهای خروجی
همانطور که گفته شد، یونیتی یک موتور بازی سازی چند سکویی میباشد؛ و از آنجایی که امروزه تعداد زیادی از کاربران به جای کامپیوتر شخصی بیشتر با موبایلها، کنسولها و … بازی میکنند، بنابراین موضوع چندسکویی بودن بازی اهمیت ویژهای دارد.
یونیتی برای پلتفرمهای زیر میتواند خروجی ایجاد کند:
- مایکروسافت ویندوز
- مک اواس
- وی
- تایزن
- ایکس باکس
- پلی استیشن
- آی او اس
- اندروید
- وب (ابهامزدایی)
یونیتی و دیگر موتورهای بازی سازی
موتورهای بی شماری برای ساخت بازی در بازار موجود هستند بنابراین Unity رقابت سختی با Unreal Engine و Cryengine در پیش رو دارد. البته اگر به توسعه بازی های اندروید علاقه مند هستید، ابزارهای موتور یونیتی امکانات کاملی را در اختیار شما قرار می دهد. علاوه بر این، موتور یونیتی ابزارهای مربوط به توسعه بازی های 2D را در خود دارد و قابلیت های گرافیکی آن نیز به شما این امکان را می دهد تا پروژه مورد نظر را برای سخت افزارهای ضعیف تر آماده سازی کنید.
موتور یونیتی یک نرم افزار کراس پلتفرم است به گونه ای که با استفاده از آن می توانید بازی های سازگار با اندورید، ویندوز، iOS و کنسول های بازی طراحی کنید. این نرم افزار همچنین از تکنولوژؤی VR پشتیبانی می کند به همین دلیل بهترین گزینه برای توسعه دهندگان Oculus Rift و HTC Vive محسوب می شود.
موتور Unity از لحاظ گرافیک در مقابل موتورهای Unreal و Cryengine عملکرد ضعیف تری دارد ولی بروز رسانی های جدید آن تا حدودی این مشکل را برطرف کرده است. موتورهای Unreal و Cryengine برای افراد تازه کار گزینه مناسبی محسوب نمی شوند چرا که یادگیری آنها بسیار پیچیده است.
به طور کلی شما باید موتور بازی سازی را با توجه به اهداف شغلی خود انتخاب کنید. برای مثال موتور بازی Unreal و Cryengine برای یک استودیوی بازی سازی تریپل ای (AAA) که تمرکز اصلی خود را بر روی ساخت بازی های گرافیک بالا برای رایانه گذاشته است، گزینه بهتری به شمار می رود. اما برای توسعه دهندگانی که بر روی بازی های موبایل تمرکز دارند، بدون شک موتور یونیتی بهترین گزینه محسوب می شود.
مرکز آموزشی و کارآفرینی خوارزمی در مسیر یادگیری مهارت های حرفه ای، پیشرفت شغلی، کارآفرینی و توسعه کسب و کار با بهره مندی از دانش و تجربه اساتید متخصص و دارا بودن کادری مجرب در کنار فراهم آوردن محیطی پویا با امکانات روز آموزشی، با افتخار در کنار شما خواهد بود. امیدواریم بتوانیم نقش و سهمی موثر در آینده، جایگاه شغلی و اجتماعی شما مردم کشور عزیزمان ایران داشته باشیم و رسالت اجتماعی خود را به نحو احسن ایفا نماییم.