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

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

1 ответ

Решение

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

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

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

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

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

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

Другие вопросы по тегам