Unity - Игровые движки - Файлы для игроделов - Создание игр. Unity Web Player: что это за программа и зачем нужна — разбираемся вместе

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

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




Top