Version: 2017.3
Elementos de redes en Unity (Legacy)
Network View

Network Views (Legacy)

(Para nuevos proyectos puedes usar el Nuevo Networking System introducido en 5.1. Esta información es para antiguos proyectos usando el sistema antiguo de networking.)

Los Network Views son el componente principal involucrados en compartir datos a través de la red. Estos permiten dos dipos de comunicación en red: State Synchronization and Remote Procedure Calls.

Network Views vigilan objetos particulares para detectar cambios. Estos cambios se comparten a continuación a los demás clientes de la red para garantizar que todos los cambios detectan el cambio de estado. Este concepto se conoce como state synchronization y se puede leer sobre él más adelante en la página Sincronización de estado.

Hay algunas situaciones en las que no se desea la sobrecarga de sincronizar el estado entre clientes, por ejemplo, al enviar la posición de un nuevo objeto o un jugador respawned. Dado que eventos como este son poco frecuentes, no tiene sentido sincronizar el estado de los objetos involucrados. En su lugar, puede utilizar un procedimiento remote call para indicar a los clientes o al servidor que realicen operaciones como ésta. Puede encontrar más información acerca de las llamadas a procedimientos remotos en la página del manual RPC.

Detalles técnicos

Un Network View se identifica a través de la red por su NetworkViewID que es básicamente un identificador que se negocia para que sea único entre las maquinas en red. Se representa como un número 128 bit pero se comprime automáticamente a 16 bits cuando se transfiere sobre la red si es posible.

Cada paquete que llega al lado del cliente necesita aplicarse a un Network View específico como se especifica por NetworkViewID. Utilizando esto, Unity puede encontrar el Network View correcto, descomprima los datos y aplique el paquete entrante al objeto observado de Network View.

Más detalles acerca utilizar Network Views en el Editor se pueden encontrar en la página de referencia del componente Network View.

Si usted utiliza Network.Instantiate() para crear sus objetos en red, usted no se necesita preocupar sobre asignar Network Views. Todo funcionará detrás de escena automáticamente.

Sin embargo, puede establecer manualmente los valores NetworkViewID para cada Network View utilizando [Network.AllocateViewID(../ScriptReference/Network.AllocateViewID.html). La documentación Referencia de Scripting muestra un ejemplo de cómo un objeto puede ser instanciado manualmente en cada cliente con una función RPC y, a continuación, el NetworkViewID establecido manualmente con AllocateViewID.

Elementos de redes en Unity (Legacy)
Network View
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961