Какие браузеры поддерживают юнити. Включение unity web player в Google Chrome
Какие браузеры поддерживают юнити. Включение unity web player в Google Chrome
Помимо обычного «сёрфинга» в интернете (например, обзор сайтов, чтение новостей, проверка/отправка почты) и просмотра/прослушивания онлайн-видео и музыки, юзер также может использовать свой интернет-браузер в качестве «игрового пространства». А благодаря специальному плагину Unity Web Player пользовательский браузер и вовсе способен превратиться в «мультимедийную игровую площадку».
- 2 Перечень браузеров с поддержкой технологий Unity3D (Unity Web Player)
- 3 Установка и настройка Unity Web Player для браузера Internet Explorer
- 4 Установка и настройка Unity Web Player для браузера Mozilla Firefox
4.1 Браузеры без поддержки технологии Unity3D: как выйти из ситуации
4.1.1 Видео: как активировать плагин Unity Web Player в браузере Google Chrome через NPAPI
Что это такое
Игровой движок Unity — инструмент, улучшающий воспроизведение сетевых игр. Платформа использовалась для разработки трехмерных игр и приложений. Внимательный читатель подумает. Нужно скачать браузер с поддержкой Unity Web Player. Это не так. Разработчики создали дополнение, помогающее воспроизводить игры в браузере. Unity — плагин, запускающий игровые приложения и проигрывающий масштабированные трехмерные сцены. Дополнительный софт устанавливать не нужно. Используется в соцсетях, для открытия 3D приложений.
Способ 1. Загрузка EXE-файла
Чтобы установить приложение Юнайти Web Player для Оперы, выполним следующие шаги.
- Зайти на официальный сайт разработчика плеера. Нажать на кнопку загрузки.
- После скачивания, запустить файл «UnityWebPlayer64.exe» из места загрузки.
- Принять условия лицензии и следовать инструкции установщика для завершения инсталляции.
Что делать, если тормозит браузер Опера
- Перезагрузить ПК.
Приложение устанавливается и внедряется в систему, как кодек. Отображения окна программы или других внешних изменений после инсталляции не последует. Если Опера была открыта во время установки, необходимо перезапустить ее и открыть любимую игру.
Что сделать в первую очередь
Описанные действия будут одинаковый для любого обозревателя. Перейдите по адресу: https://unity3d.com/ru/webplayer. Нажмите «Загрузить».
Нажмите два раза ЛКМ по инсталляционному «exe» файлу. Начнется установка. Согласитесь с лицензией.
Путь для установки выбирать не нужно.
Инсталляция пройдет автоматически. Нажмите «Finish».
Internet Explorer активирует плагин автоматически. Дополнительных настроек не нужно.
Unity Doorstop
За внедрение в код Unity отвечает библиотека UnityDoorstop-BSIPA. Она лежит среди файлов BSIPA и написана на чистом C. UnityDoorstop-BSIPA (исходный код) — это тоже форк, оригинальный проект можно найти здесь. Далее для простоты буду вместо UnityDoorstop-BSIPA писать Doorstop. Лозунгом Doorstop является фраза “Run managed code before Unity does!”, что в примерном переводе звучит как “Запускай управляемый код до того, как Unity сможет это сделать”. Напомню, что “управляемый код” — это в нашем случае код C#. Выше мы уже выяснили, что ядро движка Unity написано на C++, а пользовательские скрипты для игровой логики и некоторые части самого Unity — на C#. Значит, Doorstop каким-то образом позволяет нам вмешаться в логику, когда ядро Unity уже загрузилось, а C#-скрипты — еще нет.
Когда мы запускаем игру на Unity (например, Beat Saber.exe), то в память одной из первых загружается библиотека UnityPlayer.dll. Она прилагается ко всем Unity-играм и отвечает за запуск и выполнение самой игры. У этой библиотеки есть таблица импорта, в которой говорится, что UnityPlayer использует функцию GetProcAddress из библиотеки kernel32.dll. GetProcAddress — это функция WinAPI, которая возвращает адрес функции из определенной библиотеки по ее названию. Я не видел исходного кода Unity, но судя по тому, что я видел в BSIPA и Doorstop, в UnityPlayer должно быть что-то вроде такого:
mono_dll = LoadLibrary(“Mono.dll”); init_mono = GetProcAddress(mono_dll, ”mono_jit_init_version”); mono = init_mono(…); // дальше используем mono, чтобы загрузить и запустить код игры
mono_jit_init_version — это функция, которая отвечает за инициализацию и запуск Mono. Подробнее можно прочитать здесь. Doorstop вмешивается в этот процесс. Делается это в два шага.
Шаг 1. Проксируем GetProcAddress
Когда библиотека Doorstop.dll загружается в память компьютера, вызывается ее DllMain и, если reasonForDllLoad == DLL_PROCESS_ATTACH, то выполняется код, который в упрощенном виде выглядит так:
HMODULE targetModule = GetModuleHandleA(«UnityPlayer»); iat_hook(targetModule, «kernel32.dll», &GetProcAddress, &hookGetProcAddress);
Полный код DllMain, полный код iat_hook
Этот код находит в памяти уже загруженную библиотеку UnityPlayer.dll, берет ее таблицу импорта (Import Address Table, IAT), находит в ней GetProcAddress из kernel32.dll и заменяет ее на нашу функцию hookGetProcAddress из Doorstop.dll. hookGetProcAddress в упрощенном виде выглядит так:
Полный код hookGetProcAddress
Подробнее про IAT Hooking можно прочитать здесь. Получается, что hookGetProcAddress проксирует все вызовы GetProcAddress. Прокси-функция смотрит название функции, которую у нее запрашивают. Если это НЕ mono_jit_init_version, то hookGetProcAddress просто вызывает настоящую GetProcAddress и возвращает то, что у нее попросили, тем самым не мешая нормальной работе. Если у нее запрашивают mono_jit_init_version, то тогда она возвращает переопределенную функцию ownMonoJitInitVersion. Пользуясь случаем, прокси-функция получает указатель на библиотеку, в котором ищется mono_jit_init_version, и берет из нее настоящие функции Mono с помощью GetProcAddress (внутри init(module);):
Шаг 2. Переопределеяем mono_jit_init_version
ownMonoJitInitVersion сначала вызывает настоящую mono_jit_init_version, чтобы создать Mono. Затем она с помощью Mono загружает сборку IPA.Injector.dll и запускает из нее статический метод Main. В (очень) упрощенном виде код ownMonoJitInitVersion выглядит так:
Полный код ownMonoJitInitVersion
Мы уже рассмотрели выше, что IPA.Injector содержит код, который внедряет плагины в Beat Saber. После того, как IPA.Injector завершает свою работу, ownMonoJitInitVersion отдает Mono в Unity. Unity даже не в состоянии понять, что что-то было не так. Если б он вызвал настоящую mono_jit_init_version, то он бы получил Mono и начал бы дальше с ним работать. Если Unity запускает переопределенную ownMonoJitInitVersion, то он тоже получает Mono — он просто не в курсе, что этим Mono успели воспользоваться для чего-то еще.
Обозреватели без поддержки технологии
Поддерживают Unitu3D браузеры: Internet Explorer, Amigo и Safari. Как запустить в других браузерах. Скачайте и установите старую версию обозревателя. Для:
Возможные проблемы и пути решения
К недостаткам дополнения можно отнести отсутствие интеграции с Yandex браузером, Chrome, Orbitum, UC браузером, Maxthone.
Во всем прочем, это необходимая и простая в установке утилита, позволяющая погрузиться в мир современных интернет-игр с 3D графикой и широким функционалом возможностей. Но без проблема никуда не денешься, и с веб плеером юнити бывают проблемы. Просто не запускается игра, отказывается грузиться в браузере и все. В таких случаях обычно начинаешь расстраиваться.
Но не стоит отчаиваться. Давайте постараемся решить эти проблемы, если вы конечно же используете браузер который поддерживает технологию unity. В других случаях все ниже перечисленные манипуляции будут тщетны.
И не забываем, что технологию unity 3dweb player поддерживают только браузеры: Амиго, Firefox, Opera, Internet Explorer и Safari.
2. Отключить антивирус. Отключите Ваш антивирус, и расширения в браузере от этого антивируса, в некоторых случаях антивирус мешает нормальной работе юнити плееру.
3. Нужно удалить Unity 3Dweb Player. Удаляем расширение через Программы и компоненты для windows 7 и Установка и удаление программ для windows 10.
4. Очистить кэш юнити плеера, сделать это можно через браузер.
Попадаем в настройки расширения юнити для браузера. далее выбираем «Delete All» и снова выбираете «Delete All» как показано на картинке ниже:
5. Нужно очистить кэш браузера. Можете зайти сочетанием клавиш Ctrl+Shift+Del, выбрать очистить историю, «за весь период» и нажать очистить. Дождаться очистки и выйти с настроек.
6. Почистить системные и временные файлы windows с помощью ccleaner.
Качаем программу CCleaner с офф.сайта:
Заходим в программу, выбираем Очистка > Windows > Очистка. Можете сначала нажать на Анализ а потом уже на очистку.
Исправить проблемы с реестром windows. Тем же самым ccleaner нужно устранить проблемы с реестром. Это несколько требование а совет. И возможно не столько действенный способ, как решит некоторые проблемы в windows.
7. Скачиваем с сайта unity 3d web player и устанавливаем
Обратите внимание, установку лучше производить в самый последний момент, когда проделаете все шаги выше
Запускаем игру и наслаждаемся! Должно все работать.
Давайте подведем итоги. Мы с Вами разобрались, как скачать Unity 3D Web Player для игр Вконтакте, на примере игры Контра Сити. Игрушка популярная и бывают случаи, что не запускается. Но мы теперь знаем, как с этим бороться.
Надеюсь статья была вам полезна, вы смогли скачать веб плеер юнити, установить, а при возникновении проблем смогли решить их с помощью данного руководства.
Способ для установки на Firefox
Если нет желания использовать устаревший обозреватель, существует способ активировать работу плагина. В адресной строке пропишите:
Установите значение как на скриншоте: Активируйте созданный конфигурационный файл. Нажмите на нем два раза ЛКМ. Значение изменится на «True». Перезапустите обозреватель. Плагин будет активироваться автоматически при необходимости.
Устаревшие версии браузеров с поддержкой Unity
Ниже представлены популярные браузеры и их последние устаревшие
на текущий момент версии, которые все еще поддерживали Unity Player. Обновленные версии интернет-обозревателей
отказались от поддержки Юнити полностью
.
(версия
36
и старее)
Mozilla Firefox 32 бит
(до
52
версии включительно)
Google Chrome
(до
44
версии)
Яндекс.Браузер
(
16
версия и ниже)
Использовать устаревшие версии браузеров для воспроизведения Юнити-игр не рекомендуется. Главная причина — интернет-обозреватели, не обновленные до актуальных версий, могут иметь уязвимость системы безопасности
Установка и активация Unity Player в браузере Internet Explorer
Плагин поддерживается версией браузера Internet Explorer 11. На более ранних версиях, установка не тестировалась.
Сначала нужно дважды кликнуть мышкой по файлу UnityWebPlayer.exe
, предварительно скачанному с официального сайта, после чего традиционно принять лицензионное соглашение, а затем завершить установку плагина на компьютер, нажав кнопку «
Finish
».
В интернет-обозревателе Internet Explorer 11 плагин Юнити Веб Плеер включается автоматически
, не требуя никаких дополнительных настроек, и даже опций таких в меню браузера не предусмотрено. Все что нужно сделать, это запустить какое-нибудь браузерное 3D-приложение и наслаждаться потрясающей графикой.
Установка и активация Unity Player в браузере Mozilla Firefox (до 52 версии)
В популярнейшем браузере Firefox веб-плеер Unity будет отлично работать на версиях до 52. Начиная с 53 версии
в Mozilla Firefox поддержка всех плагинов NPAPI была удалена.
Руководство по установке (для версии Firefox 50.0.2)
Установив плагин на свой компьютер, откройте веб-обозреватель и нажмите на значок с изображением решетки в верхнем правом углу.
В раскрывшемся меню необходимо выбрать иконку с надписью: «Дополнения»
, после чего откроется страничка браузера со всеми установленными на нем расширениями и службами. В меню слева выберете опцию:
«Плагины»
. Найдите в списке установленных плагинов
Unity Player
, наведите курсор мыши на меню справа, и выберите параметр: «Всегда включать». Если по каким-либо причинам вам понадобится отключить плагин Юнити, в том же меню можно выбрать опцию: «Никогда не включать», и плагин будет полностью деактивирован.
Проигрывание видео в браузере
Яндекс.Браузер умеет открывать видеофайлы с расширениями mp4 , swf , avi , webm , mpg , ogv , x-m4v , wmv , m4v .
Видеофайлы с расширениями mov , quicktime и flv не поддерживаются.
Просмотр видео в отдельном окне
Вы можете просматривать видео в отдельном окне браузера. Например, можно одновременно запустить программу и видеоинструкцию к ней. Окно с видеоплеером отображается поверх всех остальных окон, в какой бы программе вы ни работали. Окно можно перетащить в любое место экрана или изменить размеры окна. Если свернуть браузер, видео продолжит проигрываться. Если видео в формате HTML5 содержит субтитры (например, на YouTube у таких видео есть значок на панели управления), они тоже появятся в новом окне.
По умолчанию видео открывается в отдельном окне, когда вы переключаетесь на другую вкладку или программу. Если этого не случилось, наведите указатель мыши на верхнюю часть видеоплеера и нажмите значок .
Для быстрого управления используйте горячие клавиши.
Поставить на паузу / снять с паузы | Space |
Перемотать на 5 секунд вперед | → |
Перемотать на 5 секунд назад | ← |
Поставить на паузу / снять с паузы | Space |
Перемотать на 5 секунд вперед | → |
Перемотать на 5 секунд назад | ← |
Вы также можете замедлить или ускорить видео. Для этого нажмите → Скорость и выберите из списка нужное значение.
Вы можете скрыть кнопку выноса видео или автоматическое воспроизведение видео в другом окне:
Если вы хотите запретить вынос видео в отдельное окно, отключите обе опции.
Прекращение поддержки Flash
Технология Flash использовалась в браузерах для воспроизведения мультимедийных файлов и запуска игр. Ее поддержку и распространение Adobe прекратила с 2021 года.
Большинство сайтов уже используют другие форматы воспроизведения контента — например, HTML5 или WebGL. Эти находящиеся в открытом доступе технологии работают быстрее и стабильнее, тратят меньше энергии, и они значительно безопаснее Flash.
Если вы посещаете сайт, использующий Flash, обратитесь в службу поддержки этого ресурса.
Проблемы с видео
Видео не воспроизводится, а загружается на компьютер
Если владелец сайта запретил открывать файл в Яндекс.Браузере, файл загружается на компьютер пользователя. Чтобы открыть его в браузере, перетащите в окно браузера значок загруженного файла, появившийся справа от Умной строки, или нажмите клавиши Ctrl + O и выберите нужный файл в папке Загрузки.
Проблемы при воспроизведении видео
Если в браузере вместо видео отображается черный экран, дрожит изображение в онлайн-играх, видео долго загружается, постоянно тормозит или останавливаетсяnпри переходе в полноэкранный режим, попробуйте решить проблему одним из способов.
Попробуйте включить или отключить аппаратное ускорение :
Проверьте, решена ли проблема.
Проверьте, решена ли проблема.
Если проблема осталась, напишите в службу поддержки через форму обратной связи. В письме укажите, что драйверы обновлены.
Не воспроизводится защищенный контент
Устаревший браузер может не поддерживать технологии для быстрой загрузки видео. Установите последнюю версию браузера .
При первом запуске браузера могут подключиться не все плагины, необходимые для корректной работы системы шифрования контента. Чтобы исправить эту ошибку, перезапустите браузер — плагины подключатся автоматически.
Браузер не поддерживает NPAPI и Unity
Яндекс.Браузер больше не поддерживает модуль NPAPI, на основе которого сделан Unity Web Player. Эта технология устарела, компания Unity также перестала поддерживать этот модуль.
Не могу отключить автозапуск видео при переходе на сайт
При переходе на некоторые сайты автоматически начинает проигрываться видео. К сожалению, в Яндекс.Браузере нет возможности запретить автозапуск видео на сайте.
Браузер не видит веб-камеру
Проверьте, распознаётся ли камера другими программами.
Если да, укажите ее вручную в настройках Браузера:
Если это не помогло, напишите в службу поддержки Браузера.
Проигрывание видео в браузере
Видео каких форматов можно проигрывать в браузере?
Яндекс.Браузер умеет открывать видеофайлы с расширениями mp4 , swf , avi , webm , mpg , ogv , x-m4v , wmv , m4v .
Видеофайлы с расширениями mov , quicktime и flv не поддерживаются.
Просмотр видео в отдельном окне
Вы можете просматривать видео в отдельном окне браузера. Например, можно одновременно запустить программу и видеоинструкцию к ней. Окно с видеоплеером отображается поверх всех остальных окон, в какой бы программе вы ни работали. Окно можно перетащить в любое место экрана или изменить размеры окна. Если свернуть браузер, видео продолжит проигрываться. Если видео в формате HTML5 содержит субтитры (например, на YouTube у таких видео есть значок на панели управления), они тоже появятся в новом окне.
По умолчанию видео открывается в отдельном окне, когда вы переключаетесь на другую вкладку или программу. Если этого не случилось, наведите указатель мыши на верхнюю часть видеоплеера и нажмите значок .
Совет. Вы можете поменять расположение значка , перетащив его мышью в нужное место видеоплеера.
Возможности технологии WebGL и как ее включить в браузерах
Современные интернет ресурсы требуют современных технологий, поэтому работа в этом направлении идет полным ходом и не останавливается. Любой крупный и не очень сайт использует сейчас целый набор средств по разработке и модернизации. Они могу включать:
- язык гипертекстовой разметки HTML – база верстки;
- скриптовый язык PHP для создания сценариев и работы с пользователем;
- ООЯП JavaScript работы с объектами приложений и придания веб-страницам интерактивности;
- каскадные таблицы стилей CSS для создания красивых шаблонов фона, оформления тегов и шрифтов.
- различные СУБД, основной для которых практически всегда становится SQL.
По праву, JavaScript можно назвать одним из самых важных компонентов этого списка. Именно на его основе написаны такие инструменты, как AJAX, jQuery, WebGL.
Что такое WebGL
WebGL является кроссплатформенным программным интерфейсом приложения для браузеров, позволяющий им отображать 3D графику. Это один из немногих достойных конкурентов Canvas от HTML 5. Разработчики практически всех ведущих и популярных браузеров состоят в группе Khronos и вместе развивают WebGL и реализуют его в связи с особенностями своих приложений.
Основные функции
Сегодня WebGL применяется для:
- отображения векторных и растровых изображений на сайтах;
- для создания красивых анимированных фонов;
- построения графиков и диаграмм;
- анимации;
- динамических заставок;
- браузерных 2D и 3D игр.
Это средство не волшебная палочка, нельзя сказать ему что сделать или, пользуясь интерфейсом пользователя, собрать сцену «руками». WebGL отображает точки, линии и полигоны на основе написанного кода. Чтобы получить точки, линии и полигоны, траектории их движения, освещение, тени и так далее, используются математические формулы.
Любые данные, используемые для отображения элементов должны быть переданы в графический процессор. Существует 4 способа для получения шейдером этих данных:
- атрибуты и буферы (массивы координат);
- uniform-переменные, т.е глобальные переменные;
- текстуры, массивы, содержащие растровые изображения или заливку;
- varying-переменные, т.е переменные для передачи данных из вершинного шейдера в фрагментный.
Не углубляясь в детали стоит отметить, что для работы всех этих средств нужен API, который может не поддерживаться некоторыми старыми браузерами или попросту быть отключенным. В обоих случаях отобразить WebGL содержимое не получится.
Поддерживаемые версии браузеров
Технология поддерживается следующими версия браузеров:
- GoogleChrome, включен во всех версии начиная с 9;
- Opera, реализован в последней версии 12.0;
- MozillaFirefox, доступен для всех платформ с нужной видеокартой и драйверами, начиная с версии 4.0;
- Safari, поддерживает технологию, но она отключена по умолчанию;
- Internet Explorer, не поддерживает технологию официально, просмотр доступен с плагинами IEWebGL или Chrome Frame.
В случае, если у обозревателя нет поддержки технологии или она выключена, пользователь получить подобное сообщение: «your browser does not support webgl», что в переводе означает – «Ваш браузер не поддерживает WebGL».
Как включить WebGL?
В большинстве приложений технология включена по умолчанию, однако может случиться так, что при удалении каких-либо настроек или их очистке, пункт с WebGL будет сброшен. Следующие подразделы содержат инструкции по его активации в наиболее популярных браузерах.
Google Chrome
Для включения WebGL в Google Chrome необходимо:
- запустить приложение;
- перейти в chrome://settings, введя строку в адресной строке;
- пролистать вниз, найти пункт «Дополнительные» и раскрыть его;
- выбрать вкладку «Система» и убедиться, что параметр «Использовать аппаратное ускорение» включен;
- перезапустить программу;
- перейти в chrome://flags;
- убедиться, что параметр «отключить WebGL» не активен. В новых версиях достаточно ввести в поле поиска «WebGL» и включить его, если он неактивен;
- проверить состояние включения, перейдя в chrome://gpu.
Яндекс.Браузер
Так как Яндекс.Браузер создан на основе Chromium, то для него будут работать все те же действия, что и для Google Chrome. Необходимо:
- перейти в browser://gpu/;
- найти раздел Graphics Feature Status и добиться, чтобы все его элементы или хотя бы «WebGL» были зелеными;
- для этого следует перейти в browser://flags, найти пункты #ignore-gpu-blacklist и #enable-gpu-rasterization и включить их.
Опера
Для включения компонента в Опере необходимо:
- Прописать в адресной строке OPERA:CONFIG#ENABLE%20HARDWARE%20ACCELERATION. Это включит аппаратное ускорение.
- Прописать в адресной строке OPERA:CONFIG#ENABLE%20WEBGL. Это включит саму технологию.
Mozilla Firefox
Для включения необходимо:
- перейти в настройки, открыть «Дополнительные» и проверить включение параметра «Использовать аппаратное ускорение»;
- перейти в about:config;
- согласиться с предупреждением;
- ввести в поиск force-enabled и установить значение на «true»;
- перейти к поиску и найти disabled, убедиться, что значение стоит «false»;
- Перезапустить браузер.
Safari
Для активации необходимо:
- перейти в настройки браузера;
- выбрать вкладку «Дополнительно»;
- поставить флаг «Show Develop», если он не стоит;
- в меню разработчика убедиться, что флаг напротив «Enable WebGL» установлен.
Проблемы с драйверами
Если вышеописанные способы не помогают, то следует обновить драйвера видеокарт или заменить сами карты, если они устарели и уже не могут поддерживать аппаратное ускорение и отображение графики в современных браузерах.
Какие браузеры поддерживают юнити. Включение unity web player в Google Chrome
Помимо обычного «сёрфинга» в интернете (например, обзор сайтов, чтение новостей, проверка/отправка почты) и просмотра/прослушивания онлайн-видео и музыки, юзер также может использовать свой интернет-браузер в качестве «игрового пространства». А благодаря специальному плагину Unity Web Player пользовательский браузер и вовсе способен превратиться в «мультимедийную игровую площадку».
- 2 Перечень браузеров с поддержкой технологий Unity3D (Unity Web Player)
- 3 Установка и настройка Unity Web Player для браузера Internet Explorer
- 4 Установка и настройка Unity Web Player для браузера Mozilla Firefox
4.1 Браузеры без поддержки технологии Unity3D: как выйти из ситуации
4.1.1 Видео: как активировать плагин Unity Web Player в браузере Google Chrome через NPAPI
Что это такое
Игровой движок Unity — инструмент, улучшающий воспроизведение сетевых игр. Платформа использовалась для разработки трехмерных игр и приложений. Внимательный читатель подумает. Нужно скачать браузер с поддержкой Unity Web Player. Это не так. Разработчики создали дополнение, помогающее воспроизводить игры в браузере. Unity — плагин, запускающий игровые приложения и проигрывающий масштабированные трехмерные сцены. Дополнительный софт устанавливать не нужно. Используется в соцсетях, для открытия 3D приложений.
Способ 1. Загрузка EXE-файла
Чтобы установить приложение Юнайти Web Player для Оперы, выполним следующие шаги.
- Зайти на официальный сайт разработчика плеера. Нажать на кнопку загрузки.
- После скачивания, запустить файл «UnityWebPlayer64.exe» из места загрузки.
- Принять условия лицензии и следовать инструкции установщика для завершения инсталляции.
Что делать, если тормозит браузер Опера
- Перезагрузить ПК.
Приложение устанавливается и внедряется в систему, как кодек. Отображения окна программы или других внешних изменений после инсталляции не последует. Если Опера была открыта во время установки, необходимо перезапустить ее и открыть любимую игру.
Что сделать в первую очередь
Описанные действия будут одинаковый для любого обозревателя. Перейдите по адресу: https://unity3d.com/ru/webplayer. Нажмите «Загрузить».
Нажмите два раза ЛКМ по инсталляционному «exe» файлу. Начнется установка. Согласитесь с лицензией.
Путь для установки выбирать не нужно.
Инсталляция пройдет автоматически. Нажмите «Finish».
Internet Explorer активирует плагин автоматически. Дополнительных настроек не нужно.
Unity Doorstop
За внедрение в код Unity отвечает библиотека UnityDoorstop-BSIPA. Она лежит среди файлов BSIPA и написана на чистом C. UnityDoorstop-BSIPA (исходный код) — это тоже форк, оригинальный проект можно найти здесь. Далее для простоты буду вместо UnityDoorstop-BSIPA писать Doorstop. Лозунгом Doorstop является фраза “Run managed code before Unity does!”, что в примерном переводе звучит как “Запускай управляемый код до того, как Unity сможет это сделать”. Напомню, что “управляемый код” — это в нашем случае код C#. Выше мы уже выяснили, что ядро движка Unity написано на C++, а пользовательские скрипты для игровой логики и некоторые части самого Unity — на C#. Значит, Doorstop каким-то образом позволяет нам вмешаться в логику, когда ядро Unity уже загрузилось, а C#-скрипты — еще нет.
Когда мы запускаем игру на Unity (например, Beat Saber.exe), то в память одной из первых загружается библиотека UnityPlayer.dll. Она прилагается ко всем Unity-играм и отвечает за запуск и выполнение самой игры. У этой библиотеки есть таблица импорта, в которой говорится, что UnityPlayer использует функцию GetProcAddress из библиотеки kernel32.dll. GetProcAddress — это функция WinAPI, которая возвращает адрес функции из определенной библиотеки по ее названию. Я не видел исходного кода Unity, но судя по тому, что я видел в BSIPA и Doorstop, в UnityPlayer должно быть что-то вроде такого:
mono_dll = LoadLibrary(“Mono.dll”); init_mono = GetProcAddress(mono_dll, ”mono_jit_init_version”); mono = init_mono(…); // дальше используем mono, чтобы загрузить и запустить код игры
mono_jit_init_version — это функция, которая отвечает за инициализацию и запуск Mono. Подробнее можно прочитать здесь. Doorstop вмешивается в этот процесс. Делается это в два шага.
Шаг 1. Проксируем GetProcAddress
Когда библиотека Doorstop.dll загружается в память компьютера, вызывается ее DllMain и, если reasonForDllLoad == DLL_PROCESS_ATTACH, то выполняется код, который в упрощенном виде выглядит так:
HMODULE targetModule = GetModuleHandleA(«UnityPlayer»); iat_hook(targetModule, «kernel32.dll», &GetProcAddress, &hookGetProcAddress);
Полный код DllMain, полный код iat_hook
Этот код находит в памяти уже загруженную библиотеку UnityPlayer.dll, берет ее таблицу импорта (Import Address Table, IAT), находит в ней GetProcAddress из kernel32.dll и заменяет ее на нашу функцию hookGetProcAddress из Doorstop.dll. hookGetProcAddress в упрощенном виде выглядит так:
Полный код hookGetProcAddress
Подробнее про IAT Hooking можно прочитать здесь. Получается, что hookGetProcAddress проксирует все вызовы GetProcAddress. Прокси-функция смотрит название функции, которую у нее запрашивают. Если это НЕ mono_jit_init_version, то hookGetProcAddress просто вызывает настоящую GetProcAddress и возвращает то, что у нее попросили, тем самым не мешая нормальной работе. Если у нее запрашивают mono_jit_init_version, то тогда она возвращает переопределенную функцию ownMonoJitInitVersion. Пользуясь случаем, прокси-функция получает указатель на библиотеку, в котором ищется mono_jit_init_version, и берет из нее настоящие функции Mono с помощью GetProcAddress (внутри init(module);):
Шаг 2. Переопределеяем mono_jit_init_version
ownMonoJitInitVersion сначала вызывает настоящую mono_jit_init_version, чтобы создать Mono. Затем она с помощью Mono загружает сборку IPA.Injector.dll и запускает из нее статический метод Main. В (очень) упрощенном виде код ownMonoJitInitVersion выглядит так:
Полный код ownMonoJitInitVersion
Мы уже рассмотрели выше, что IPA.Injector содержит код, который внедряет плагины в Beat Saber. После того, как IPA.Injector завершает свою работу, ownMonoJitInitVersion отдает Mono в Unity. Unity даже не в состоянии понять, что что-то было не так. Если б он вызвал настоящую mono_jit_init_version, то он бы получил Mono и начал бы дальше с ним работать. Если Unity запускает переопределенную ownMonoJitInitVersion, то он тоже получает Mono — он просто не в курсе, что этим Mono успели воспользоваться для чего-то еще.
Обозреватели без поддержки технологии
Поддерживают Unitu3D браузеры: Internet Explorer, Amigo и Safari. Как запустить в других браузерах. Скачайте и установите старую версию обозревателя. Для:
Возможные проблемы и пути решения
К недостаткам дополнения можно отнести отсутствие интеграции с Yandex браузером, Chrome, Orbitum, UC браузером, Maxthone.
Во всем прочем, это необходимая и простая в установке утилита, позволяющая погрузиться в мир современных интернет-игр с 3D графикой и широким функционалом возможностей. Но без проблема никуда не денешься, и с веб плеером юнити бывают проблемы. Просто не запускается игра, отказывается грузиться в браузере и все. В таких случаях обычно начинаешь расстраиваться.
Но не стоит отчаиваться. Давайте постараемся решить эти проблемы, если вы конечно же используете браузер который поддерживает технологию unity. В других случаях все ниже перечисленные манипуляции будут тщетны.
И не забываем, что технологию unity 3dweb player поддерживают только браузеры: Амиго, Firefox, Opera, Internet Explorer и Safari.
2. Отключить антивирус. Отключите Ваш антивирус, и расширения в браузере от этого антивируса, в некоторых случаях антивирус мешает нормальной работе юнити плееру.
3. Нужно удалить Unity 3Dweb Player. Удаляем расширение через Программы и компоненты для windows 7 и Установка и удаление программ для windows 10.
4. Очистить кэш юнити плеера, сделать это можно через браузер.
Попадаем в настройки расширения юнити для браузера. далее выбираем «Delete All» и снова выбираете «Delete All» как показано на картинке ниже:
5. Нужно очистить кэш браузера. Можете зайти сочетанием клавиш Ctrl+Shift+Del, выбрать очистить историю, «за весь период» и нажать очистить. Дождаться очистки и выйти с настроек.
6. Почистить системные и временные файлы windows с помощью ccleaner.
Качаем программу CCleaner с офф.сайта:
Заходим в программу, выбираем Очистка > Windows > Очистка. Можете сначала нажать на Анализ а потом уже на очистку.
Исправить проблемы с реестром windows. Тем же самым ccleaner нужно устранить проблемы с реестром. Это несколько требование а совет. И возможно не столько действенный способ, как решит некоторые проблемы в windows.
7. Скачиваем с сайта unity 3d web player и устанавливаем
Обратите внимание, установку лучше производить в самый последний момент, когда проделаете все шаги выше
Запускаем игру и наслаждаемся! Должно все работать.
Давайте подведем итоги. Мы с Вами разобрались, как скачать Unity 3D Web Player для игр Вконтакте, на примере игры Контра Сити. Игрушка популярная и бывают случаи, что не запускается. Но мы теперь знаем, как с этим бороться.
Надеюсь статья была вам полезна, вы смогли скачать веб плеер юнити, установить, а при возникновении проблем смогли решить их с помощью данного руководства.
Способ для установки на Firefox
Если нет желания использовать устаревший обозреватель, существует способ активировать работу плагина. В адресной строке пропишите:
Установите значение как на скриншоте: Активируйте созданный конфигурационный файл. Нажмите на нем два раза ЛКМ. Значение изменится на «True». Перезапустите обозреватель. Плагин будет активироваться автоматически при необходимости.
Устаревшие версии браузеров с поддержкой Unity
Ниже представлены популярные браузеры и их последние устаревшие
на текущий момент версии, которые все еще поддерживали Unity Player. Обновленные версии интернет-обозревателей
отказались от поддержки Юнити полностью
.
(версия
36
и старее)
Mozilla Firefox 32 бит
(до
52
версии включительно)
Google Chrome
(до
44
версии)
Яндекс.Браузер
(
16
версия и ниже)
Использовать устаревшие версии браузеров для воспроизведения Юнити-игр не рекомендуется. Главная причина — интернет-обозреватели, не обновленные до актуальных версий, могут иметь уязвимость системы безопасности
Установка и активация Unity Player в браузере Internet Explorer
Плагин поддерживается версией браузера Internet Explorer 11. На более ранних версиях, установка не тестировалась.
Сначала нужно дважды кликнуть мышкой по файлу UnityWebPlayer.exe
, предварительно скачанному с официального сайта, после чего традиционно принять лицензионное соглашение, а затем завершить установку плагина на компьютер, нажав кнопку «
Finish
».
В интернет-обозревателе Internet Explorer 11 плагин Юнити Веб Плеер включается автоматически
, не требуя никаких дополнительных настроек, и даже опций таких в меню браузера не предусмотрено. Все что нужно сделать, это запустить какое-нибудь браузерное 3D-приложение и наслаждаться потрясающей графикой.
Установка и активация Unity Player в браузере Mozilla Firefox (до 52 версии)
В популярнейшем браузере Firefox веб-плеер Unity будет отлично работать на версиях до 52. Начиная с 53 версии
в Mozilla Firefox поддержка всех плагинов NPAPI была удалена.
Руководство по установке (для версии Firefox 50.0.2)
Установив плагин на свой компьютер, откройте веб-обозреватель и нажмите на значок с изображением решетки в верхнем правом углу.
В раскрывшемся меню необходимо выбрать иконку с надписью: «Дополнения»
, после чего откроется страничка браузера со всеми установленными на нем расширениями и службами. В меню слева выберете опцию:
«Плагины»
. Найдите в списке установленных плагинов
Unity Player
, наведите курсор мыши на меню справа, и выберите параметр: «Всегда включать». Если по каким-либо причинам вам понадобится отключить плагин Юнити, в том же меню можно выбрать опцию: «Никогда не включать», и плагин будет полностью деактивирован.