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

Выясняем вместе: что такое Unity Web Player, как работает программа, и каково ее предназначение.

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

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

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

Cодержание:

Определение

Под рассматриваемым понятием подразумевается специальный плеер для игр. Его название состоит из двух частей :

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

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

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

Если соединить их вместе, получится (дополнение), запускающий игры, написанные на движке Юнити. Следующий логичный вопрос заключается в том, зачем же он нужен.

Предназначение

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

Даже новичок в мире 3D-моделирования и программирования сможет справиться с этим движком и сделать свою какую-то простую игру.

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

К примеру, приложения будут запускаться на практически всех устройствах.

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

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

Где скачать

Наилучший и почти единственный вариант – официальный сайт . Никакие другие источники в данном случае недопустимы. Вот ссылка на основной ресурс данного движка.

Сам процесс скачивания достаточно простой.

К сожалению, ни для каких других операционных систем версий проигрывателя не существует, только Виндовс и Мак.

При этом что касается первого, то последняя версия доступна только для XP, 7, 8 и 10.

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

Еще один вариант скачивания заключается в том, чтобы нажать на кнопку «install now» в любой игре, требующей данного плеера.

Происходит скачивание достаточно просто – вы заходите на страницу на Юнити, пытаетесь ее запустить, но ничего не получается, так как нужного плагина нет.

Вместо игры появляется вышеупомянутая кнопка. Вы спокойно нажимаете на нее. Вот и все!

Как не подхватить вирус

При скачивании есть опасность подхватить , в том числе и секретных.

Дело в том, что нередко под видом данного плеера злоумышленники выкладывают какие-то непонятные файлы и выдают их за него.

Поэтому лучше при скачивании придерживаться нескольких рекомендаций :

  • Загружайте плагин только с официального сайта. Лучше даже не заходить в игру. Бывает такое, что злоумышленник выкладывает на свой сайт якобы игру, которая не запускается и всегда появляется такая кнопка, как на рисунке 4. Но она и не может запуститься, так как никакой игры там нет. Вместо нее есть . Так что лучше лишний раз зайти на .
  • Не скачивайте проигрыватель со сторонних ресурсов, особенно с форумов. Нередко пользователи, очень доброжелательные люди, любезно предоставляют ссылку на якобы последнюю версию плеера. Опять же, его там нет, а есть только вирус.
  • Регулярно проверяйте свой компьютер на вирусы.

И не бойтесь, если сразу после установки программа никак себя не проявит. Это нормально в данном случае!

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

    Ядро игры

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

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

    В продолжение темы:
    Linux

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

    Новые статьи
    /
    Популярные