Live Link proporciona a los usuarios la capacidad de transmitir varios tipos de datos desde una variedad de fuentes y aplicar esos datos directamente a los actores dentro de su nivel. Para mejorar estos procesos de trabajo, Unreal Engine usa varias funciones diseñadas para agilizar el proceso de aplicar datos de Live Link a los actores en el nivel.
Los preajustes de Live Link guardan los ajustes originales para usarlos más adelante.
El componente de controlador LiveLink permite usar controladores LiveLink. Esto simplifica la aplicación de información de Live Link a los actores y se han añadido varios nodos de blueprint para facilitar la recopilación de estos datos.
El componente de animación esquelética Live Link expone el nodo de evento OnLiveLinkUpdated, que recupera información sobre los sujetos y las fuentes cada vez que Live Link se actualiza. Además, puede realizar otras funciones a través del blueprint.
Para obtener más información sobre cómo activar Live Link y ajustar tus conexiones, consulta la documentación de Live Link Plugin.
Antes de la versión 4.23 de Unreal Engine, el componente de animación esquelética Live Link se llamaba componente Live Link.
Preajustes de Live Link
Unreal Engine obtiene datos de Live Link de diversas fuentes creadas en la ventana Live Link Connection. Una vez creadas, estas fuentes se pueden guardar como preajustes y acceder a ellas a través de blueprints usando el nodo Apply to Client.
Al usar este nodo, se puede cargar un preajuste de Live Link cuando se inicie la aplicación.
Los preajustes de Live Link también se pueden activar a través del botón Preajustes del panel Live Link o en la Configuración del proyecto al ajustar el preajuste predeterminado de Live Link en la sección Complementos - Live Link del menú. También se puede aplicar un preajuste a través de la línea de comandos usando «LiveLink.Preset.Apply Preset=/Game/Folder/MyLiveLinkPreset.MyLiveLinkPreset».
Componentes de Live Link
Componente de animación esquelética de Live Link
Cuando añades un componente de animación esquelética Live Link a un blueprint de actor desde el panel Componentes, no se vincula a otros componentes. Se encuentra dentro de tu blueprint y te da acceso al evento Cuando se actualice Live Link.
El evento Cuando se actualice Live Link se activa cada vez que se actualiza el componente, incluso dentro del editor.
El nodo On Live Link Updated sustituye a tu evento de tic, pero también se ejecuta dentro del editor. Por ejemplo, si quieres llevar algunos datos en directo dentro del editor, este nodo te permitirá hacerlo.
Componente de controlador de Live Link
El componente de controlador Live Link es un componente que se encuentra dentro del blueprint del personaje y permite usar controladores Live Link. Estos controladores obtienen automáticamente datos del sujeto de Live Link y los aplican a un componente correspondiente en el actor a través de un controlador de Live Link.
Cómo usar un controlador de Live Link
Los controladores de Live Link proporcionan un método rápido para tomar datos de Live Link y enviarlos a un actor de la escena. Cada controlador consume datos de un sujeto de Live Link y los aplica automáticamente al actor que elijas. Hay tres tipos de controladores, definidos por el rol:
Transformación
Cámara
Iluminación
A continuación encontrarás más información sobre los distintos controladores de Live Link.
Transformación
El controlador de transformación captura y aplica rápidamente datos de transformación de un sujeto de Live Link a un actor del nivel.
Este controlador ofrece las siguientes opciones:
| Ajuste | Descripción |
|---|---|
Transformación del mundo | Establece la transformación del componente en el espacio del entorno. Desmarca espacio local. |
Utilizar escala | Usa datos de escala de Live Link. |
Barrido | Realiza un barrido del componente raíz y comprueba si hay colisiones de bloqueo, lo que activa solapamientos por el camino y se detiene antes del objetivo si está bloqueado. |
Teletransportar | Teletransporta el estado de la física (si la colisión de física está activada).
|
Cámara
El controlador de cámara aplica la configuración de cámara y los datos de movimiento directamente desde un sujeto de Live Link con el rol de cámara a un actor de cámara en el nivel.
Entre los ajustes de cámara que se pueden animar, se encuentran los siguientes:
Campo de visión (en grados)
Relación de aspecto (ancho/alto)
Distancia focal
Apertura de la cámara en términos de pasos de luz
Distancia de enfoque de la cámara en cm (solo funciona con el enfoque manual)
Modo de proyección de la cámara (perspectiva, ortogonal, etc.)
Iluminación
El controlador de iluminación aplica los ajustes de luz directamente desde un sujeto de Live Link con el rol de iluminación a un actor de iluminación del nivel.
Los ajustes de iluminación que se pueden animar son los siguientes:
Temperatura del color (en kelvin)
Energía total (en lux)
Color de filtro
Ángulo del cono interior (en grados para un foco)
Ángulo del cono exterior (en grados para un foco)
Influencia visible de la iluminación (para luces puntuales y focales)
Radio suave para la forma de la fuente de luz (para luces puntuales y focos)
Longitud de la forma de la fuente de luz (para luces puntuales y focos)
Se pueden añadir o crear otros controladores mediante complementos externos. Para obtener más información sobre complementos externos, consulta nuestra documentación Plugin.
Cómo aplicar un controlador a un actor
El primer paso para aplicar un controlador de Live Link es añadir el componente del controlador de Live Link al actor:
Esta sección requiere que te hayas conectado a una fuente de Live Link. Para obtener más información sobre cómo conectar tu fuente, consulta nuestra documentación Live Link Plugin.
Sigue estos pasos para añadir el componente a través del panel Detalles:
Seleccione el actor en su nivel.
En el panel Detalles, haz clic en el botón + Añadir componente y busca el componente Controlador de Live Link.
Cuando lo hayas añadido, selecciona el componente de la lista y abre el menú desplegable Representación del sujeto. Selecciona el sujeto de la lista que quieras usar como fuente de datos para este actor. Unreal Engine seleccionará por ti el componente que controlar en función de tu selección. Esto se puede ajustar si es necesario.
Con el controlador configurado, el actor comenzará a recibir datos del sujeto de Live Link automáticamente.
Nodos de Blueprint comunes
Puedes acceder a los datos de Live Link a través de una variedad de nodos de Blueprint.
Cómo obtener sujetos de Live Link
En ocasiones, tendrás que obtener una lista de los sujetos para usar con el nodo Evaluate Live Link Frame. Cuando esto suceda, puedes usar Get Live Link Subjects:
Devuelve una matriz de sujetos que la función Evaluar el fotograma de Live Link encontrará válidos.
Evaluar el fotograma de Live Link
Llamar a la función Evaluar el fotograma de Live Link te permite obtener los datos de Live Link asociados con el nombre del sujeto proporcionado. Esta función te proporciona pines de ejecución para determinar si el fotograma actual es válido o no, así como datos estáticos y de fotograma a los que se puede acceder desde la salida del resultado de datos. Estos datos vienen determinados por el tipo de rol elegido para evaluar al sujeto.
El siguiente ejemplo muestra cómo se accede a los datos directamente desde el pin de la estructura de datos.
Cómo usar los datos de la opción Evaluar el fotograma de Live Link
La opción Evaluar el fotograma de Live Link abre el camino para usar varias funciones de Blueprint para evaluar los datos que proporciona. Los datos resultantes dependen del rol que se esté evaluando. Cuando se evalúe el rol de animación, verás lo siguiente:
Obtener datos básicos
Obtener curvas
Obtener metadatos
Obtener transformación raíz
Obtener transformación por índice
Obtener transformación por nombre
Número de transformaciones
Nombres de transformaciones
Obtener datos básicos
El nodo Get Basic Data devuelve la estructura base del sujeto que está almacenada en el fotograma actual del asunto.
Obtener curvas
La función Obtener curvas te permite obtener todas las formas de mezcla o curvas animadas y devuelve un mapa de nombres a valores de cada entrada.
Podrías usar la opción Buscar e introducir un nombre para recuperar el valor de una curva (o usar el booleano para determinar si se ha encontrado o no).
Obtener metadatos
La función Obtener metadatos devuelve la estructura de metadatos almacenada en el fotograma del asunto, que puedes descomponer para recuperar información:
Los metadatos de cadena son un mapa con las cadenas con nombre para el sujeto. Por ejemplo, puede que quieras pasar el tipo de un objeto que se está transmitiendo como una cadena con nombre. Con los metadatos también se incluyen el código de tiempo de la escena y la tasa de fotogramas de la escena, cuyas estructuras puedes romper para obtener la información que necesites.
| Salida | Descripción |
|---|---|
Metadatos de cadena | Un mapa de cadenas con nombre que se usa para proporcionar más información sobre un fotograma o un sujeto, por ejemplo, «Tipo»: «Cámara». |
Código de tiempo de la escena | Valor de código de tiempo asociado al fotograma actual. No se garantiza que sea único. Por ejemplo, al editar un solo fotograma en MotionBuilder, el código de tiempo de ese fotograma se enviará en varios fotogramas. |
Tasa de fotogramas de la escena | Tasa de fotogramas correspondiente al código de tiempo de la escena. |
Obtener transformación raíz
La función Obtener transformación raíz devolverá la transformación raíz para el fotograma del sujeto como una transformación de Live Link (o la identidad si no hay transformaciones).
Esto devuelve una transformación Live Link en lugar de una transformación estándar, ya que puedes llamar a otras funciones (tal y como se describe a continuación):
| Función | Descripción |
|---|---|
Recuento de hijos | Devuelve el número de hijos para una transformación de Live Link concreta. |
Transformación del espacio del componente | Devuelve el valor de transformación en el espacio raíz de una transformación de Live Link dada (relativo a la raíz de tu modelo). |
Obtener hijos | Devuelve una matriz de transformaciones hijo de Live Link para una transformación de Live Link concreta. |
Obtener padre | Devuelve la transformación padre de Live Link, si es que existe, o una transformación de identidad en caso de que no haya padre. |
Tiene padre | Devuelve si una transformación de Live Link dada tiene una transformación padre. |
Transformación del espacio de hueso padre | Devuelve el valor de transformación del espacio padre para una transformación de Live Link dada (cómo se almacena internamente y en relación con el hueso padre). |
Nombre de transformación | Produce el nombre de una transformación de Live Link dada. |
Obtener transformación por índice
La función Obtener transformación por índice devuelve la transformación de Live Link almacenada en un fotograma de sujeto en un índice especificado (la función devuelve una transformación de identidad si el índice de transformación no es válido).
Obtener transformación por nombre
La función Obtener transformación por nombre es similar a Obtener transformación por índice, pero toma los datos del nombre de la transformación.
Número de transformaciones
La función Número de transformaciones devuelve el número de transformaciones dentro del fotograma de sujeto.
Un ejemplo de ello sería usarlo junto con Obtener transformación por índice para crear un bucle y recuperar cada una de tus transformaciones de Live Link (similar al ejemplo a continuación):
Obtener nombres de transformaciones
La función Obtener nombres de transformaciones devuelve una matriz de nombres para todas las transformaciones en un fotograma.
Cómo aplicar un preajuste de Live Link con blueprints
Un uso habitual de los blueprints con Live Link es usar el nodo Apply to Client para asignar un preajuste de Live Link a una malla esquelética en tiempo de ejecución:
Empieza creando tu preajuste Live Link en el panel Live Link. Para obtener más información sobre los preajustes, consulta nuestra documentación Live Link Plugin.
En el blueprint de tu personaje, crea una referencia al preajuste. Para ello, crea una nueva variable y establece Tipo de variable en Preajuste de Live Link en el panel Detalles.
Compila el blueprint y establece el valor predeterminado de la nueva variable al preajuste de Live Link guardado.
Arrastra la variable al Blueprint y selecciona Obtener en el menú.
Arrastra desde la variable y busca el nodo Apply to Client.
Conecta el nodo Event Begin Play a Apply to Client.