Interpolación para el componente Transform - Guía del usuario de Lumberyard

Interpolación para el componente Transform

El componente Transform admite la interpolación local de sus valores de posición y rotación cuando está sincronizado en red.

Puede utilizar la interpolación de los valores de Transform para suavizar los cambios en el movimiento y la orientación de las entidades cuando las controla la aplicación de su servidor. En Lumberyard, la conexión en red se realiza a través de réplicas, que pueden ser réplicas maestras o réplicas proxy. Las réplicas maestras son normalmente controladores de la aplicación del servidor que establecen directamente los valores. Las réplicas proxy, que normalmente aparecen en aplicaciones clientes, reciben actualizaciones desde las réplicas maestras con regularidad. Debido a los cambios en las condiciones de red, las actualizaciones se pueden retrasar o aparecer a intervalos de tiempo variables. En estas condiciones, la interpolación permite a sus clientes suavizar el movimiento de las entidades controladas en la red. Esto se realiza mediante la modificación gradual de los valores de Transform hasta que coinciden con los valores más recientes recibidos en la red.

En Lumberyard Editor, puede utilizar el Entity Inspector para modificar estos ajustes en la sección Network Sync (Sincronización de red) del componente Transform.


      Opciones de Network Sync (Sincronización de red) en el Entity Inspector para el componente Transform

Para que su entidad esté sincronizada en la red, debe tener el componente Network Binding y debe habilitar Sync to replicas (Sincronizar con réplicas). La configuración del modo de interpolación no tiene efecto si su entidad no tiene el componente de enlace de red.

Puede controlar la posición y la rotación por separado.

Position interpolation (Interpolación de posición) se refiere al suavizado de la posición entre las actualizaciones de red y las interrupciones. Esto resulta útil si los objetos cambian de ubicación y observa fluctuaciones visuales o cambios bruscos en la orientación debidos a las condiciones de la red.

Rotation interpolation (Interpolación de rotación) se refiere al suavizado de la rotación entre las actualizaciones de red y las interrupciones. Esto resulta útil si los objetos rotan y observa fluctuaciones visuales o cambios bruscos en la orientación debidos a las condiciones de la red.

Para cada uno de estos ajustes, puede elegir que no haya interpolación en absoluto, que es la opción predeterminada, o que haya interpolación lineal. Por ejemplo, si su objeto nunca se mueve y, por tanto, no necesita suavizar su posición a lo largo del tiempo, puede dejar el modo Position interpolation (Interpolación de posición) establecido en None (Ninguno). Si su objeto rota y aprecia fluctuación visual o cambios bruscos en su posición cuando hay condiciones de red insuficientes, puede establecer Rotation Interpolation (Interpolación de rotación) en Linear (Lineal). Este ajuste puede producir un cambio más fluido en la rotación a lo largo del tiempo.

nota

En el componente Transform no se admite la interpolación de escala.

Optimización de red del componente Transform

El componente Transform está optimizado para el ancho de banda de la red. Si su entidad se sincroniza a través de la red pero solo cambia de posición, se envían únicamente los nuevos valores de posición por la red. Esto evita el costo para la red de enviar todo el componente Transform. Lo mismo sucede con la rotación o la escala del componente Transform. Esto se realiza automáticamente. No tiene que cambiar ningún ajuste para usar esta característica.

Para obtener información sobre cómo proporcionar su propia lógica de interpolación para el componente Transform, consulte Proporcionar una lógica de interpolación propia para el componente Transform.