Unity 3D – это кроссплатформенный игровой движок, разработанный компанией Unity Technologies, и в основном используемый при создании игр на ПК, консоли, мобильные устройства и вебсайтах. Будучи впервые анонсированным для OS X на конференции разработчиков Apple в 2005 году, список его целевых платформ был расширен до более 15 позиций. На сегодняшний день актуальна 5 версия Юнити 3Д. Основным языком движка является C#, но также поддерживается javascript и до 5 версии поддерживался язык Boo (диалект языка Python).
Возможности движка Unity 3D
Основной особенностью движка является поддержка множества платформ и операционных систем. Однако, разница в разработке под различные аппаратные и программные конфигурации все-таки существует. В первую очередь между графическими ядрами целевых платформ. Direct3D для Windows и Xbox; OpenGL для Mac и Windows; OpenGLES для Android и iOS, а также различные проприетарные API для консолей. Все эти детали и нюансы необходимо учитывать при разработке.
Заточена Unity 3D для игр и любых 3D демонстраций. Этому крайне способствует список поддерживаемых современных графических технологий (шейдеров):
• сжатие текстур и настройка разрешений для каждой поддерживаемой платформы;
• поддержка рельефного текстурирования;
• поддержка отражений на уровне текстур;
• поддержка parallax mapping’а;
• SSAO – технология преграждение окружающего света в пространстве экрана для симуляции реалистичного рассеянного освещения;
• динамические тени с использованием карт теней;
• поддержка технологии отрисовки в текстуру;
• полноэкранная постобработка эффектов и множество других шейдеров.
Графический движок Юнити 3Д способен самостоятельно выбрать оптимальную компиляцию шейдеров для текущего видеооборудования и при необходимости жертвовать картинкой в угоду лучшей производительности.
В Юнити 3Д также интегрирован трехмерный физический движок Nvidia’s PhysX для симуляции реалистичной игровой физики столкновения «ньютоновских» тел. В наличии простой и удобной Drag&Drop интерфейс, легко кастомизируемый, и позволяющий производить отладку игры прямо в редакторе.
Так как разработка большинства проектов ведется в команде, Юнити позволяет подключить add-on для совместной работы. Сюда входят система контроля версий и сервер ресурсов. Поэтому управление большими проектами не составляет труда. Все метаданные, включая настройки импорта, сохраняются вместе с историей изменений. Переименование, удаление и перемещение ресурсов легко обрабатывается редактором Unity и пользователю всегда видно состояние проекта.
Другой очень важной особенностью Unity 3D, а точнее, её инфраструктуры является Unity Asset Store. Это магазин различных ресурсов для создания полноценной и качественной игры. Здесь можно приобрести лицензионные текстуры, звуковые эффекты, плагины для интерфейса и множество других необходимых игровых элементов. Полный список категорий Unity Asset Store:
• 3D модели;
• Анимация;
• Аудио;
• Завершенные проекты (готовые шаблоны);
• Расширения для редактора;
• Системы частиц;
• Скрипты;
• Сервисы;
• Шейдеры;
• Текстуры и материалы;
• Основы Unity.