Как работает веб-развертывание Unity3D?

Это очень удобно и кроссбраузерно/платформенно одним нажатием кнопки, что приводит нетехнических людей к выводу, что весь движок по своей сути лучше, чем то, что мы используем сейчас. Это просто потому, что они потратили время на реализацию всех версий плагинов Unity WebPlayer для каждого браузера/ОС и отполировали его, или есть что-то более глубокое в том, как настроена архитектура движка?


person Mr. Boy    schedule 15.01.2011    source источник


Ответы (1)


Unity берет сценарии, написанные на C#, UnityScript (на основе JavaScript) или Boo (на основе Python), и компилирует их в моносборки. Эти сборки + 3D-модели, звуки и текстуры, необходимые для вашей игры, сжимаются в файл .unity3d, который загружается их плагином для браузера. Поскольку почти вся логика игры находится в управляемых моносборках, она работает на разных платформах с очень небольшим количеством специфичных для платформы особенностей.

Недавно они переписали свой код обнаружения и установки плагинов, так что теперь очень легко вставить блок javascript на веб-страницу, которая показывает контент Unity, если у пользователя есть плагин, или другой контент (изображение, flash, видео), если он не надо. Я считаю, что их плагин поддерживает все браузеры класса А на Mac и Windows, и плагин можно установить без перезапуска браузера.

Одним из преимуществ движка Unity является то, что вы можете взять множество готовых управляемых сборок, включить их в свой проект и вызывать их из кода Unity. Но вы должны знать, что эти сборки могут сильно увеличить размер файла .unity3d.

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

И еще одно преимущество заключается в том, что хорошо написанный проект можно портировать на/с iPhone, Standalone, Android, Web и т. д. менее чем за день. Я лично сделал iPhone to Web, просто изменив обработчик ввода и изменив сжатие текстур.

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

person Calvin    schedule 13.02.2011