Unity Http Server Или Как Превратить Телефон Пользователя В Геймпад

Всем привет! Меня зовут Григорий Дядиченко, я технический продюсер.

Сегодня я хотел бы поговорить о протоколе HTTP, о серверах и о простой реализации Http-сервера, встроенного в Unity. Если вам это интересно, добро пожаловать под кат!

Unity Http Server или как превратить телефон пользователя в геймпад

Что ж, начнем с задачи, на примере которой мы все разберем.

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

Если игра на ПК, то можно победить, управляя ею с помощью геймпада и подключая его или используя джойстик.

Чтобы человеку было удобно играть, и он не закрывал экран ноутбука, играя в свою лучшую игру.

Но есть интересная альтернатива.

Сделайте геймпад из телефона пользователя! В этом случае, если у вас есть опыт в веб-разработке, вы можете удобно собрать там контакты.

Все, что вам нужно, это ноутбук, Wi-Fi роутер, геймпад в виде веб-приложения и http-сервер, подключенный к unity. Важный: в условиях реальной выставки, будь то с блютуз-геймпадом или с подобным решением, нужно помнить, что устройств и шума может быть много.

Поэтому он может работать нестабильно, но обычно это происходит, когда таких роутеров много.

В общем, если у вас на выставке есть свой Wi-Fi, то к нему проще подключиться, так как это локальная сеть, запросов очень мало.

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

Итак, с «почему» мы определились, хотя случай не единственный, теперь поговорим о «что».



HTTP-протокол



Unity Http Server или как превратить телефон пользователя в геймпад

В современном мире любой разработчик должен знать этот протокол, в идеале имея на его основе множество знаний.

REST API, GraphQL, GRPC и так далее.

В общем, не хочу повторяться и тратить время на описание самого протокола; проще говоря, все сделано отлично В этой статье .

Но было важно упомянуть его.



HTTP-сервер на Unity

Если принять во внимание простейшую и низкоуровневую реализацию HTTP-сервера в Unity, то сразу можно вспомнить класс HttpListener .

И реализовывать все с его помощью.

Итак, для начала все начинается с подключения и определения порт .

Во всяком случае, в любом браузере любой существующий сайт по умолчанию стучит в 80 порт .

То есть, если сервер развернут на 80 порту, а IP вашего ПК (его можно посмотреть через ipconfg в cmd) 192.168.1.24, например.

Тогда ссылка в браузере будет выглядеть так http://192.168.1.24 , если развернуть сервер, скажем, на порту 10021, то он уже будет выглядеть так http://192.168.1.24:10021 .

Чтобы начать «слушать» порт », создайте такой Моноповедение Сорт: Пример

   

public class HttpServer : MonoBehaviour {

Теги: #Разработка игр #брандмауэр #C++ #unity #.

NET #http #cors #http-server #unity3d #unity #http

Вместе с данным постом часто просматривают: