Volver a la página principal
jueves 13 marzo 2025
2

Cómo usar SetScope en Mirror con Unity

En Mirror (una popular API de red para Unity), SetScope permite controlar qué objetos de red son visibles para cada jugador. Se usa para optimizar la replicación de objetos y mejorar el rendimiento en juegos multijugador.

¿Qué hace SetScope en Mirror?

El método SetScope(NetworkIdentity netIdentity, bool visible) permite definir si un objeto de red (NetworkIdentity) es visible para un cliente específico. Esto es útil para ocultar objetos que no están en la zona de interés de un jugador, reduciendo la carga de red.

Sintaxis

void SetScope(NetworkIdentity netIdentity, bool visible)

Parámetros

Parámetro Tipo Descripción
netIdentity NetworkIdentity Identidad de red del objeto que queremos ocultar o mostrar.
visible bool true para hacer el objeto visible, false para ocultarlo.

Ejemplo de uso

En este ejemplo, un servidor controla la visibilidad de un objeto para un cliente en función de la distancia:

using Mirror;

public class VisibilityController : NetworkBehaviour
{
    public NetworkIdentity targetObject; // Objeto cuya visibilidad queremos controlar
    public float visibilityRange = 10f; // Distancia de visibilidad

    void Update()
    {
        foreach (var conn in NetworkServer.connections.Values)
        {
            bool isVisible = Vector3.Distance(conn.identity.transform.position, targetObject.transform.position) < visibilityRange;
            conn.SetScope(targetObject, isVisible);
        }
    }
}

Conclusión

El método SetScope en Mirror es una herramienta poderosa para optimizar la replicación de objetos en juegos multijugador, reduciendo el tráfico de red y mejorando el rendimiento.

Etiquetas:
csharp unity
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer