...

суббота, 26 апреля 2014 г.

[Из песочницы] HTML в Unity3D или как скрестить ежа с ужом

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



Прежде всего необходимо определиться с целями для которых вам требуется HTML: оформление текста с помощью базовых тегов, создание пользовательского интерфейса с помощью HTML, оформление справочного раздела (например, внутриигровой энциклопедии), показ статичной веб-страницы или вообще интеграция полноценного веб-браузера. Соответственно, плагины или HTML движки делятся по количеству поддерживаемых тегов, поддержке анимация, технологии реализации (OnGUI или текстуры), интеграция с GUI (OnGUI или NGUI), поддержка CSS, HTML5, JavaScript, технология реализации работы с изображениями и т.п.

Вообще-то, выбор HTML плагинов довольно беден. Я нашёл всего 5 представителей.


Начнём наше знакомство с пожалуй самого неказистого варианта:


1. HTML Engine for NGUI & Unity GUI за 25$




Скрины по катом:



На скринах выше виден функционал плагина, который поддерживает различные стили и текстовые эффекты. Однако, никаких CSS, JS, HTML5 или доступа к интернет страницам.

Плюсы:


  • Пожалуй единственный плагин совместимый не только со стандартным OnGUI, но и с NGUI, причём достаточно новыми версиями.




Минусы:


  • Нет демоверсии.

  • Для работы с изображениями их сперва необходимо скомпоновать в атлас и указывать путь к этому атласу при вставке изображения.

  • Из-за принципа генерации HTML, объём отображаемой страницы существенно ограничен, так что взять обычную веб-страницу, засунуть её в в проект и показать, не получится.

  • Не совсем очевидная установка (придётся помучиться, чтобы понять почему при установке вылезает столько ошибок).


2. PowerUI — HTML/CSS за 60$




Скрины по катом:



Сайт разработчиков.

Хороший плагин. Кроме поддержки многих тегов и CSS ещё и хорошо оптимизирован.

Легко интегрирует простые html страницы в проект.

Достаточно совершить простые подготовительные действия:

1. Добавьте новый слой с названием: PowerUI.

2. Убедитесь что остальные камеры не видят этот слой.

3. Создайте новый объект и добавьте к нему скрипт Powerui Manager.

4. Настройте изображения (все картинки должны храниться в папке Resources, в их свойствах тип должен быть Advanced, «Non Power of 2» сменить на none, поставить галку напротив read/write enabled, и убрать галку с generate mipmaps)

image

Теперь достаточно присвоить вашу веб страницу публичному полю созданного объекта.


Плюсы:



  • Демоверсия — не компилируется под iOS, так что халява не пройдёт

  • Поддержка CSS, JavaScript.

  • Возможность отображения не только в OnGUI, но и в текстуру.

  • Хорошая оптимизация, минимум DC.

  • Много примеров.




Минусы:


  • Триал версия не компилируется под маками.


3. GUI Design HTML CSS за 30$




Скрины по катом:



Хороший плагин для оформления GUI.

Краткая демонстрация:



Плюсы:

Минусы:


  • Нет демоверсии.




4. HuG:Hugging HTML on Unity за 45$




Скрины по катом:



Хороший плагин, но со своими недостатками. Сайт разработчиков.

Плюсы:


  • Демоверсия.

  • Поддержка CSS, JavaScript.

  • Проигрывание музыки по сети.

  • Возможность показа как локальных, так и интернет-страниц.




Минусы:


  • Поддержка JavaScript достаточно условная.

  • Далеко не каждая интернет страница может адекватно отобразиться.

  • Проблемы с кросс-платформенностью, то что хорошо работает под Windows в IOS может сильно глючить, впрочем возможно в платной версии это излечимо.




5. U3DXT iOS SDK Pro за 100$




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






Если все предыдущие плагины пытались реализовать интерпретатор HTML с помощью технологий Unity3D, то эти разработчики, пошли по пути предоставления полного доступа к iOS SDK. Т.е. вместо изобретения велосипеда они просто дают доступ к тому, что уже написали разработчики из Купертино. Благодаря этому в unity можно легко получить доступ к любому интернет сайту.

И доступ к веб-браузеру здесь лишь один из функций. Кроме этого есть доступ к инн-аппам, социальному плагину, распознаванию лиц, синтезатор речи и многое другое. Вообще этот SDK достоин отдельной статьи, и способен потеснить, например, Prime31.

У такого решения, само собой есть и обратная сторона, а именно применимость только к iOS билдам.

Плюсы:


  • Демоверсия

  • Полная поддержка всех веб технологий, доступных для iOS.

  • Огромный функционал.




Минусы:


  • Применимо только для iOS.

  • Глюки с разрешением (программа считает что у ios гаджетов есть только два разрешения 320 на 480 и 768 на 1024)


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


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий