Escolar Documentos
Profissional Documentos
Cultura Documentos
Servidor y host
En el sistema de red de Unity, los juegos tienen un servidor y múltiples clientes. Cuando no hay
un servidor dedicado, uno de los clientes cumple la función del servidor: llamamos a este cliente
el "host" como se ejemplifica en la figura.
El host es un servidor y un cliente en el mismo proceso. El host usa un tipo especial de cliente
llamado LocalClient, mientras que otros clientes son RemoteClients. El LocalClient se comunica
con el servidor (local) a través de llamadas de función directa y colas de mensajes, ya que está
en el mismo proceso. En realidad, comparte la escena con el servidor. Los clientes remotos se
comunican con el servidor a través de una conexión de red normal.
Uno de los objetivos del sistema de red es que el código para LocalClients y RemoteClients sea
el mismo, de modo que los desarrolladores solo tengan que pensar en un tipo de cliente la mayor
parte del tiempo.
En el sistema de red, los objetos del jugador son especiales. Hay un objeto jugador asociado con
cada persona presente en el juego, y los comandos se dirigen a ese objeto. Una persona no
puede invocar un comando en el objeto de jugador de otra persona, solo el suyo. Entonces hay
un concepto de "mi" jugador como objeto. Cuando se agrega un jugador y la asociación se realiza
con una conexión, ese objeto de jugador se convierte en un objeto de "jugador local" en el
cliente de ese jugador. Hay una propiedad isLocalPlayer que se establece en true y una
retrollamada OnStartLocalPlayer () que se invoca en el objeto en el cliente. La fig 2 muestra un
diagrama de dos clientes y sus jugadores locales.
Fig. 2 Diagrama explicativo de jugadores y clientes en modo multijugador
Network Manager
Es otro componente que funciona con Network Manager. Le da una interfaz de usuario
simple cuando el juego se ejecuta para controlar el estado de la red. Esto es bueno para
comenzar con un proyecto de red, pero no pretende ser utilizado como la interfaz de
usuario final para un juego. El NetworkManagerHUD se tal como se muestra en la figura:
NetworkIdentity
NetworkTransform