Главная » 2015 » Апрель » 19 » Что такое Unity3D
08:31
Что такое Unity3D

Unity 3D(игровой движок)


Unity — это инструмент для разработки двух- и трёхмерных приложений и игр, работающий под операционными системами Windows и OS X. Созданные с помощью Unity приложения работают под операционными системами Windows, OS X, Windows PhoneAndroidApple iOSLinux , а также на игровых приставках WiiPlayStation 3PlayStation 4Xbox 360Xbox One. Есть возможность создавать приложения для запуска в браузерах с помощью специального подключаемого модуля Unity (Unity Web Player), а также с помощью реализации технологии WebGL. Ранее была экспериментальная поддержка реализации проектов в рамках модуля Adobe Flash Player, но позже команда разработчиков Unity приняла сложное решение по отказу  от этого.
Приложения, созданные с помощью Unity, поддерживают DirectX и OpenGL. Активно движок используется как крупными разработчиками (Blizzard EA, QuartSoft, Ubisoft ), так и девелоперами Indie-игр (например, ремейкМор. Утопия (Pathologic)Kerbal Space ProgramSlender: The Eight PagesSlender: The ArrivalSurgeon Simulator 2013 и т. п.) в силу наличия бесплатной версии, удобного интерфейса и простоты работы с движком.

 

                            Возможности.

Редактор Unity имеет простой Drag&Drop интерфейс, который легко настраивать, состоящий из различных окон, благодаря чему можно производить отладку игры прямо в редакторе. Движок поддерживает три сценарных языка: C#JavaScript (модификация), Boo (диалект Python). Редактор поддерживает DirectX 11 и HDR. Расчёты физики производит физический движокPhysX от NVIDIA.

Проект в Unity делится на сцены (уровни) — отдельные файлы, содержащие свои игровые миры со своим набором объектов, сценариев, и настроек. Сцены могут содержать в себе как, собственно, объекты (модели), так и пустые игровые объекты — объекты, которые не имеют модели («пустышки»). Объекты, в свою очередь содержат наборы компонентов, с которыми и взаимодействуют скрипты. Также у объектов есть название (в Unity допускается наличие двух и более объектов с одинаковым названиями), может быть тег (метка) и слой, на котором он должен отображаться. Так, у любого объекта на сцене обязательно присутствует компонент Transform — он хранит в себе координаты местоположения, поворота, и размеров объекта по всем трём осям. У объектов с видимой геометрией также по умолчанию присутствует компонент Mesh Renderer, делающий модель объекта видимой.

К объектам можно применять коллизии (в Unity т. н. коллайдеры — collider). Существует несколько типов коллайдеров:

  • Character controller — вид физической модели, созданный специально под использование его для игровых персонажей;
  • Box collider (физическая модель образует куб, в который попадает вся модель объекта);
  • Sphere collider (физическая модель образует сферу, в которую попадает вся модель объекта);
  • Capsule collider (физическая модель образует капсулу, в которую попадает модель объекта. В отличие от предыдущего типа размеры можно менять и по одной, и по трём осям сразу);
  • Mesh collider (физическая модель полностью повторяет реальную геометрию объекта);
  • Wheel collider (физическая модель колеса);
  • Terrain collider — тип физической модели, созданный специально для использования на объекте типа Terrain — земля, генерируемая редактором Unity с возможностями скульптинга и окрашивания местности.

Также Unity поддерживает физику твёрдых тел и ткани, а также физику типа Ragdoll (тряпичная кукла). В редакторе имеется система наследования объектов; дочерние объекты будут повторять все изменения позиции, поворота и масштаба родительского объекта. Скрипты в редакторе прикрепляются к объектам в виде отдельных компонентов.

При импорте текстуры в Unity можно сгенерировать alpha-канал, mip-уровни, normal-map, light-map, карту отражений, однако непосредственно на модель текстуру прикрепить нельзя — будет создан материал, которому будет назначен шейдер, и затем материал прикрепится к модели. Редактор Unity поддерживает написание и редактирование шейдеров. Редактор Unity имеет компонент для создания анимации, но также анимацию можно создать предварительно в 3D-редакторе и импортировать вместе с моделью, а затем разбить на файлы.

Помимо пустого игрового объекта и моделей, на сцену можно добавлять ещё такие объекты типа GameObject:

  • Система частиц;
  • Камера;
  • GUI текст;
  • GUI текстура;
  • 3D текст;
  • Точечный свет;
  • Направленный свет;
  • Освещение территории;
  • Источник света, имитирующий солнце;
  • Стандартные примитивы;
  • Деревья;
  • Terrain (земля).

Unity 3D поддерживает систему Level Of Detail (сокр. LOD), суть которой заключается в том, что на дальнем расстоянии от игрока высокодетализированные модели заменяются на менее детализированные, и наоборот, а также систему Occlusion culling, суть которой в том, что у объектов, не попадающиих в поле зрения камеры не визуализируется геометрия и коллизия, что снижает нагрузку на центральный процессор и позволяет оптимизировать проект. При компиляции проекта создается исполняемый (.exe) файл игры (для Windows), а в отдельной папке — данные игры (включая все игровые уровни и динамически подключаемые библиотеки).

Движок поддерживает множество популярных форматов, таких как:

  • .3ds, .max, .obj, .fbx, .dae, .ma, .mb для трёхмерных моделей;
  • .mp3, .wmv, .ogg для звуковых файлов;
  • .bmp, .gif, .png, .tga, .psd, .tif, .dds для изображений;
  • .mov, .ovg для видеофайлов.

Модели, звуки, текстуры, материалы, скрипты можно запаковывать в формат .unityassets и передавать другим разработчикам, или выкладывать в свободный доступ. Этот же формат используется во внутреннем магазине Unity Asset Store, в котором разработчики могут бесплатно и за деньги выкладывать в общий доступ различные элементы, нужные при создании игр. Чтобы использовать Unity Asset Store, необходимо иметь аккаунт разработчика Unity. Unity имеет все нужные компоненты для создания мультиплеера. Также можно использовать подходящий пользователю способ контроля версий. К примеру, Tortoise SVN или Source Gear.

 

Просмотров: 1472 | Добавил: LAZER | Рейтинг: 0.0/0
Всего комментариев: 0
avatar