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

В данной статье речь пойдёт о кроссплатформенном движке 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. В данной статье вы узнаете, что он собой представляет и зачем он нужен.

Ядро игры

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

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

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

Большинство моих знакомых, когда узнают, чем я занимаюсь, спрашивают: «На чём ты создаешь игры?». После ответа: «на Unity», на их лицах возникает множество вопросов, таких как:

Почему на Unity?
Почему не на Cryengine?

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

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

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

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


Почему же я выбрал для себя данную программу?

Всё дело в том, что когда на дворе был далёкий 2013 год, из игровых движков, которые могли не плохо отрисовывать графику в трёх мерном изображении, выбирать не приходилось. О таких движках, как Cryengine и Unreal Engine, вообще не приходилось слышать, и выбор несомненно пал на Unity3D версии 4.3. С тех пор я плотно засел за создание игр, и создаю их по сегодняшний день. За это время выпустил пару проектов, которые неплохо вошли в массы.

Что же касается самого Unity, за это время он сильно развился, и я считаю, что обошёл своих конкурентов на несколько шагов вперёд. Кроме этого, программа никогда не подводила меня, и я получал от неё всё, что хотел. Захотел сделать стратегию в реальном времени — сделал; шутер — пожалуйста; аркаду — вообще легко. Несмотря на то, что Unity является кроссплатформенным убийцей, на нём можно сделать всё что угодно. Главное, чтобы были идеи, а с реализацией вам поможет наш сайт «Твои руки».

Также стоит отметить, что Unity3D имеет несколько тарифных планов. Самый распространенный, конечно же, бесплатный «personal» . Его можно использовать до того момента, как ваша компания или, иначе говоря, все ваши игры, не начнут зарабатывать по 100 000$ в год. Для инди-разработчика, я считаю, просто великолепное предложение, да и платная версия стоит недорого. Plus-версия стоит 35$ в месяц , а Pro-версия стоит 125$ в месяц .

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

Обзор новой версии Unity3D