Домой / Группы / Мощный игровой движок Unity: описание. Unity3d. Начало работы, практические советы. Рецензия

Мощный игровой движок Unity: описание. Unity3d. Начало работы, практические советы. Рецензия

Unity - это игровой движок, позволяющий создавать игры под большинство популярных платформ. С помощью данного движка разрабатываются игры, запускающиеся на персональных компьютерах (работающих под Windows, MacOS, Linux), на смартфонах и планшетах (iOS, Android, Windows Phone), на игровых консолях (PS, Xbox, Wii).

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

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

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

Во-вторых , ценовая политика и политика распространения движка очень приятная и гуманная: во фримиумной версии можно разрабатывать коммерческие игры и сразу под все платформы. А в Pro версия стоит всего 1500 $ и предоставляет дополнительные функции, в первую очередь, связанные с фишками-плюшкам и графикой.

В-третьих , интуитивно понятный интерфейс редактора и использование простых в освоении языков программирования: C# и JavaScript - без необходимости мансов с си и прочими языками, которые изучаются за двадцать один год.

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

А вот в чем его основная прелесть: простота разработки приложений для мобильных, с полным боекомплектом. На движке Unity разрабатывается просто огромное количество игр под мобильные платформы, в том числе - бестселлеры типа Temple Run или Dead Trigger.

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

via Станислав Герасименко, game developer

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

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

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

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

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

Сложно представить, что мог бы существовать условно бесплатный движок, на котором реально создать компьютерную игру. Однако, этот движок существует. Он трёхмерный, обладает нормальным IDE, встроенной физикой, аудио-движком и прописанными возможностями сетевого мультиплейера. Движок Unity поддерживает Windows, IOS, Android, операционные системы приставок Playstation, Xbox и Nintendo Wii.
Сложно представить, что Unity обладает возможностями, которые позволяют собрать блок команд в специальную версию для плагина, который встраивается в браузер. Таким образом, Вы сможете получить в окне браузера 3D картинку без занижения разрешения текстур и качества моделей.

Вообще, есть упоминания о технологиях, которые ставили своей целью работу с 3D в сети Интернет, в частности ActiveWords и VRML. Но все эти системы вытеснил Flash (в дополнении с Java и Silverlight). Прочие технологии существуют, но в данный момент, существенно угнетены технологией Flash.

Релиз третьей версии Unity на самом деле заставил обратить на этот движок внимание даже гигантов, разрабатывающих игры исключительно во Flash. Так что же всё-таки составляет суть и принципы движка Unity?
Unity – полноценный игровой движок, который направлен на то, что весь процесс разработки игры (за исключением скриптинга и подготовки игровых ресурсов) будет проводиться в отдельном редакторе.

Рассмотрим этот движок в сравнении с UnrealEngine3 .

Достоинства Unity:

  • IDE: сочетание редактора сцен (в комплексе общего редактора) с редактором игровых объектов и редакторов скриптов. Дополнительно прилагаются генераторы деревьев и террейнов.
  • Улучшенные возможности скриптинга, а именно в отличие от вышеуказанного движка, в Unity доступны три языка: JavaScript, C# и разновидность Python’s Boo.
  • Кроссплатформенность – как уже упоминалось выше, поддерживаются Windows, MacOS, Wii, iPhone, iPod, iPad, Android, PS3 и XBox 360, не все из которых, конечно, доступны в бесплатной лицензии. Ну и веб-плагин, конечно, забывать не стоит.
  • Современный уровень графики, способный конкурировать с иными движками. Unity, безусловно, проигрывает UnrealEngine по количеству реализованных возможностей. Однако Unity обладает такими возможностями, как deferred освещение, стандартный набор постпроцессинговых эффектов, SSAO, ускоренная проработка лайтмапов.
  • Достойным образом проработанный физический движок.
  • Масштабируемость и производительность. Большую часть простых процессов движок обрабатывает на превосходном уровне.
  • Запуск любого приложения на Unity в веб-плагине.
  • Невысокая цена за полную лицензионную версию для крупного веб-разработчика.

Недостатки Unity:

  • Закрытость кода. Невозможность получения исходных кодов движка даже по лицензии.
  • Невозможность дополнения физики движка сторонними возможностями. Вы не сможете добавить в движок стороннюю физику, либо SpeedTree.

Реальные минусы сложно определить с первого взгляда. Движок производителен, стабилен и лёгок в применении.

У большинства малочисленных команд разработчиков компьютерных игр основной проблемой часто становился именно движок. Достаточно сложно писать с нуля единственному программисту в команде. Нужен полноценный бесплатный движок, и нужен он сразу, программист начинает искать бесплатные решении (Ogre, Irrlicht). Эти движки не так уж и плохи (Torchlight написан на Ogre), но они сложны в освоении и требуют не одного программиста, а целой команды. Конечно, можно обратиться к наборам типа GameMaker, но серьёзную игру с его помощью собрать сложно.

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

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


Можно прямо в IDE путём нажатия кнопки Play протестировать текущую сцену.


Встроенный инспектор классов обрабатывает последние на предмет переменных и позволяет менять их «на лету», что значительно экономит время работы.


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


Разработчики проекта ААА-класса скорее всего напишут свой движок или купят что-то наподобие UnrealEngine3. Но если количество программистов невелико, то написание собственного движка может оказаться черезчур затратным. Скорость и сложность разработки браузерной казуальной игры на Unity значительно выше, чем на Flash, а графическое превосходство – очевидно.

Также на движке Unity вполне можно писать сайты, презентации, визуализировать научные проекты.

Стоит дать Unity шанс – этот движок подкупает неискушённого пользователя своим удобством, гибкостью, возможностями и скоростью разработки.

Приложения и игры в социальных сетях и на тематических сайтах часто требуют для запуска установить Unity Web Player. Но когда мы загружаем эту программу, то удивляемся, ведь ни в меню «Пуск», ни на рабочем столе, нет новых ярлыков. Многие пугаются, думая, что установили вирус, или бесполезное приложение. На самом деле, польза огромна. И то, что теперь у вас запускаются игры в браузере и есть главная задача этой программы.

Для чего нужна программа?

Чтобы понять, что это за программа и нужен ли Unity Web Player, давайте разберем название на составные блоки:

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

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

Важно! Эта технология не новая. Вы уже много раз сталкивались с подобными решениями, даже не подозревая об этом. Яркий пример – Adobe Flash Player . Но в отличие от Flash Player, Unity умеет запускать сложные трехмерные игры.

Как установить и включить?

Есть несколько способов установить и запустить софт:

Как мы видим на скриншоте, не все браузеры с поддержкой Unity Web Player. В списке не хватает Google Chrome. С 2015-го года в браузере отключена поддержка NPAPI-плагинов, необходимых для запуска Unity. Если приложения не запускаются, выход один: использовать браузер из списка поддерживаемых.

Удаление приложения

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

Unity 3D - это бесплатный, набирающий популярность мощный движок для создания и разработки игр и различных приложений. С его помощью вы можете создавать игры для различных платформ Windows, iOS, Blackberry, OSX, Wii, Android, Playstation 3, Xbox и Flash. Каждое созданное приложение в программе Unity 3D способно поддерживать OpenGL и DirectX.

Обзор игрового движка Unity 3D:

Обозреватель ресурсов и список игровых объектов (Project, Hierarchy)

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

Список игровых объектов или же иерархия – это некая структура из объектов. Тут можно назначить один объект дочерним у другого путем перетаскивания этого объекта в другой, а так же можно выбрать объект для редактирования его в инспекторе.

Инспектор (Inspector)

При выборе игрового объекта в обозревателе, списке объектов, или в сцене, в инспекторе появляются его характеристики, а так же список переменных в назначенном на него скрипте. Все применённые к игровому объекту компоненты так же отображаются в инспекторе. Главная особенность инспектора заключается в том, что все переменные кроме числовых и строковых назначаются из обозревателя ресурсов, или из списка игровых объектов путем перетаскивания нужного типа ресурса, или игрового объекта на строку с переменной в инспекторе. Еще в инспекторе можно изменять позицию и поворот игрового объекта в сцене, назначать теги и слои, активировать и деактивировать объект.

Верхняя панель

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

Редактор сцен

В редакторе сцен строятся игровые уровни. Уровни состоят из игровых объектов, поведение которых программируется на любом из трёх языков программирования - javascript, C# и Boo. Любой объект, будь то 3D модель, эффект частиц, префаб, или камера считается игровым объектом и отображается в списке игровых объектов. Чтобы назначить скрипт игровому объекту, который находится в сцене, достаточно перетащить его на этот объект, что очень удобно. Положение объектов в сцене легко меняется. Для этого нужно просто перетаскивать их по трём координатным осям в то место, куда вы хотите. Материалы объектам назначаются из обозревателя ресурсов, которые так же перетаскиваются на объект. В верхней части окна сцены можно изменить режим отображения содержимого сцены. Список режимов: textured, wireframe, tex – wire, render paths, и light map resolution. Перемещение по сцене осуществляется клавишами W, A, S, D с зажатой правой кнопкой мыши.

Консоль (console)

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

Общее меню

В меню File можно создать, открыть и сохранить сцену или проект, а так же скомпилировать игру. Меню Edit более насыщено, чем все остальные. Основные его пункты – это настройки управления, графики, физики, звука и еще много чего. Меню Game Object позволяет создавать различного типа игровые объекты и управлять ими. В меню Component можно добавлять игровому объекту компоненты, например скрипты, или источники звука. В меню Terrain можно создать и управлять ландшафтом. В меню Window можно управлять всеми окнами редактора. В меню Help находится справочник по скриптам, мануал и различного рода помощь.

Компиляция игры (build settings)

Компиляция игры выполняется довольно просто, из пункта меню File->Build settings. В настройках компиляции вы указываете, под какую платформу нужно строить проект, какие сцены будут компилироваться и общие настройки проекта. В общих настройках проекта можно сменить иконку готовой игры, её название, автора проекта и еще много чего.

Графика

Графика в Unity3D на достаточно высоком, современном уровне. Довольно качественные тени и шейдеры. Благодаря полностью настраиваемой графике, игры, созданные на Unity3D, запускаются даже на старых компьютерах. Однако разработчикам нужно будет попотеть над оптимизацией, так как большое количество высоко полигональных моделей и большой ландшафт, заселённый растительностью, сильно сказывается на производительности.