• یونیتی چیست؟ یونیتی یک میان افزار گرافیکی است که امکان تولید محتواهای 2بعدی و سه بعدی را بصورت ساده و سریع فراهم میکند
  • چه کسانی میتوانند از این موتور استفاده کنند؟ هر کسی که یک دستگاه کامپیوتر دارد!!!
  • پیش زمینه ای برای استفاده از یونیتی نیاز است؟ بله؛ علاقه و پشتکار. هیچ موردی دیگری نیاز ندارید و مابقی موارد با استفاده از همین 2 مورد به سهولت بدست می آید.
  • برای استفاده از یونیتی چه مدت زمان برای آموزش نیاز است؟ 1 روز!!! به وفور دوستانی را دیدم که در زمان بسیار کمی شروع کردند و البته موفق هم بوده اند؛ هرچقدر با یونیتی بیشتر کار کنید بیشتر علاقمند میشوید و دانش و تجربه لازمه را کسب میکنید.
  • چرا یونیتی؟ در جواب این را باید بگویم: چرا یونیتی نه!!! یونیتی یک نرم افزار قوی و صد البته کاربرپسند است و در کنار این قدرت بسیار منعطف است یعنی توانایی بالایی برای خروجی به بیشمار پلتفرم را دارد.
  • چرا یونیتی منعطف است؟ یونیتی توانایی خروجی برای حدود 23 پلتفرم مختلف را دارد. از ویندوز تا کنسولها و حتی هالو لنز!!!

تاریخچه یونیتی

02-unity-overview-unity4
 
اگر بخواهیم با تاریخچه یونیتی آشنا شویم باید عرض بکنم که یونیتی یک موتور جوان و بطور دقیق 10 ساله است. یونیتی اولین بار در سال 2005 در کنفرانس توسعه دهنده های اپل معرفی شد. اولین نسخه به هیچ عنوان با فرزند فعلی اش (نسخه 5.2) جز در اسم قابل قیاس نیست!!! در نسخه اول یونیتی امکانات محدودی مثل فیزیک Novodex (که الان با نام PhysX  میشناسید) و همچین امکان رندرینگ فقط بر اساس OpenGL و امکان اسکریپت نویسی به زبان C# و چند امکان محدود دیگر  وجود داشت. حدود 2 سال بعد یعنی در سال 2007 نسخه 2 این موتور معرفی شد که مهم ترین امکانات جدید یونیتی موارد زیر بود:
  1. امکانات توسعه شبکه
  2. سیستم Terrain
  3. امکان ترسیم سایه بصورت RealTime
  4. امکان خروجی iPhone
  5. امکان توسعه گیم در ویندوز
  6. و ...
نسخه 3 نقطه عطف یونیتی بود که 3 سال بعد از نسخه 2 یعنی در سال 2010 معرفی شد. بنظر من شروع قدرت یونیتی از این نسخه بود که توسعه ها از امکانات اولیه که در نسخه های قبل انجام شده بود به مرحله جدیدی یعنی امکانات پیشرفته و بروز رسیده بود. بی شک مهم ترین قابلیت در نسخه 3 امکان محاسبه GI توسط سیستم قدرتمند Beast بود که اکنون در موتور Stingray هم مورد استفاده قرار میگیرد. جالب است بدانید تکنولوژی Beast از سال 2010 تحت تملک اتودسک قرار گرفته است. همچنین درکنار سیستم GI جدید یونیتی فروشگاه پلاگینهای یونیتی یعنی Asset Store هم همزمان با معرفی نسخه 3 یونیتی ایجاد شد تا یونیتی با تکیه بر قدرت کاربرانش تبدیل به موتوری وحشتناک شود که به جرئت عرض میکنم یونیتی+ Asset Store بزرگتر از هر موتور دیگری است!!! همه امکانات موتورهای دیگر کم و بیش در Asset Store یونیتی بصورت افزونه موجود است و ازینرو یونیتی باید به خود ببالد!!! اما امکانات دیگری مثل موارد زیر در یونیتی 3 معرفی شد:
  1. Occliusion Culling
  2. HDR Rendring
  3. RealTime Audio Effect
  4. Shuriken Particle System
  5. Android Support
  6. Substance Support
  7. Adobe Flash Support
  8. DotNet 3.5 Support
  9. و ...
نسخه 4 یونیتی در سال 2012 معرفی شد تا رسم نانوشته ای برای انتشار نسخه های یونیتی بوجود بیاید. یونیتی تا الان نسخه های فرد را 3 سال و نسخه های زوج را 2 سال بعد از آخرین نسخه معرفی کرده است! نسخه 4 یک قدم بزرگ در یونیتی بود و بنظر شخصی یکی از جالبترین ابزارهای یونیتی یعنی سیستم انیمیشن مکانیم در این نسخه معرفی شد. پشتیبانی از Api پرفدرت Directx 11 در این نسخه از یونیتی انجام شد تا بستری جدید برای توسعه دهنده های یونیتی ایجاد شود. در قدرت DirectX هیچ چون و چرایی نیست و تکنولوژی DirectX 11 Tesslation  و Directx 11 Displacement بواقع یکی از موهبتهایی بود که در نسخه 4 در اختیار توسعه دهنده ها قرار گرفت. امکانات دیگری مثل موارد زیر در این نسخه افزوده شد:
  1. New 2D UI
  2. New Platforms Support
  3. Optimization Tools
  4. و ...
08-unity-overview-unity5
 
دقیقا طبق سنت یونیتی یعنی 3 سال بعد در سال 2015 نسخه 5 یونیتی معرفی شد که امکانات بسیار جدیدی را در دل یونیتی قرار داد. امکاناتی که در مقالاتی در همین سایت دیده اید. اما مهمترین بروز رسانی یونیتی در نسخه 5 فیزیکال شدن سیستم  نورپردازی یونیتی بود که توانش را از سیستم Enlighten میگیرد. این سیستم یکی از بهترین راه کارهای محاسبات سنگین نور در RealTime میباشد که قبلا در بازیهای بزرگی مثل NFS The Run  و BF3 مورد استفاده قرار گرفته است. دیگر امکانات این نسخه:
  1. X64 Support
  2. Audio Mixer
  3. New Tools For Nav Mesh
  4. Physical Base Matterial
  5. HDR SkyBox
  6. New Platforms Support
  7. Test Utility
  8. و ...

امکانات و قابلیتهای موتور یونیتی

03-unity-overview-oro
 
برای اختصار صرفا به ذکر امکانات موتور بصورت گروه به گروه و تیتروار بسنده میکنم.
 
امکانات کلی:
  • Scripting with C#, JavaScript or Boo
  • Action-Packed Physics
  • Life-Like Animation
  • One-Click Deployment
  • Optimized Graphics
  • Unmatched Import Pipeline
  • 64-bit Editor
  • Fully Extendible Editor
 
انیمیشن:
  • Retargeting
  • Blend Trees
  • State Machines
  • Integrated Animation Editor
  • Inverse Kinematics
  • Sync Layers and Additional Curves
 
گرافیک:
  • Physically-Based Shading
  • Shuriken Particle System
  • Enlighten-powered Real-time Global Illumination
  • Low-Level Rendering Access
  • Dynamic Fonts with Markup
  • Static Batching
  • Render-to-Texture Effects
  • Full-Screen Post-Processing Effects
 
2بعدی:
  • Automatic Sprite Slicing
  • Automatic Sprite Animation
  • Alpha Cutout
  • Sprite Packer
  • 2D physics
 
فیزیک 3بعدی:
  • Multithreaded Simulation
  • Cloth Component
  • Advanced Vehicle Physics
  • Super-Accurate Collision Detection
  • Bake-free Scaled MeshCollider Support
 
بهینه سازی:
  • Occlusion Culling
  • Profiler
  • Level of Detail
  • Deferred Rendering
  • Stencil Buffer Access
  • GPU Skinning for DirectX 11 and OpenGL ES 3.0
  • Fully-Fledged Streaming with Asset Bundles
  • Dynamic Batching
 
اسکریپت نویسی و توسعه:
  • Webplayer debugging
  • .NET Socket Support
  • Inspector GUI for custom classes
  • Access to Web Data Through WWW Functions
  • Open a URL in the User's Browser
  • Native Code Plugin Support
  • Script Access to the Asset Pipeline
 
صدا:
  • Transition the mood of your soundscape
  • Native Audio Plugins
  • Hierarchies of mixers
  • Call scripts from within the animation playback
 
امکانات دیگر:
  • External Version Control Support
  • Terrains
  • Integrated SpeedTree support
  • Multiplayer Networking with RakNet
  • NavMeshes and Path-Finding
  • Net Streaming (not supported on iOS)
  • iOS Crash Reporter
  • Linux headless player
  • Instantaneous playtesting

کاربرد یونیتی

04-unity-overview-the-bay-2012
 
یونیتی در حوزه های مختلفی میتواند مورد استفاده قرار گیرد. گیم، شبیه سازی، معماری، سینما  و ... از این موارد میباشد. در این قسمت به بررسی امکانات یونیتی در این موارد میپردازیم.
 
یونیتی در توسعه گیم
بی شک یونیتی یکی از بهترین موتورهای بازیسازی میباشد و با امکانات بسیار زیادی کارهای توسعه گیم شما را کاهش میدهد اما قدرت اصلی یونیتی در این حوزه بیشتر بخاطر توانایی بسیار بالا در بستر موبایل و دستگاههای همراه است. جالب است بدانید که بیش از 80 درصد بازیهای موبایل با یونیتی توسعه داده میشوند و این یکی از برترین ویژگی های این موتور است. یونیتی نسبت به آنریل و کرای بشدت سبکتر اجرا میشود و نیازهای سخت افزاری بسیار کمتری برای کاربرهای بازیهای تولیدی شما ایجاد میکند که این مورد هم بسیار مهم است.
 
پایه ای ترین امکاناتی که توسعه دهنده های گیم به آن نیاز دارند موارد زیر است:
  • سیستم مدیریت و ویرایش انیمیشن
  • سیستم ناوبری و تشخیص مسیر
  • سیستم کدنویسی پویا و ساده
  • سیستم پارتیکل
  • سیستم فیزیک و رفتار
  • سیستم نورپردازی و سایه زنی
  • و ...
در همه موارد بالا یونیتی امکانات بسیار کاملی در اختیار شما میگذارد و شما در این موارد هیچ کمبودی در یونیتی ندارید و با معرفی نسخه 5 یونیتی قدرت جدیدی در امکانات مطرح شده بالا در یونیتی قرار گرفت.
 
 
یونیتی در معماری
 
05-unity-overview
 
امروزه با فیزیکال شدن یونیتی و همچنین رایگان شدن آن کاربران بیشماری از حوزه معماری به این موتور کوچ کرده اند. دلیل این حرکت هم قدرت بسیار بالا و همچنین انعطاف فوق العاده آن است. زمانی پیش نمایشهای داینامیک فیزیکال معماری در موبایلها آرزوی همه فعالان این صنعت بود اما امروزه با توجه به جایگاه یونیتی در حوزه موبایل که بی شک قویترین موتور در این حوزه است و همچنین رندرینگ بسیار با کیفیت یونیتی، این موتور جایگاه بسیار مهمی در معماری دارد. سادگی و سهولت کار در یونیتی نیز یکی دیگر از مهم ترین عواملی است که شتاب استفاده فعالان حوزه معماری از یونیتی را بیشتر کرده است.
 
منبع توضیحات: سایت مصطفی 3D