Искать на сайте Unity

Разработка для веба после отказа от NPAPI в Chrome

28 мая 2015 г. через Технологии | 5 мин. читать
NPAPI enable 1
NPAPI enable 1
Охваченные темы
Поделиться

Is this article helpful for you?

Thank you for your feedback!

После того, как Google отказался от NPAPI в браузере Chrome, мы стали получать вопросы о том, как лучше всего публиковать игры в вебе и одновременно добиться внимания пользователей Chrome. Учитывая широкое использование Chrome, эти вопросы вполне закономерны.

Прекращение поддержки NPAPI

Если вы создаете веб-игры и слышите обо всем этом в первый раз, вот на всякий случай краткий обзор происходящего. В 2013 году Google сообщил, что прекращает поддержку NPAPI – фреймворка плагина, на который опирается Unity Web Player. В настоящее время ведется работа, чтобы вернуть поддержку NPAPI в Chrome, однако Google планирует полностью отказаться от NPAPI из Chrome в сентябре 2015 года. Что касается других браузеров, нет точного времени прекращения поддержки NPAPI и в них, но это произойдет.

Сразу после этого анонса мы начали серьезно исследовать альтернативные способы для веб-игр. Мы решили развивать WebGL, о чем сообщили на GDC 2014; сейчас он доступен в превью в Unity 5. Вы можете прочитать об этом более подробно в данном посте: https://blog.unity.com/ru/technology/future-web-publishing-unity

Состояние WebGL

Очевидным решением кажется создание игр на WebGL. В итоге это решение будет превосходным, сейчас мы активно работаем над WebGL с разработчиками браузеров из Mozilla, Google и Microsoft. Но сейчас базовая технология WebGL все еще имеет ограничения в сравнении с Unity Web Player. Это включает и разницу в производительности, над чем мы работаем, хотя это очень непросто в силу очень большого количества вариантов в производительности в разных браузерах. Подробнее о производительности WebGL можно узнать в данном пост: https://blog.unity.com/ru/technology/benchmarking-unity-performance-webgl

В своем нынешнем состоянии WebGL отлично подходит для «легких» веб-игр и приложений, но очень важно задать реалистичные ожидания. Вы вряд ли сможете просто перенести игру из Web Player и ожидать, что все будет работать прекрасно. Для тяжелых игр с высокой производительностью WebGL, скорее всего, не является в настоящее время удовлетворительным из-за вышеупомянутой разницы в производительности, некоторых других ограничений платформы, таких как нетворкинг, масштабируемости из-за размера билдов и ограничений памяти самого браузера. Так как эта технология все еще активно разрабатывается как с нашей стороны, так и разработчиками браузеров, мы, к сожалению, не можем предоставить поддержку, в том числе в рамках нашего Premium Support, пока не будет выпущен финальный релиз. Одновременно мы призываем вас обсуждать вопросы, связанные с WebGL, на форуме http://forum.unity3d.com/forums/webgl.84/, участниками которого являются наши разработчики.

Но нет худа без добра!

Отличная новость заключается в том, что Unity и разработчики браузеров работают вместе, чтобы решить все эти вопросы. Каждый, кто вовлечен в этот процесс, заинтересован в том, чтобы WebGL раскрыл свой потенциал, и у нас есть все основания полагать, что WebGL в итоге позволит разработчикам и их играм жить лучше.

Состояние Unity Web Player

Unity Web Player все еще является лучшим решением для высокопроизводительных игр в вебе. Понимая это, мы продолжим поддерживать его, пока он будет нужен разработчикам.

Также очень важно отметить, что Unity Web Player отлично работает в других браузерах, кроме Chrome, так что есть варианты.

Итак, что мне делать, если моей игре нужен Web Player?

Опция A: Стимулируйте игроков использовать альтернативные браузеры, в которых плагины работают. Создайте выплывающую страничку, которая будет появляться, когда плагин не запуститься, чтобы проинформировать людей о том, что происходит, и о списке браузеров, в которых ваша игра работает так, как надо.

Опция B: Предоставьте инструкцию, как запустить плагины в Chrome (сейчас нет способа запустить плагины NPAPI). Пример инструкции ниже:

Шаг 1: В адресной строке Chrome наберите: chrome://flags/#enable-npapi

NPAPI enable 1

Шаг 2: Найдите функцию "Enable NPAPI Mac, Windows" в списке и кликните "Enable".

NPAPI enable 2

Шаг 3: Нажмите кнопку "Relaunch Now" внизу страницы.

NPAPI enable 3

Что делать, если я работаю над новым проектом?

Тем, кто создает новый веб-проект с Unity, мы рекомендуем начать его с Unity 5 WebGL. Игры на WebGL более ограничены с точки зрения функциональности и производительности, нежели игры с Web Player, поэтому вы можете портировать игру на Unity 5 Web Player позже, если хотите добавить дополнительную функциональность. В этом случае игроки смогут играть в WebGL игру через Mozilla Firefox, Google Chrome, Apple Safari 8.x или играть в игру с Unity Web Player с помощью Microsoft Internet Explorer, Apple Safari 7.x или Яндекс.Браузер. Такой подход позволит завоевать широкую аудиторию игроков.

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

Резюме

WebGL будет удивительным – даже лучше, чем Unity Web Player, так как у игроков не будет барьеров в виде плагинов. Но все мы должны понимать, что сейчас эта технология не обладает такими возможностями, как Unity Web Player, и пока нет равнозначной замены, которая поможет избежать устаревание фреймворка. Мы понимаем, что это не самый простой путь, и мы разделяем вашу боль, так как мы очень любим Web Player. Но, к сожалению, не мы принимаем решение. В настоящее время, если вы поддерживаете очень сложную игру, которая должна хорошо работать в вебе, вам нужно использовать Web Player и рекомендовать игрокам использовать другой браузер.

Мы, в свою очередь продолжим работать с разработчиками браузеров, чтобы сделать платформу WebGL и наши собственные инструменты WebGL таким мощными, какими они, как мы знаем, могут быть!

28 мая 2015 г. через Технологии | 5 мин. читать

Is this article helpful for you?

Thank you for your feedback!

Охваченные темы
Unity, логотипы Unity и другие торговые знаки Unity являются зарегистрированными торговыми знаками компании Unity Technologies или ее партнеров в США и других странах (подробнее здесь). Остальные наименования и бренды являются торговыми знаками соответствующих владельцев.