Программы

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

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

Доброго времени суток. Данная статья посвящена мультиплатформенному инструменту Unity3d. В статье рассмотрены оптимальные, по моему мнению, способы работы с движком, даны практические советы по эксплуатации и дополнительные (общие) сведения; рассмотрены перспективы развития Unity3d.

  • Раздел 1. Введение
    • Что такое Unity ?
    • Возможности Unity3d
    • Проблема дополнительных знаний
  • Раздел 2. Начало работы
    • Вспомогательная литература
      • Сцены
      • Отладка
    • Структурирование
  • Раздел 3. Практические советы
    • Написание скриптов
    • Видеоуроки
    • Устранение ошибок
  • Раздел 4. Завершение работы
    • Выводы
    • Публикация игры
    • *Оптимизация
    • Теория графики
    • Полезные ссылки
    • Мнение
      • Что хочется увидеть в будущем?
  • Источники информации

Раздел 1. Введение

Что такое Unity3d ?
Unity3d является современным кросс-платформенным движком для создания игр и приложений, разработанный Unity Technologies. С помощью данного движка можно разрабатывать не только приложения для компьютеров, но и для мобильных устройств (например, на базе Android), игровых приставок и других девайсов.
Поговорим немного о характеристиках движка. Во-первых, стоит отметить то, что в среду разработки Unity интегрирован игровой движок, иными словами, вы можете протестировать свою игру не выходя из редактора. Во-вторых, Unity поддерживает импорт огромного количества различных форматов, что позволяет разработчику игры конструировать сами модели в более удобном приложении, а Unity использовать по прямому назначению - разработки продукта. В-третьих, написание сценариев (скриптов) осуществляется на наиболее популярных языках программирования - C# и JavaScript .
Таким образом, Unity3d является актуальной платформой, с помощью которой вы можете создавать свои собственные приложения и экспортировать их на различные устройства, будь то мобильный телефон или приставка Nintendo Wii.
Для того чтобы создать свою игру, вам, как минимум, нужно владеть одним из доступных (на Unity) языков программирования: C#, JavaScript или Boo.

Будет прекрасно, если вы владеете, например, 3Ds max"ом, это вам сильно поможет при создании игры. Что касается меня, то мне пришлось освоить 3Ds max на базовом уровне, ибо нигде не мог найти нужную мне модель дома . В любом случае вам понадобится установленный 3Ds max на ваш компьютер, если вы собираетесь импортировать готовые 3D модели. Ибо, в большинстве своем, необходимые модели имеют формат проекта, т.е. необходимо будет зарендерить их в соответствующий для Unity3d формат, например, в *.3DS, и только после этого делать импорт в Unity, в противном случае последний выдаст ошибку.

Раздел 2. Начало работы

Вспомогательная литература
Обратимся к литературе, которая поможет нам изучить Unity3d, а именно, к Unity 3.x Game Development Essentials . Книгу в свободном доступе можно найти в гугле, если вы предпочитаете бесплатный контент.
О чем книга? Пожалуй, обо всем, что только нужно для создания полноценной игры. Настоятельно рекомендую приобрести данную книгу и изучить самостоятельно.
Пару слов об игре и содержании книги. Ваш игрок оказывается на необитаемом острове, ему необходимо спастись, для этого он выполняет различные задания и, будем надеяться, спасается. Игру можно пройти за пару минут, однако создание игры занимает далеко не пару минут, даже не пару часов, пожалуй.
Книга содержит очень подробное руководство по созданию игры «с нуля». В ней описано многое, что вам, скорее всего, понадобится для создания вашей игры.

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

На это стоит обратить внимание
NB!
Приведу несколько советов при создании игры в Unity3d.

º Коллайдеры
Что это такое - коллайдер? Коллайдер - это область пространства, при взаимодействии с которой выполняются те или иные скрипты, действия. Чтобы лучше понять что это такое, представьте, что вы подходите к автоматически открывающимся дверям универмага. За пару метров от дверей, срабатывает датчик и двери распахиваются перед вами, но если вы пройдете за три метра, то ничего не произойдет. Как раз та зона, в которой действует датчик движения, отвечающий за открывание дверей, и есть коллайдер. Вы входите в зону - двери открываются, выходите из зоны - и датчик уже никак не будет реагировать на ваше присутствие. Точно так же и в игре.
Так вот, о коллайдерах. Предположим, мы импортировали в наш проект автомобиль и хотим сгенерировать для него коллайдер. Можно сгенерировать автоматически коллайдер для всего автомобиля, но тогда для каждой детали автомобиля - фары, уплотнителя, зеркала, покрышки - будет сгенерирован свой коллайдер.

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

Обратите внимание, что это не тонкость. Стараться сэкономить память нужно везде. У вас есть какое-то место в игре, куда игрок не сможет попасть? Не генерируйте никакие коллайдеры для этого места вообще. У вас есть дверь, которую вы импортировали в проект из 3Ds max"а? Небось, она очень хорошо прорисована (сам сталкивался с тем, что у двери даже шурупы были прорисованы отдельным объектом), значит, создайте один box-коллайдер для всей двери - вы сэкономите много памяти! Поверьте, что вам эта сэкономленная память еще очень и очень пригодится.

º Оптимальная работа со сценами
Поговорим об оптимизации сцен, о самих же сценах будет речь вестись далее.
Представьте следующую ситуацию: у нас есть сцена «home» - когда игрок находится в здании и сцена «street» - когда игрок выходит из здания на улицу. Естественно, из второй сцены мы можем видеть дом, т.е. часть первой сцены, и наоборот (если, конечно, у здания есть окна). В таком случае оптимально следующее построение сцен. В первой сцене все, что касается улицы (т.е. того места, куда мы не можем попасть без перехода на другую сцену) надо максимально упростить. Иными словами, нам нужно оставить только внешний вид вида из окна, а всю начинку - распотрошить. Т.е. все коллайдеры удалить, разрешение и т.п. свести к минимуму. Действительно, зачем процессору напрягаться с обработкой той местности, которую мы не можем посетить? Аналогичным образом поступаем со второй сценой («street»). В данном случае мы можем вообще все удалить из дома и оставить только его «коробку».
Вы хотите создать minimap? Пожалуйста, только избавьтесь от всех коллайдеров и снизьте разрешение, в таком случае ваша игра будет оптимальна.
Именно таким образом работа со сценами становится оптимальной. Еще раз отмечу, что это не тонкости, это серьезные вещи, которые требуют внимания создателя.

Сцены
Готовая игра - это набор сцен, соединенных между собой (точно так же, как и жизнь - это набор дней). Об оптимальном проектировании игры мы сейчас и поговорим.
Прежде чем создать свой проект - подумайте, что он должен в себя включать (какие сцены). Составьте список сцен (на листочке), обдумайте, что каждая сцена будет в себе содержать. Теперь постарайтесь каждую сцену разбить на подсцены, чем больше их будет, тем легче будет вашему ЦП. Конечно, не стоит перебарщивать с количеством сцен. Предположим, что ваш игрок находится в здании и из него никогда не выходит, в здании есть, например, пару этажей, крыша, а на каждом этаже имеется три комнаты. В данном случае, по моему мнению, было бы оптимально «разбить» здание на две сцены - два этажа и крыша. Дробление же каждого этажа на сцены с комнатами - не оптимально. Это просто не нужно, если каждая из комнат слабо загружена. Иными словами, надо грамотно расходовать память процессора, но и забывать о получении удовольствия от игры тоже не стоит.
Отладка
Помните, что хороший создатель должен учитывать то, что его игра, либо приложение, будет использоваться на различных ЭВМ, а это означает, что свой контент необходимо отладить так, чтобы он мог использоваться на различных устройствах. Самый очевидный и важный момент отладки - оптимизация приложения под различные разрешения экранов. Это важный момент и создатель игры обязательно должен обратить на него свое внимание, в противном случае, результатом своей работы сможет быть доволен только он один.
Структурирование
При конструировании игры важно помнить о структурировании данных - немаловажном аспекте. Имеется ввиду, что все должно быть на своем месте. Создаете скрипты? - создайте папку для скриптов, там и храните их, с большой вероятностью, у вас будет не один скрипт, разбрасывать их по всему проекту не есть хорошо, сами потом будете мучиться. По своему опыту могу сказать, что вам точно понадобится создать папки со скриптами, звуковыми файлами, с GUI текстурами, материалами, анимациями, быть может, префабами и собственными моделями (импортированные из 3Ds max"а объекты лучше хранить именно в последней папке, дабы не разбрасывать все модели по проекту в хаотичном порядке). Когда вы создаете тот или иной скрипт, помните о том, что название переменных, классов и т.п. должны говорить все сами за себя. Если вы хотите создать скрипт для инвентаря (поднять предмет, использовать предмет), то лучше все скрипты однообразных действий (например, поднятия) начинать с ключевого слова, например: Catch<имя предмета>; Use<имя предмета>, в таком случае вам будет легче ориентироваться в проекте, да и выглядит так намного симпатичнее. Помните золотое правило: хорошая программа не та, которая написана тяп-ляп и отлажена до предела, хорошая программа та, которая пишется сразу правильно и требует минимальных «затрат» на отладку. Если вы будете пользоваться этим правилом, то у вас все будет намного лучше чем у тех, кто этим правилом не пользуется.
Написание скриптов
Увы, этот подраздел будет совсем короткий. Просто старайтесь сначала представить то, что вы хотите реализовать, затем попробуйте описать словами алгоритм, а далее - преобразовать слова в работающий код. Используя книгу, о которой речь шла выше, вам навряд ли придется сильно потеть над разработкой кодов и других вещей, повторюсь, что в книге описано практически все, что только может понадобиться, а все, что не описано - легко додумать самому.
Видеоуроки
Рекомендую следующие youtube каналы для ознакомления:

К счастью, программный продукт Unity обновляется постоянно, но, увы, видеоуроки сами это делать не могут. Получается так, что огромное количество видеороликов, актуальных год назад, теряют свою актуальность и становятся, попросту, бесполезными.
1 - здесь вы всегда найдете актуальные видеоуроки, понятное объяснение, детальный разбор скриптов и всех действий. Лучше этого канала пока что ничего не нашел. Если вы не имеете вообще никакого представления о создании игры, то вам однозначно нужно заглянуть на данный канал. 2 - серьезная команда, видеоуроков только, жаль, меньше, чем у 1. 3 - есть полезные вещи, жаль только, что видеоуроки стали почти неактуальными.

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

Это ошибки, если такие имеются, то игра не запустится:

Раздел 4. Завершение работы

Выводы
Unity3d - очень гибкий движок, предоставляющий большую свободу действий пользователю. Чтобы упростить жизнь разработчику и потребителю, можно предпринять некоторые шаги для оптимизации своего проекта.
Теперь мы, с заложенной базой знаний, можем спокойно приступать к созданию своего ультра-популярного приложения!
Публикация игры
Свою готовую игру можно опубликовать на одном из игровых сервисов, например, на www.kongregate.com
*Оптимизация
Если вы читаете данный подраздел, то либо вам просто интересно, что здесь написано, либо вы не прочитали NB! из раздела 2. Будем надеяться, что вы относитесь к первой категории. В данном подразделе еще раз хочется отметить то, что нужно сразу писать игру оптимальной, а не писать ее хоть как-то, и только затем отлаживать - это гиблый путь и поступать так не стоит. По поводу оптимизации - еще раз обратитесь ко второму разделу.

Раздел 5. Дополнительная информация

Теория графики
Практика без теории бывает не очень уж и интересной, поэтому советую ознакомиться с теорией компьютерной графики. www.intuit.ru/department/graphics/graphalg/lit.html
Протестировать свои теоретические знания можно тут

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

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

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

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

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

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

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

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

Pro et Contra

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

Хорош Юнити:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Cодержание:

Определение

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

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

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

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

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

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

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

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

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

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

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

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

Где скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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