Unity - Игровые движки - Файлы для игроделов - Создание игр. Unity (игровой движок)

, Android , Apple iOS , Linux , а также на игровых приставках Wii , PlayStation 3 , PlayStation 4 , Xbox 360 , Xbox One и MotionParallax3D дисплеях (устройства для воспроизведения виртуальных голограмм), например, Nettlebox. Есть возможность создавать приложения для запуска в браузерах с помощью специального подключаемого модуля Unity (Unity Web Player) , а также с помощью реализации технологии WebGL. Ранее была экспериментальная поддержка реализации проектов в рамках модуля Adobe Flash Player , но позже команда разработчиков Unity приняла сложное решение по отказу от этого.

Приложения, созданные с помощью Unity, поддерживают DirectX и OpenGL . Активно движок используется как крупными разработчиками (Blizzard , , QuartSoft, Ubisoft ), так и разработчиками Indie-игр (например, ремейк Мор. Утопия (Pathologic) , Kerbal Space Program , Slender: The Eight Pages , Slender: The Arrival , Surgeon Simulator 2013 , Baeklyse Apps: Guess the actor и т. п.) в силу наличия бесплатной версии, удобного интерфейса и простоты работы с движком.

Энциклопедичный YouTube

  • 1 / 5

    Редактор Unity имеет простой Drag&Drop интерфейс, который легко настраивать, состоящий из различных окон, благодаря чему можно производить отладку игры прямо в редакторе. Движок поддерживает три сценарных языка: , JavaScript (модификация), Boo (диалект Python). Boo убран в 5-ой версии. Расчёты физики производит физический движок 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, .blend для трёхмерных моделей;
    • .mp3, .ogg, .aiff, .wav, .mod, .it, .sm3 для звуковых файлов;
    • .psd, .jpg, .png, .gif, .bmp, .tga, .tiff, .iff, .pict, .dds для изображений;
    • .mov, .avi, .asf, .mpg, .mpeg, .mp4 для видеофайлов.
    • .txt, .htm, .html, .xml, .bytes для текста

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

    Игры, использующие движок Unity

    Unity Asset Server

    Инструментарий для совместной разработки на базе Unity. Сущность разработки игр - это работа в команде. Сервер ресурсов Unity - это add-on , который добавляет контроль версий в функциональность Unity.

    Система контроля версий

    Сервер ресурсов Unity - это полнофункциональное решение для контроля версий для всех игровых скриптов и ресурсов. Как и все остальное в Unity, он прост в использовании.

    Оптимизация для больших проектов

    Много-гигабайтные проекты с тысячами много-мегабайтных файлов управляются с изяществом. Настройки импорта и все другие метаданные также хранятся точно также вместе с историей изменений их версий. Наблюдать за изменением ресурсов\версий можно прямо внутри Редактора Unity. Если файлы подвергаются изменениям, их статус немедленно обновляется. Переименование и перемещение ресурсов не создает каких-либо препятствий для непрерывного рабочего процесса.

    Сервер с открытым исходным кодом

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

    Mac OS X или Linux

    Сервер ресурсов доступен как для Mac OS X Installer, так и для Linux RPMs. Поддержка нескольких платформ позволяет гибко внедрить Сервер ресурсов Unity в существующую -инфраструктуру.

    История

    По состоянию на лето 2013 года количество зарегистрированных пользователей Unity 3D выросло до 2 миллионов пользователей . В основном это связано с тем, что indie-версия движка стала бесплатной.

    Сборки

    Помимо бесплатной, существуют четыре сборки - стандартная Unity , Unity iOS Pro (для разработки игр под iOS), Android Pro

    Развитие компьютерных технологий повлекло за собой создание различных приложений вспомогательного и развлекательного характера. В связи с этим на рынке программных продуктов появились платформы для создания приложений, одна из которых - игровой движок Unity, являющийся полноценным средством разработки приложений для различных платформ. Игры в нём могут быть выполнены в двухмерном или трёхмерном формате.

    Программа распространяется по платной и бесплатной лицензии. В первом случае пользователь получает полноценный инструмент со всеми доступными возможностями. В бесплатной лицензии разработка игр также возможна, однако функционал лишён некоторых особенностей. Помимо этого, в такой версии ограничено количество поддерживаемых платформ. Если будущий продукт предназначен для ПК, Android или веб-плеера, то проблем не возникнет. Работа с остальными платформами потребует приобретения платной лицензии. На сегодняшний день многие разработчики для собственных проектов выбирают Unity (игровой движок). Игры, созданные в нём, всегда радуют качеством интерфейса и высокой производительностью!

    Интерфейс

    Многие разработчики советуют использовать новичкам именно Unity. Его можно полноценно изучить всего за пару недель благодаря простому интерфейсу. Удобство в использовании никак не ухудшает функционал, и даже профессиональные разработчики реализовывают свои идеи с помощью этого движка.

    Рабочее пространство в нём разделено на несколько участков:

    • в Scene можно выбрать ракурс и рассмотреть сцену;
    • Hierarchy содержит все объекты сцены;
    • Inspector поможет изменить нужный объект;
    • Toolbar представляет собой набор инструментов;
    • Project содержит все ресурсы проекта.

    Возможности

    Разработка в Unity возможна на Javascript и C#. Для полноценной работы потребуется использовать оба языка. За физическую составляющую отвечает технология NVIDIA PhysX, показывающая превосходные результаты.

    Игровой движок Unity радует возможностями при работе с объектами. Их можно объединять, делать пустыми, наполнять компонентами, связанными со скриптом, а также присваивать любые имена и теги, улучшающие взаимодействие с кодом. Объекты можно соединять с различными коллайдерами, которые ускорят и упростят разработку.

    Анимация моделей чаще всего проводится в посторонних программах, но среди инструментов программы всё равно имеются достойные решения для реализации такой задачи.

    Материалы - неотъемлемая часть проекта, поэтому взаимодействие с ними также на высоте. Удобное использование текстур поможет обеспечить объекту любой внешний вид, а шейдеры сделают его в разы красивее.

    Процесс развития

    Игровой движок Unity был создан в далёком 2005 году, и тогда он не был особо популярным из-за малого количество возможностей. Однако разработчики часто выпускали обновления, делая свой продукт качественнее. Постоянное добавление новых платформ привлекало внимание пользователей. Постепенно расширялся функционал, и улучшалось удобство его использования.

    Новые эффекты выводили графику на современный уровень. Обновляющаяся физика делала игровой процесс живее и реалистичнее. Также постоянно совершенствовалась работа со скриптами, что особенно привлекало разработчиков. С появлением спонсоров Unity ускорился в развитии, и сегодня он занимает лидирующие позиции среди конкурентов.

    Особенности Unity 5

    Такие технологии, как Level of Detail и Occlusion Culling, вывели разработку игр на новый уровень, и эти нововведения появились в Unity 5. Игровой движок в совокупности с такими инструментами изменит принцип расчёта детализации. Теперь устройству понадобится обрабатывать только то, что видит игрок, и это улучшит производительность.

    Level Of Detail ухудшит детализацию дальних объектов на локации. Нагрузка на процессор заметно снизится, однако игрок не заметит никаких ухудшений графики.

    Преимущества

    Новички сразу оценят Unity (игровой движок). Обучение в нём максимально простое, но кроме этого, продукт может похвастаться огромным количеством других плюсов, и вот главные из них:

    • Удобный интерфейс, содержащий все необходимые элементы.
    • Огромное количество поддерживаемых платформ, что позволит создавать игры не только для компьютера, но и для смартфона, игровой консоли и ряда других устройств.
    • Широкие возможности работы со скриптами. Unity взаимодействует с двумя популярными языками программирования, что обеспечивает высокую скорость компиляции скриптов.
    • Ряд инструментов для создания качественной графики. Различные режимы освещения, шейдеры, эффекты и другие технологии обеспечат достойное визуальное оформление.
    • Превосходный физический движок.
    • Высокая производительность.
    • Бесплатная версия программы, позволяющая опробовать любому человеку её возможности.

    Недостатки

    Пользователи, не владеющие английским языком, могут столкнуться с проблемами при использовании Unity. Игровой движок на русском в настоящее время пока ещё недоступен. Русификаторы к данной платформе также отсутствуют.

    Кроме этого, Unity полностью закрыт, и получить исходные коды невозможно. Добавить стороннюю физику или что-то подобное не получится. Однако стоит заметить, что имеющихся скриптов вполне хватает, из-за чего называть такой недостаток серьёзным будет неправильно. Многие вовсе не сталкиваются с необходимостью получить исходный код.

    Минусы также могут проявиться при разработке больших игр или просто в некоторых мелких деталях. Но все недочёты постоянно исправляются, и среда стремительно улучшается.

    Сравнение с конкурирующими продуктами

    Конкурентов у программы немного, и среди них можно выделить UDK и CryENGIN. Все эти три представителя достойны внимания, но каждый из них имеет уникальные стороны. В жанре FPS-шутеров преимущество получает UDK из-за использования в нём уникального языка программирования. В некоторых случаях это улучшает работу со скриптами.

    CryENGINE больше рассчитан на платформы нового поколения, что обеспечит играм невероятную графику. Однако такая адаптация не позволяет ему быть универсальным. Для создания мобильных игр чаще используют Unity. Игровой движок позволяет разрабатывать достойные продукты под любые платформы. Все эти среды разработки имеют свои сильные стороны, и выбрать лучший экземпляр невозможно. Однако именно Unity стремительно развивается, и у него есть все шансы в будущем занять первое место среди конкурентов.

    Выводы

    Если планируется создание масштабного проекта, то лучше всего использовать собственную среду разработки. Для всех остальных случаев игровой движок Unity прекрасно подойдёт. Вряд ли он поможет с реализацией ААА - проекта, над которым работают десятки людей. Но вероятность того, что такая команда будет использовать общедоступную среду разработки, крайне мала.

    Unity был создан для проектов среднего и малого масштаба. Для одного или пары разработчиков он предоставит широкие возможности и поможет реализовать любую идею.

    Среди всех платформ сегодня крайне привлекательной является веб-среда, и покорить её можно без особых проблем. Unity покажет высокую скорость разработки и максимальное удобство. Полученный в итоге продукт действительно сможет удивить!

    Все преимущества представленной платформы выделяют ее на фоне остальных. И если вы заинтересовались разработкой игр, то данный экземпляр обязательно стоит опробовать. Широкие возможности, удобные инструменты, гибкая настройка рабочего пространства и все остальные особенности воплотят в жизнь любые идеи!

  • Жанровая направленность: любые 3D/2D игры, онлайновые игры, мобильные игры;
  • Платформа редактора: Windows или Mac OS X;
  • Платформа игр: iOS, Android, Windows Phone 8, BlackBerry 10, Tizen, Windows и Windows Store Apps, Mac, Linux/Steam OS, Web Player, WebGL, PlayStation 3, PlayStation 4 и Morpheus, PlayStation Vita, Xbox 360, Xbox One, Wii U, Android TV, Samsung SMART TV, Oculus Rift, Gear VR и др.
  • Лицензия: есть бесплатная версия для коммерческого использования, а также месячная подписка, полная лицензия, платная поддержка;
  • Языки программирования игр: C#, JavaScript, Boo;
  • Движок написан на ЯП: C++;
  • Открытый исходный код: не предоставляется, частично;
  • Мультиплеер: возможен, есть модули и шаблоны серверной части;
  • Физика: встроеные движки Box2D и NVIDIA PhysX 3.3;
  • Графическая API: DirectX и OpenGL;
  • Предыдущая версия: Unity3D 4
  • Достоинства: бесплатный для Indie-разработчиков, кросс-платформенный, прост в освоении.
  • Недостатки: рендер имеет нарекания, есть недостатки для разных платформ, типа отсутствия тех или иных возможностей и особенностей.
  • Разработчик движка: Unity Technologies.

    Unity 5 – это передовой игровой движок от компании Unity Technologies, позволяющий разрабатывать не только 3D-игры, но и 2D-игры. По мнению большинства инди-разработчиков игр на данный момент это лучшая платформа разработки игр.

    У этого движка имеются все необходимые инструменты для полноценной разработки игр AAA-класса под 21 популярную платформу: iOS, Android, Windows Phone 8, BlackBerry 10, Tizen, Windows и Windows Store Apps, Mac, Linux/Steam OS, Web Player, WebGL, PlayStation 3, PlayStation 4 и Morpheus, PlayStation Vita, Xbox 360, Xbox One, Wii U, Android TV, Samsung SMART TV, Oculus Rift, Gear VR и др. Делайте один проект и собираете его под что угодно одним кликом. На мобильные и настольные системы, на консоли, а также на веб-платформы. Используйте официальный набор Facebook SDK для Unity, чтобы легко интегрировать игры в социальную сеть, экспериментируйте с очками виртуальной реальности Oculus Rift и не только.

    Unity Technologies сотрудничает с производителями платформ и железа, типа Microsoft, Sony, Qualcomm, Intel, Samsung, Oculus VR, Nintendo и др. Благодаря этим связям поддержка платформ реализована в лучшем виде, так что ваш контент успешно работает на всех.

    Unity в 2014 и 2015 годах стал самым популярным игровым движком для мобильных устройств. Независимые отчеты показывают, что Unity далеко опережает прочие движки для создания мобильных игр. Почему же он так популярен? Причин много. Развертывание по щелчку мыши на Android, iOS, Windows Phone и BlackBerry. Масса оптимизаций, благодаря таким функциям, как Occlusion Culling и Asset Bundling. Сервисы мирового уровня по части монетизации и удержания игроков на мобильных устройствах. Специальные, легкие для использования 3D и 2D инструменты и рабочие процессы.

    Вы можете использовать данный движок для разработки игр любых жанров: стратегии, головоломки, экшен, песочницы и всё, что вам только угодно. Благодаря системе Realtime Global Illumination на базе Enlighten и физическому шейдеру Unity еще никогда не было лучшего времени для создания красивых, притягательных и занимательных игр для настольных ПК с помощью Unity.

    Получите бесплатный доступ к опциям сборки для веб-публикации в Unity 5. После установки, пользующийся громадной популярностью, плагин Unity Web Player обновляется автоматически. Используйте его для развертывания в Internet Explorer, Safari, Mozilla Firefox и прочих браузерах. В зависимости от случая, новая высоко оптимизированная опция сборки Unity под WebGL может обеспечивать производительность на уровне исполнения собственного кода. Она уже была использована в ряде успешных коммерческих проектов.

    Теперь независимым разработчикам намного легче, чем когда-либо ранее, публиковать свои игры на консольных платформах. Но процесс одобрения зависит от владельца платформы, обращайтесь к ним напрямую для получения дополнительной информации.

    Это полная экосистема для всех, кто нацелен на создание бизнеса в игровой индустрии с взаимодействием со своей аудиторией. Вы получаете высококлассные инструменты, понятные и настраиваемые под пользователя, готовые к практическому использованию. Они позволяют перейти к разработке игр без необходимости отвлекаться на попутные сложности. Вы можете подключить собственные инструменты в Unity для полного комфорта и продуктивности. Эффективно оптимизируйте производительность с помощью кросс-платформенных инструментов.

    Экономьте время с магазином Asset Store прямо из редактора Unity или из веб-браузера. Вы наверняка найдете что-либо, подходящее именно вам, из более чем 10 тыс. уже готовых бесплатных или платных ресурсов и инструментов разработки. Выбирайте из огромного ассортимента расширений редактора, плагинов, окружения, моделей и мн.др.

    Движок Unity любим во всей игровой отрасли за глубину и качество оптимизации, а также за скорость и эффективность рабочих процессов – это позволяет пользователям Unity быстро создавать высококачественный контент. Прилагается всё необходимое: физический шейдинг, подробное профилирование памяти, интуитивные инструменты пользовательского интерфейса, мощная технология анимации, Blend Shapes для анимации лица и т.д.

    Потрясающая визуальная точность, мощь рендеринга и окружающая среда позволят сделать игру такой, какой вы ее и задумывали. От светлого дня до яркого свечения неоновых вывесок ночью; от расходящихся лучей света до тускло освещенных ночных улиц и темных туннелей – создавайте запоминающуюся динамичную игру, увлекающую игроков на любой платформе.

    Нажмите кнопку Play и сразу же окажитесь в своей игре: играйте и смотрите, как все будет выглядеть в финальной сборке на целевой платформе. Приостанавливайте игру, меняйте параметры, ресурсы, скрипты и прочие свойства и мгновенно наблюдайте результат. Для облегчения отладки можно использовать покадровый просмотр.

    Поддерживаются такие форматы изображений: psd, jpg, png, gif, bmp, tga, tiff, iff, pict, dds. Такие форматы аудио: mp3, ogg, aiff, wav, mod, it, sm3. Форматы видео: mov, avi, asf, mpg, mpeg, mp4. Текстовые форматы: txt, htm, html, xml, bytes. Все популярные форматы 3D-моделей.

    В качестве физических движков подключены Box2D с исчерпывающим набором эффекторов, сочленений и коллайдеров, а также NVIDIA PhysX 3 для 3D-сцен с проработанными функциями ИИ с передовой автоматизированной системой поиска пути и навигационными сетками. Для скриптования сцен используются ЯПы C#, JavaScript, Boo. Для отслеживания версий имеется полная поддержка интеграции с Perforce и Plastic SCM.

    Unity также приносит растущий спектр интегрированных сервисов для вовлечения, удержания и монетизации игроков. В ходе цикла Unity 5 всё больше и больше таких сервисов будет интегрировано в движок, чтобы делать создание игр и управление ими как можно более гладким, простым и доходным делом.

    Увеличивайте свою аудиторию и доходы с Unity Ads. Повышайте уровень удержания игроков и привлекайте новых игроков посредством Unity Everyplay. Поймите, как стимулировать игроков, чтобы они все время возвращались к игре с Unity Analytics. Легко получайте свои сборки через Unity Cloud Build.

    Всего представлено 2 типа сборки Unity 5: бесплатная Personal Edition и коммерческая Professional Edition за $75 в месяц или за $1500 на всё время. Personal Edition имеет ряд дополнительных фич и инструментов. Для экспорта под некоторые платформы требуется покупка соответствующих модулей.

    Есть скидка 10% при покупке от 10 лицензий. Предлагаются лицензии Unity Professional Edition со скидкой школам, институтам, учащимся и преподавателям. Движок Unity рассчитан на принятие широким кругом пользователей, и Unity предоставляет массу учебных материалов и курсов, которые могут использовать учителя.

    На официальном сайте движка имеются бесплатные обучающие материалы, проекты, онлайн-обучение и документация. У движка очень большое сообщество пользователей, поэтому вы можете черпать ответы, советы и вдохновение на официальных и неофициальных форумах, типа сайт.

    Есть разные уровни поддержки для разных уровней пользователей Unity: от бесплатной поддержки до поддержки уровня Premium и специальной поддержки для корпоративных пользователей.

    Системные требования: OS: Windows XP SP2+, 7 SP1+, 8; Mac OS X 10.6+. Видеокарта с поддержкой DX9 (shader model 2.0).

    Официальный сайт: http://unity3d.com

  • Обсудить на нашем форуме...


    Unity is a flexible and powerful development platform for creating multiplatform 3D and 2D games and interactive experiences. It"s a complete ecosystem for anyone who aims to build a business on creating high-end content and connecting to their most loyal and enthusiastic players and customers.

    Experience polished, end-to-end multiplatform development. Confidently target the hottest platforms including newcomers such as WebGL and Oculus Rift. Efficiently optimize performance with cross-platform tools and deploy with near one-click ease.

    Get the best of both worlds with Unity: high-end tools in a ready-made solution that’s also intuitive to use and deeply customizable. Move into full production at an astonishing pace. Add your own tools to Unity for ultimate comfort and productivity. Dive into scripting with super fast compilation times.

    Shop in the Asset Store directly from the Unity Editor or your web browser. With thousands of ready-made free or for purchase assets and production tools, you are sure to find something tailored to your specific needs. Select from a vast array of Editor extensions, plug-ins, environments and models and much more.

  • Итак, сегодня я хотел бы рассказать вам о Unity (тем, кто ещё не знаком с ним, по крайней мере). Безусловно, на Хабре есть люди, которые знают, что это такое, но поиск выдаёт катастрофически малое количество топиков с упоминанием сабжа - два из них просто сообщают о новых версиях, один кратко презентует и ещё один посвящен всё-таки его использованию. «Непростительно, надо это исправить!», - подумал я, и решил написать краткий презентейшн с целью популяризации технологии. Если вы уже в теме - дальше можете не читать.

    Честно говоря, когда я читал на википедии о бесплатном (по крайней мере, с вполне нормальной по функционалу фришной лицензией) 3d движке с нормальным IDE, встроенной нормальной физикой, аудио-движком и прямой реализацией сетевого мультиплеера на котором можно делать приложения для всего, кроме, пожалуй, nix"ов (поддерживаются и нормально работают Windows, MacOS, Wii, iPhone, iPod, iPad, Android, PS3, XBox 360), я уже чуял подвох.

    Когда я узнал, что любое приложение под Unity можно собрать в специальную версию для встраиваемого в браузер плагина, и увидеть в окне Фаерфокса честное, полноценное тридэ, практически не занижая при этом качество моделей и разрешение текстур - я был почти уверен, что это, как всегда в подобных случаях, полная чушь.

    А когда я поставил это чудо себе и убедился в правдивости всего вышесказанного - я почти что влюбился.

    Много раз на свет появлялись технологии, которые ставили перед собой цель перенести в интернет честное тридэ. Вспомним провальный VRML, чуть менее провальный ActiveWorlds… Сегодня о них почти никто не помнит. Скоро весь мир заполонит HTML5, выйдет новый флэш с 3d-ускорением … Но пока этого не случилось, миром мультимедийного контента в вебе правит текущая версия Flash, вместе с Java и Silverlight"ом. Пожалуй, даже только Flash. Разработчики со скрипом пользуются другими технологиями, оно и понятно - заставить пользователя поставить ещё один сторонний плагин лишь для того, чтобы поиграть в одну игру/посмотреть один сайт сложно.

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

    Посмотреть можно много где, но для примера приведу несколько ссылок. По ссылкам вам предложат установить плагин - он весит килобайты и работает без перезагрузки браузера (к сожалению, размер демок вычислить не удалось, поэтому осторожно - размеры могут быть в районе 30-50 метров):

    • Bootcamp - демо к третьей версии, шутер от третьего лица, можно сказать лицо всего движка на данный момент. Также внизу там можно понажимать на другие демки - большинство относится к старым версиям, но все равно можно посмотреть
    • Раздел Юнити на Kongregate.com - тут игры уже адаптированные для веба, весят не больше обычных флешек
    • Список игр на офсайте - тоже можно посмотреть
    Давайте же попытаемся разобраться, что же это за зверь такой, и действительно ли он так хорош, как его малюют на офсайте.

    Pro et Contra

    Для начала, определимся с терминами. Unity - это полноценный игровой движок, рассчитанный на то, что весь процесс девелопмента (ну, кроме подготовки ресурсов и скриптинга) будет происходить в поставляемом в комплекте Редакторе Всего. Обычно такая постановка вопроса означает нежизнеспособного монстра, обросшего тормознутым GUI по самое не балуйся, рассчитанного на то, чтобы дать подросткам из разряда «геймдев-ваннаби» почувствовать себя причастными к геймдеву. Но не стоит пока закрывать вкладку с этим топиком - Юнити не из этого теста. Итак, чем же хорош Юнити? Посмотрим, а заодно сравним с UDK - SDK к UnrealEngine 3, который Epic Games не так давно сделали бесплатным для независимых разработчиков.

    Хорош Юнити:

    • Своим IDE - он сочетает редактор сцен (он же редактор всего далееперечисленного), редактор игровых объектов, и даже простенький редактор скриптов вложили. Кроме того, в комплекте идет генератор деревьев а-ля SpeedTree (неплохой) и террейнов (стандартный, удобный);
    • Возможностями для скриптинга - в отличие от UDK, в котором писать можно только на встроенном самописном языке, в Юнити доступны аж три языка: JavaScript, C#, и диалект питона под названием Boo. Мной лично не проверялось, но в русском коммьюнити проскакивали фразы о том, что скорость исполнения скриптов в UDK в разы меньше (оно и понятно - в Юнити ведь скрипты компилятся в нативный код);
    • Кроссплатформенность - как уже упоминалось выше, поддерживаются Windows, MacOS, Wii, iPhone, iPod, iPad, Android, PS3 и XBox 360. Ну и веб-плагин, конечно, забывать не стоит. Не все из них доступны по фришной лицензии (вообще-то, доступны билды только под Вин, Мак и веб), но это вполне понятно. Под Вин и Мак все компилится вообще без всяких изменений в коде, под веб прийдется, конечно, порезать ресурсы - качать 400 метров чтобы открыть один уровень в браузере не очень-то удобно. Работу веб-версии опишу ниже;
    • Вполне современный уровень графики - тому же UDK по количеству реализованных фич Юнити, конечно же, проигрывает - все-таки UnrealEngine можно назвать одним из флагманов по этой части, и переплюнуть его сложно. Но в Юнити есть deferred освещение, встроенный редактор шейдеров, стандартный набор постпроцессинговых эффектов (полный список , можно и свои писать естессно), модный нынче SSAO - короче говоря, весь набор инструментов для создания AAA-проекта есть. Лайтмапы кстати делает более чем достойно и шустро;
    • Физдвижок - есть все, что должен уметь физдвижок. Сделать свой Half-Life 2 с ну-вы-сами-знаете-с-чем? Легко!
    • Производительность и масштабируемость - без колебаний ставим «отлично». Потому что с большей частью рутины в этом отношении движок справляется сам, и справляется замечательно;
    • Запуск любого приложения в веб-плагине - мы об этом уже говорили, но не грех отметить и еще раз.
    • Невысокая цена за лицензию - всего 1500$. И бесплатная версия, без некоторых плюшек;
    Ну вот как-то так. Теперь обсудим, чем же он плох:
    • Он закрыт. Т.е. исходных кодов вам не дадут даже по лицензии. С UDK, если я все правильно понял, та же картина - исходники лицензируются отдельно, за бОльшие деньги. Впрочем, в Юнити скриптами можно совершенно то же самое, что мы делали бы с исходниками - замоддить можно практически всё… Но всё-таки исходники всяко лучше, поэтому это минус - по крайней мере для тех, кто хотел бы прикрутить стороннюю физику или тот же SpeedTree;
    • PROFIT.
    Честно говоря, реальных минусов я пока что не вижу. Движок стабилен, производителен, легок в использовании - а что ещё надо? Недостатки наверняка есть. Так, я часто натыкался на репорты о странно работающем аддитивном блендинге анимаций. Некоторые жалуются на отсутствие назначения множественных материалов террейнам - не знаю, не пробовал. Но так ли это существенно в свете вышеуказанных плюсов? По мне так нет.

    Дело в том, что у большинства небольших команд основной проблемой всегда становился движок (ну и отсутствие идеи и хорошего арта конечно же, но мы сейчас не об этом). Писать с нуля - единственному программисту в команде сложно это сделать, учитывая что движок это не только 3d-рендер, это ещё и куча инструментов пайплайна - импортеры, редакторы, вьюверы… Непосильная задача, если только не придерживаться минимализма. Минимализм это не плохо, столько замечательных игр сделано во всеми нами любимом стиле 8-bit, что не счесть… Но большинство из них - однодневки (Minecraft не в счет, да. И он кстати тоже написан не с нуля, а на LWJGL). Когда дело доходит до игры, в которую будут играть не один день, нужен полноценный движок, и тогда мы начинаем искать бесплатные решения. Ogre, Irrlicht и немногие им подобные - хороши конечно, но а) морально стары и б) на их изучение и допиливание до работоспособного состояния требуют много времени и большую теоретическую базу за спиной. Конечно и на них можно написать крутой продаваемый проект (Torchlight на Ogre тому примером), но тут все-таки нужен не один программист. Есть и наборы а-ля «игры без знания языков программирования», типа GameMaker, но это игрушки, право слово.

    В случае с Unity же мы имеем уже готовый пайплайн, готовый рендерер, готовую физ., аудио и сетевую библиотеки, кодить можно на знакомом языке - фактически, со стороны кодинга нам нужно только знать основы, допустим, Яваскрипта, и недельку покопаться в официальной справке, чтобы склепать FPS. Минус одна преграда на пути к релизу. Если кто не верит в качество написанного чужими руками кода, который нельзя поправить - зацените, все совсем не так плохо.

    Как это выглядит

    Картинки кликабельны.

    Собственно IDE:

    Прямо в IDE можно нажать кнопку «Play», и протестить текущую сцену реалтайм:

    Встроенный инспектор классов прощупывает, простите за тавтологию, классы на предмет переменных и позволяет менять переменные в скриптах на лету, не глядя в код. Причем не только int"ы, но и материалы, текстуры, модели… Очень экономит время. В документации к API указывается хорошим тоном не писать, допустим, путь к текстуре напрямую в скрипте, а просто делать свойством класса пустое свойство соответстующего типа, и выбирать в инспекторе нужное:

    Инспекторы префабов (справа) и энтитей (слева). Грубо говоря, справа - заготовки объектов, слева - те объекты, что есть в текущей сцене. Удобно, что во время прогона уровня в редакторе (кнопка «play»), можно поставить прогон на паузу и посмотреть текущее состояние объектов - гораздо реже приходится читать логи или выводить на HUD дебажную строку, чтобы посмотреть поведение одной маленькой переменной:

    А напоследок я скажу...

    Подытоживая весь словесный мусор до этого момента, если вы делаете ААА-проект, вы, скорее всего, напишите свой движок. Или у вас уже есть движок от прошлого проекта. Или вы купите что-то уровня пресловутого UnrealEngine 3 с исходниками. Но это если вы делаете ААА-проект с десятком людей только на кодинге.

    Если же у вас всего десять человек в студии (а тем паче, два), писать свой движок, как правило, слишком затратно. Одно искушение оказаться на волне полноценных браузерных 3D-игр (java-обертка для Ogre не в счет. Ну правда же) стоит того, чтобы попробовать Unity на практике. Скорость и сложность разработки обычной браузерной казуалки на ней не выше, чем на Flash, а графическое превосходство - налицо. Да и wow-эффект никто пока что не отменял.

    В конце концов, на Unity можно делать сайты (спорно, но можно), презентации, визуализировать научные проекты… Все это можно было написать и вручную, на чистом OpenGL, но сравнив время и качество реализации, я все-таки склоняюсь к варианту на Unity. Flash пока что тоже в расчёт не берём - подождем релиза аппаратного 3d-ускорения.

    Такие слова вызовут бурю эмоций у приверженцев других движков. «Да это все есть и в %enginename%», «на %enginename% сделана %gamename% и %gamename%, и все это без мерзкого всепоглощающего drag"n"drop"а»…

    Я посоветую вам просто дать Unity шанс - своим удобством, возможностями, гибкостью и скоростью разработки она подкупает (по крайней мере, меня подкупила). И кроме того… Эй, это же полноценное тридэ в браузере! :)

    Достаточно популярна. Если ранее компьютерные игры были лишь развлечением для узкого круга любителей, то сейчас данная область выходит на абсолютно новый уровень. Все больше людей увлекаются компьютерными играми, постоянно выходят проекты, которые подходят для определенных возрастов и целевых групп (например, семейные игры).

    Естественно, за этим кто-то стоит - в большинстве случаев это целая компания, состоящая из нескольких отделений, каждое из которых занимается своей собственной деятельностью. Совместными усилиями они творят наиболее выдающиеся и привлекательные компьютерные игры современности. Однако стоит отметить, что в последнее время появилось большое количество инди-игр - проектов от независимых разработчиков. Это может быть и один человек, и небольшая группа единомышленников, но самое главное - у них нет огромного бюджета, сотен рабочих рук с высшим узкоспециализированным образованием. И сейчас каждый может написать свою собственную игру, ведь существуют как специальные рабочие среды, так и готовые ядра, например игровой движок Unity. В данной статье вы узнаете, что он собой представляет и зачем он нужен.

    Ядро игры

    Начать стоит не с того, что представляет собой конкретно игровой движок Unity, а с того, чем является движок в принципе. Представьте себе написание компьютерной игры - вам необходимо с нуля прописать абсолютно весь код, абсолютно все мельчайшие движения персонажей, перемещения противников, взаимодействия с окружающей средой и еще тысячи различных деталей. Невероятно сложно, не так ли? Значительно облегчить вам процесс создания может как раз движок.

    Это ядро проекта, которое содержит все базовые скрипты. То есть вместо того чтобы создавать игру с нуля, вы можете взять уже готовое ядро и нарастить на него сколько угодно слоев своего контента. Не стоит опасаться того, что это нечто нелегальное - вы не крадете ядро, а просто используете его, как делают миллионы других. Использование игровых движков, созданных другими - это очень распространенная техника, только самые крупные компании имеют средства и возможности, чтобы создавать свой собственный игровой движок больших масштабов. Если же у вас на это нет бюджета - лучше использовать игровой движок Unity. Но почему именно он?

    Почему Unity?

    Существует огромное количество разнообразных движков, которые доступны в сети либо частично бесплатно, либо полностью платно. Они позволят вам создавать проекты как в 2D, так и в 3D, откроют вам доступ к различным возможностям и так далее. Но почему же среди них вам стоит выбрать именно игровой движок Unity, а не какой-либо другой?

    На самом деле никто не принуждает вас делать подобный выбор - например, имеется очень хорошее ядро UDK, которое также многие используют для создания игр в 3D. Если вас не интересует трехмерное изображение, вы вполне можете сотворить двухмерный проект с соответствующим движком. Но Unity - это самый популярный и качественный трехмерный движок из всех имеющихся сегодня, поэтому вам определенно стоит задуматься о том, чтобы использовать именно его. Игровой движок Unity 3D имеет ряд серьезных преимуществ над другими, о которых речь пойдет далее.

    Преимущества Unity

    Unity - новый движок для создания 3D игр. Многие задаются вопросом о том, почему нужно выбрать именно его. Как уже было сказано ранее, вас никто не заставляет останавливать свой выбор именно на нем. Однако сейчас вы узнаете, чем же он так выделяется на фоне остальных.

    Во-первых, это среда разработки - вам предоставляется крайне удобная и функциональная IDE, которая содержит в себе одновременно и редактор сцен, и редактор объектов, и даже небольшой редактор скриптов. Касательно последнего - этот плюс особенно заметен на фоне остальных, так как в большинстве движков уже имеется собственный скриптовый язык, которым вам в любом случае приходится пользоваться. В случае с Unity вы можете воспользоваться как местным языком, так и любым другим.

    Отдельно стоит упомянуть уровень графики, которую можно создать в игре - он довольно высок в сравнении с большинством других движков. Ну и, конечно же, стоит отметить высочайший уровень физики - вы сможете создать проект не хуже любого современного шедевра, естественно, при должном умении.

    В завершение стоит сказать про стоимость - именно она становится для многих начинающих разработчиков. В данном случае она не слишком высока - всего полторы тысячи долларов. При желании вы можете воспользоваться бесплатной версией - она полностью функциональна, но не имеет определенного количества полезных функций. Также готовый проект постоянно будет отображать эмблему Unity в процессе игры. Теперь вы понимаете, почему Unity 3D - популярный игровой движок. Но неужели у него нет минусов? Сейчас и об этом поговорим.

    Минусы Unity

    Многие пытались найти недостатки у этого движка, но с трудом жалоб накопилось лишь на одну - закрытость исходного кода. В каком-то смысле это действительно минусы - вы можете пользоваться только тем ядром, которое вам предлагает разработчик, не можете в него вносить никакие изменения, даже если вы знаете, как это сделать. И даже с учетом того, что вы заплатили полторы тысячи долларов - лицензия все равно не дает вам доступа в само ядро. Но если смотреть с другой стороны, то практически ни один современный движок не дает вам доступ к коду ядра, так что данный минус можно считать серьезным недостатком с большой натяжкой. А других недочетов у этого прекрасного движка найти не удается.

    Использование Unity

    Про использование данного движка уже было сказано ранее - IDE для него просто прекрасная. Редко можно встретить такую функциональную среду разработки, которая не будет перегружена лишними деталями, не будет абсолютно голой и неудобной. В Unity все сделано просто прекрасно - вы сразу же можете получить доступ и к редактору сцен игры, и к игровым объектам, и даже к скриптам, к ним применяемым. Вы можете прямо в IDE просмотреть в реальном времени отрывок того, над чем вы работали. В этом у Unity попросту нет конкурентов - данный движок великолепен.

    Русский Unity

    Если вы не знаете английского языка, можете не волноваться, вы все равно сможете воспользоваться Unity. Игровой движок на русском существует и активно поддерживается, так что вы сможете без труда творить игровые шедевры в переводной версии. Более того, существует огромное русскоязычное интернет-сообщество, посвященное данному движку - там вы сможете узнать последние новости, почитать мнение опытных пользователей и задать интересующие вас вопросы. Unity3D по-русски - это вполне возможно.

    Добавление скриптов

    Выше уже было сказано, что изменять код ядра у вас не получится. Но при этом вы можете добавлять свои собственные скрипты, а также загружать те, которые были созданы другими пользователями.

КАТЕГОРИИ

ПОПУЛЯРНЫЕ СТАТЬИ

© 2024 «kingad.ru» — УЗИ исследование органов человека