Unity (рушій гри)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Unity
Unity logo 2014.png
Розробник(и) Unity Technologies
Стабільний випуск 4.1.0 (березень 2013)
Написано на C++ і C
Операційна система Microsoft Windows, Mac OS X, Wii, Apple iOS, Android, PS3, XBox 360, Linux, Adobe Flash, Sony Xperia Play, Blackbary, Samsung Smart TV (запуск застосунів з обмеженнями)
Тип Ігровий рушій
Ліцензія Власницьке програмне забезпечення
Сайт unity3d.com
Скріншот інтерфейсу Unity з елементом завантаженої сцени

Unity — це багатоплатформний інструмент для розробки дво- та тривімирних застосунків та ігр, який працює на операційних системах Windows і OS X. Створені за допомогою Unity застосунки працюють під системами Windows, OS X, Android, Apple iOS, Linux[1], а також на гральних консолях Wii, PlayStation 3 і XBox 360.

Є можливість створювати інтернет-застосунки за допомогою спеціального підключаємого модуля до браузера Unity, а також за допомогою експерементальної реалізації в межах модуля Adobe Flash Player[2]. Застосунки, створені за допомогою Unity, підтримують DirectX та OpenGL.

Технічні характеристики[ред.ред. код]

  • Сценарії на C#, JavaScript та Boo;
  • Ігровий рушій повністю пов'язаний із середовищем розробки. Це дозволяє випробовувати гру прямо в редакторі;
  • Робота з ресурсами можлива через звичайний Drag&Drop.
  • Система успадкування об'єктів;
  • Підтримка імпортування великої кількості форматів файлів;
  • Вбудований генератор ландшафтів;
  • Вбудована підтримка мережі;
  • Існує рішення для спільної розробки — Asset Server. Також можна використовувати зручний для користувача спосіб контролю версій. Наприклад, SVN або Source Gear;

Функціональні можливості[ред.ред. код]

Рендеринг[ред.ред. код]

Графічний рушій використовує DirectX (Windows), OpenGL (Mac, Windows, Linux), OpenGL ES (Android, iOS), та спеціальне власницьке API для Wii. Також підтримуються bump mapping, reflection mapping, parallax mapping, screen space ambient occlusion (SSAO), динамічні тіні з використанням shadow maps, render-to-texture та повноекранні ефекти post-processing.[3]

В Unity підтримуються файли з 3ds Max, Maya, Softimage, Blender, modo, ZBrush, Cinema 4D, Cheetah3D, Adobe Photoshop, Adobe Fireworks та Allegorithmic Substance. В ігровий проект Unity можна імпортувати об'єкти цих програм та робити налаштовування за допомогою графічного інтерфейсу.[4]

Для написання шейдерів використовується ShaderLab, який підтримує шейдерні програми написані на GLSL або Cg. Шейдер може включати декілька варіантів реалізації, що дозволяє Unity визначати найкращий варіант для конкретної відеокарти.[5]Unity також має вбудовану підтримку фізичного рушія Nvidia (колишнього Ageia) PhysX, (починаючи з Unity 3.0) підтримка в системі реального часу симуляції одежі на довільній та прив'язаній полігональній сітці, системи ray casts та шарів зіткнення.[6]

Скрипти[ред.ред. код]

Скриптова система ігрового рушія зроблена на Mono — вільний відкритий проект з реалізації .NET Framework. Програмісти можуть використовувати UnityScript (власна скриптова мова, подібна до JavaScript та ECMAScript), C# або Boo (мова програмування, подібна до Python).[7] Починаючи з версії 3.0, до Unity входить перероблена версія MonoDevelop для зневадження скриптів.[8]

Asset Tracking[ред.ред. код]

В Unity включено систему контролю версій Unity Asset Server для ігрових об'єктів та скриптів. Система використовує PostgreSQL, роботу зі звуком, побудовану на основі бібліотеки FMOD (з можливістю програвати Ogg Vorbis аудіофайли), відеопрогравач із кодеком Theora, рушій для побудови ландшафтів рослинності, вбудовану систему карт освітлення (Beast), мережу для мультиплеєру (RakNet) та вбудовані навігаційні меші для пасфайндингу.[9]

Unity Asset Server[ред.ред. код]

Інструментарій для спільної розробки на базі Unity. Сутність розробки ігор — це робота в команді. Сервер ресурсів Unity це доповнення, яке додає контроль версій у функціонал Unity.

Система контролю версій[ред.ред. код]

Сервер ресурсів Unity це повнофункціональне рішення для контролю версій для всіх ігрових скриптів і ресурсів. Як і все інше в Unity, він простий у використанні.

Оптимізація для великих проектів[ред.ред. код]

Багато-гігабайтні проекти з тисячами багато-мегабайтних файлів управляються з витонченістю. Налаштування імпорту і всі інші метадані також зберігаються точно також разом з історією змін їх версій. Спостерігати за зміною ресурсів\версій можна прямо всередині Редактора Unity. Якщо файли піддаються змінам, їх статус негайно оновлюється. Перейменування і переміщення ресурсів не створює будь-яких перешкод для безперервного робочого процесу.

Сервер з відкритим вихідним кодом[ред.ред. код]

Сервер ресурсів Unity управляється базою даних PostgreSQL. PostgreSQL відомий своєю надійністю, цілісністю даних і легкістю адміністрування і відмінно справляється з робочим навантаженням гігантських проектів.

Mac OS X або Linux[ред.ред. код]

Сервер ресурсів доступний як для Mac OS X Installer, так і для Linux RPMs . Підтримка декількох платформ дає вам гнучкість в тому, як впровадити Сервер ресурсів Unity в вашу існуючу IT-інфраструктуру.

Посилання[ред.ред. код]

  1. «Официальная информация о поддержке GNU/Linux на сайте Unity» (англійською). 2012-08-28. Архів оригіналу за 2012-11-21. 
  2. Dean Takahashi (2011-12-21). «Unity Technologies developers will be able to publish 3D games via Adobe Flash» (англійською). VentureBeat. Архів оригіналу за 2012-06-09. Процитовано 2012-03-11. 
  3. «Using DirectX11 in Unity 4». Unity Technologies. Архів оригіналу за 2013-08-27. Процитовано 2013-02-19. 
  4. «How do I import objects from my 3D app?». Unity Technologies. Архів оригіналу за 2013-08-27. Процитовано 2013-02-19. 
  5. «Shaders». Unity Technologies. Архів оригіналу за 2013-08-27. Процитовано 2013-02-19. 
  6. «Physics». Unity Technologies. Архів оригіналу за 2013-08-27. Процитовано 2013-02-19. 
  7. «Using Scripts». Unity Technologies. Процитовано 2013-02-19. 
  8. «Getting started with Mono Develop». Unity Technologies. Архів оригіналу за 2013-08-27. Процитовано 2013-02-19. 
  9. «Asset Server (Pro Only)». Unity Technologies. Архів оригіналу за 2013-08-27. Процитовано 2013-02-19. 

Посилання[ред.ред. код]