یونیتی (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، به عنوان یک موتور بازی سازی قوی و پر از ویژگیهای کاربردی شناخته شده است.
قابلیتهای کلیدی Unity
- ویرایشگر قدرتمند، انعطاف پذیر و با قابلیت اجرای دستورات کاربر بصورت ویژوال
- ابزارهای مورد نیاز جهت کار گروهی، قابلیت ایمپورت مستقیم فایل های نرم افزارهایی مثل Max, Maya, XSI و آپدیت ذخایر در حین اجرای نرم افزار و ساخت بازی
- استفاده از آخرین تکنولوژی های گرافیکی، سرعت رندر بالا، استفاده از تمامی قابلیت های DirectX و OpenGL
- تهیه خروجی اجرایی متناسب با پلتفرم در مراحل بسیار ساده.
- تهیه خروجی تحت وب، تحت کنسول، تحت آیفون و برای مکینتاش
- ستفاده از جدیدترین تکنیک های نور پردازی و پشتیبانی از سایه های دینامیک
- استفاده از جدیدترین شیدرهای گرافیکی، کتابخانه کاملی از شیدرهای قابل استفاده، توانایی کاربر در نوشتن شیدرهای جدید
- موتور Terrain داخلی، جهت ساخت عوارض زمین، محیط های وسیع Outdoor و کوه و تپه و امکانات تکسچر گذاری و رنگ آمیزی و چینش اتوماتیک اشیا در محیط
- پشتیبانی از پروتکل های شبکه
- پشتیبانی کامل از موتور فیزیک Physx محصول nVidia
- پشتیبانی از زبانهای C# و جاوا اسکریپت
- و …
ویرایشگر کد
یونیتی از نرمافزار «مونو» که یک ویرایشگر متنباز زبانهای برنامهنویسی میباشد، به عنوان ویرایشگر کدهای خود استفاده میکند. مونو بسیار قدرتمند و کاملاً با یونیتی هماهنگ شده است و شامل موارد مهمی از جمله «پیشنهاد دهندهی خودکار کلمات»، «سیستم دیباگینگ پیشرفته» و «پشتیبانی کامل از زبان سیشارپ» نیز میباشد.
البته شما میتوانید با عوض کردن تنظیمات یونیتی، از محیطهای دیگری همچون ویژوال استودیوی محبوب مایکروسافت، برای برنامه نویسی بازی خود استفاده کنید.
زبانهای برنامه نویسی
یونیتی از جمله موتورهای بازی سازیای است که از زبانهای برنامه نویسی معروفی پشتیانی میکند. دو زبان سیشارپ (C#) و جاوا اسکریپت در یونیتی قابل استفاده هستند (و البته زبان بو که یک خانواده از زبانهای برنامهنویسی پایتون میباشد نیز در نسخههای قبل از 5 وجود داشت و سپس حذف گردید).
همچنین بهتر است بدانید که زبان سیشارپ (C#)، یکی از قدرتمندترین زبانهای برنامهنویسی با قابلیت شی گرایی است و به واسطهی این قابلیت، قابلیتهایی همچون ارثبری را هم دارا میباشد؛ که این قابلیتها در پروژههای بزرگ برنامه نویسی بسیار سودمند خواهند بود.
پلتفرمهای خروجی
همانطور که گفته شد، یونیتی یک موتور بازی سازی چند سکویی میباشد؛ و از آنجایی که امروزه تعداد زیادی از کاربران به جای کامپیوتر شخصی بیشتر با موبایلها، کنسولها و … بازی میکنند، بنابراین موضوع چندسکویی بودن بازی اهمیت ویژهای دارد.
یونیتی برای پلتفرمهای زیر میتواند خروجی ایجاد کند:
- مایکروسافت ویندوز
- مک اواس
- وی
- تایزن
- ایکس باکس
- پلی استیشن
- آی او اس
- اندروید
- وب (ابهامزدایی)
تقریباً میشود گفت که یونیتی برای تمامی پلتفرمهای مهم موجود در بازار خروجی تولید میکند و این نکته از لحاظ تجاری بسیار مهم است. به خصوص اجرای بازی روی وب و به صورت چند نفره (network) باعث جذب کاربران بسیاری خواهد شد و جالب است که بدانید تعدادی از بازیهای موجود در شبکهی اجتماعی فیسبوک نیز با موتور بازیسازی یونیتی ایجاد شدهاند.
و همچنین بخوانید: یونیتی چگونه برای پلتفرم های زیادی خروجی می دهد؟!
آفرین به مطلب خوبت
دمت گرم توپ توپ بود
خیلی ممنون برای کنفراسم، همین کافی است
خیلی ممنون
میگم فرق ورژن رایگان یونیتی با ورژن پرو چیه؟
برخی چیزها رو نداره از جمله تم سیاه
به نام خدا
سلام
با رایگان هم میشه بازی رو انتشار داد وفروخت فقط محدودیت 10000دلاری داره با امکانات کمتر !!!!
یک سوال
در یکجایی خونده بودم که درسته که قابلیت انتشار بازی تحت وب رو داره ولی عملا در ایران نمیشه از این قابلیت استفاده نمود به دلیل سرعت اینترنت.
حالا یک سوال داشتم آیا این مطلب واقعیت داره؟
مثلا یک بازی شطرنج اگر با یونیتی ساخته بشه و قصد انتشار تحت وب اون رو داشته باشم جواب میده یا خیر؟؟؟؟
الآن تو دسترس اکثر مردم اینترنت پرسرعت قرار داره و مشکلی پیش نمیاد
اونم برای بازی شطرنج که اصلا جای نگرانی نیست چون منابع گرافیکی خاصی نداره
البته شما به جای تحت وب کردن بهتره خروجی پلت فرم مورد نظرتون (ویندوز، اندروید و IOS) رو بگیرین و برای بازیتون سوکت نویسی کنین
سلام.میشه یه کتاب برا یارفتن یونیتی معرفی کنین؟