Как работает веб-развертывание Unity3D? - PullRequest
4 голосов
/ 15 января 2011

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

1 Ответ

6 голосов
/ 13 февраля 2011

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

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

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

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

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

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

...