O Live Link oferece aos usuários a possibilidade de transmitir muitos tipos de dados de várias fontes e aplicar esses dados diretamente aos atores dentro do nível. Para melhorar esses fluxos de trabalho, a Unreal Engine usa várias funcionalidades projetadas para simplificar o processo de aplicação de dados do Live Link aos atores que estão no seu nível.
As predefinições do Live Link salvam as configurações de origem para uso posterior.
O componente de controle do LiveLink habilita o uso de controles do LiveLink. Isso simplifica a aplicação de informações do Live Link aos atores, e vários nós de Blueprints foram adicionados para facilitar a coleta desses dados.
O componente de animação do esqueleto do Live Link expõe o nó de evento OnLiveLinkUpdated, que recupera informações sobre assuntos e fontes sempre que o Live Link é atualizado e pode executar várias outras funções por meio de Blueprints.
Para obter mais informações sobre como habilitar o Live Link e configurar suas conexões, confira a documentação Plugin do Live Link.
Antes da versão 4.23 da Unreal Engine, o componente de animação do esqueleto do LiveLink era chamado de componente do Live Link.
Predefinições do Live Link
A Unreal Engine obtém dados do Live Link de diversas fontes criadas na janela de conexão do Live Link. Depois de criadas, essas fontes podem ser salvas como predefinições e acessadas por Blueprints usando o nó Apply to Client.
Com esse nó, uma predefinição do Live Link pode ser carregada na inicialização do aplicativo.
As predefinições do Live Link também podem ser ativadas pelo botão Predefinições no Live Link ou nas configurações de projeto ao definir Predefinição padrão do Live Link na seção Plugins - Live Link do menu. Uma predefinição também pode ser aplicada pela linha de comando ao usar "LiveLink.Preset.Apply Preset=/Game/Folder/MyLiveLinkPreset.MyLiveLinkPreset".
Componentes do Live Link
Componente de animação do esqueleto do Live Link
Quando você adiciona um componente de animação do esqueleto do Live Link a um Blueprint de ator por meio do painel Components, ele não será pai de outros componentes. Ele fica dentro do seu Blueprint e dá acesso ao evento Atualização no Live Link.
O evento "Atualização no Live Link" é acionado sempre que o componente é atualizado, incluindo dentro do editor.
Na prática, o nó On Live Link Updated substitui o seu evento de marca de verificação, mas também é executado dentro do editor. Por exemplo, se você quiser levar alguns dados do Live Link para o editor, este nó será compatível.
Componente do controle do Live Link
O componente de controle do Live Link está localizado dentro do Blueprint do personagem e permite o uso de controles do Live Link. Esses controles buscam dados do assunto do Live Link de forma automática e os aplicam a um componente correspondente no ator por meio de um controle do Live Link.
Como usar um controle do Live Link
Os controles do Live Link fornecem um método rápido de obter dados do Live Link e enviá-los para um ator na cena. Cada controle consome dados de um assunto do Live Link e os aplica automaticamente ao ator escolhido. Há três tipos de controladores definidos pela função:
Transform
Câmera
Luz
Confira abaixo os detalhes dos diferentes controles do Live Link.
Transform
O controle Transformação captura e aplica rapidamente dados da transformação de um assunto do Live Link a um ator no nível.
Este controlador fornece as seguintes opções:
| Configuração | Descrição |
|---|---|
Transformação do mundo | Define a transformação do componente para o espaço do mundo. Desmarque a opção "espaço local". |
Usar Escala | Usa dados de escala do Live Link. |
Varredura | Faz uma varredura no componente-raiz e verifica se há colisão bloqueando, acionando sobreposições durante o processo e parando antes do alvo, se estiver bloqueado. |
Teletransporte | Teletransporta o estado físico (se a colisão física estiver habilitada).
|
Câmera
O controle de câmera aplica as configurações da câmera e os dados de movimento diretamente de um assunto do Live Link com a função de câmera a um ator de câmera no nível.
As configurações da câmera que podem ser animadas incluem:
Campo de visão (em graus)
Taxa de proporção (largura/altura)
Distância Focal
Abertura da câmera em termos de f-stops
Distância de foco da câmera em cm (funciona apenas com foco manual)
Modo de projeção da câmera (perspectiva, ortogonal etc.)
Luz
O controle de luz aplica configurações de luz diretamente de um assunto do Live Link com a função "Luz" a um ator de luz em seu nível.
As configurações de luz que podem ser animadas incluem:
Temperatura da cor (em kelvin).
Energia total (em lux).
Cor do filtro.
Ângulo do cone interno (em graus para um holofote).
Ângulo do cone externo (em graus para um holofote).
Influência visível da luz (para luz pontual e holofote).
Raio suave para a forma da fonte de luz (para luz pontual e holofote).
Comprimento da forma da fonte de luz (para luz pontual e holofote).
Controles adicionais podem ser adicionados ou criados usando plugins externos. Para obter mais informações sobre plugins externos, confira a documentação Plugin.
Como aplicar um controle a um ator
A aplicação de um controle do Live Link começa com a adição do componente controle do Live Link ao ator:
Esta seção requer que você esteja conectado a uma fonte do Live Link. Para obter mais informações sobre como se conectar à sua fonte, consulte nossa documentação Plugin do Live Link.
Use as etapas a seguir para adicionar o componente no painel Detalhes:
Selecione o ator no seu nível.
No painel Detalhes, clique no botão "+ Adicionar componente" e procure o componente Controle do Live Link.
Depois de adicionado, selecione o componente na lista de componentes e abra o menu suspenso Representação do assunto. Selecione o assunto da lista que você deseja usar como fonte de dados para esse ator. A Unreal selecionará o componente a ser controlado para você com base na sua seleção. Isso pode ser ajustado, se necessário.
Com o controle configurado, o ator começará a receber dados do assunto do Live Link selecionado automaticamente.
Nós de Blueprint comuns
Os dados do Live Link podem ser acessados por vários nós de Blueprints.
Obter assuntos do Live Link
Em alguns casos, você precisará de uma lista de assuntos para usar com o nó Evaluate Live Link Frame (Avaliar quadro do Live Link). Quando isso acontecer, você poderá usar Get Live Link Subjects (Obter assuntos do Live Link):
Retorna uma matriz de assuntos que a função Evaluate Live Link Frame (Avaliar quadro do Live Link) considerará válidos.
Evaluate Live Link Frame (Avaliar quadro do Live Link)
Chamar a função "Evaluate Live Link Frame" (Avaliar quadro do Live Link) permite que você obtenha os dados do Live Link associado ao nome do assunto informado. Essa função fornece pins de execução que informam se o quadro atual é válido ou não, além de dados estáticos e relacionados ao quadro que podem ser acessados pela saída resultados de dados. Esses dados são determinados pelo tipo de função escolhida para avaliar o assunto.
O exemplo a seguir mostra os dados sendo acessados diretamente do pin da estrutura de dados.
Como usar dados a avaliação de quadro do Live Link
A avaliação de quadro do Live Link possibilita o uso de diversas funções de Blueprints para avaliar os dados que ele fornece. Os dados resultantes dependem da função sendo avaliada. Quando a função de animação é avaliada, será exibido o seguinte:
Get Basic Data (Obter dados básicos)
Get Curves (Obter curvas)
Get Metadata (Obter metadados)
Get Root Transform (Obter transformação raiz)
Get Transform by Index (Obter transformação por índice)
Get Transform by Name (Obter transformação por nome)
Number of Transforms (Quantidade de transformações)
Transform Names (Nomes de transformações)
Get Basic Data (Obter dados básicos)
O nó Get Basic Data retorna a estrutura-base do assunto que está armazenada no quadro atual do assunto.
Get Curves (Obter curvas)
A função Get Curves permite obter todas as mesclas de formas ou curvas animadas e retorna um mapa de "nomes e valores relacionados" para cada entrada.
Você pode usar Encontrar e inserir um nome para recuperar o valor da curva (ou usar um booleano para determinar se ela foi encontrada ou não).
Get Metadata (Obter metadados)
A função Get Metadata retorna a estrutura de metadados de assunto armazenada no quadro do assunto, que você pode separar para recuperar informações:
Metadados de strings são um mapa para strings nomeadas no assunto. Por exemplo, você pode passar o tipo de um objeto sendo transmitido como uma string nomeada. Os metadados também incluem o código de tempo da cena e a taxa de quadros da cena, cujas estruturas você pode quebrar para obter as informações necessárias.
| Saída | Descrição |
|---|---|
Metadados de strings | Um mapa de strings nomeadas usado para fornecer informações adicionais sobre um quadro ou assunto, por exemplo, "Tipo": "Câmera". |
Código de tempo da cena | O valor de código de tempo associado ao quadro atual. Não é garantido que será único. Por exemplo, a edição de um único quadro no MotionBuilder fará com que o código de tempo desse quadro seja enviado para vários quadros. |
Taxa de quadros da cena | A taxa de quadros correspondente ao código de tempo da cena. |
Get Root Transform (Obter transformação raiz)
A função Get Root Transform (Obter transformação raiz) retornará a transformação-raiz para o quadro do assunto como uma transformação do Live Link (ou a identidade se não houver transformações).
Retorna uma transformação do Live Link em vez de uma transformação padrão, pois você pode chamar funções adicionais nela (descritas a seguir):
| Função | Descrição |
|---|---|
Child Count (Contagem de filhos) | Retorna o número de filhos para uma determinada transformação do Live Link. |
Component Space Transform (Componente de transformação de espaço) | Retorna o valor de transformação no espaço-raiz para uma determinada transformação do Live Link (relativa à raiz do seu modelo). |
Get Children (Obter filhos) | Retorna uma matriz de transformações-filho do Live Link para uma determinada transformação do Live Link. |
Get Parent (Obter pai) | Retorna a transformação-pai do Live Link, se existir, ou uma transformação de identidade se não existir uma transformação-pais. |
Has Parent (Tem pai) | Retorna se uma determinada transformação do Live Link tem uma transformação-pai. |
Parent Bone Space Transform (Transformação do espaço-pai de osso) | Retorna o valor da transformação no espaço-pai para uma determinada transformação do Live Link (como é armazenado internamente e em relação ao osso-pai). |
Transform Name (Nome da transformação | Retorna o nome de uma determinada transformação do Live Link. |
Get Transform By Index (Obter transformação por índice)
A função Get Transform By Index (Obter transformação por índice) retorna a transformação do Live Link armazenada em um quadro de assunto, em um índice especificado (a função retorna uma transformação de identidade se o índice de transformação for inválido).
Get Transform by Name (Obter transformação por nome)
A função Get Transform by Name (Obter transformação por nome) é parecida com Get Transform by Index (Obter transformação por índice), mas recebe dados do nome da transformação.
Number of Transforms (Quantidade de transformações)
A função Number of Transforms retorna a quantidade de transformações no quadro do assunto.
Um caso de uso para isso seria usar em conjunto com Get Transform By Index (Obter transformação por índice) para executar um loop e recuperar cada uma das transformações do Live Link (semelhante ao exemplo a seguir):
Get Transform Names (Obter nomes de transformação)
A função Get Transform Names (Obter nomes de transformação) retorna uma matriz de nomes para todas as transformações em um quadro.
Como aplicar predefinição do Live Link com Blueprints
Um uso comum de Blueprints com o Live Link é usar o nó Apply to Client (Aplicar no cliente) para atribuir uma predefinição do Live Link a uma malha do esqueleto em tempo de execução:
Comece criando sua predefinição do Live Link no painel Live Link. Para obter mais informações sobre predefinições, consulte nossa documentação Plugin do Live Link.
No Blueprint do personagem, crie uma referência à sua predefinição criando uma variável e definindo o tipo de variável como Live Link Preset (Predefinição do Live Link) no painel Detalhes.
Compile seu Blueprint e defina o valor padrão da sua nova variável para a sua predefinição do Live Link salva.
Arraste a variável para o seu Blueprint e selecione Get (Obter) no menu.
Arraste da variável e procure o nó Apply to Client (Aplicar no cliente).
Conecte o nó Evento Begin Play (Evento de início de reprodução) ao nó Apply to Client (Aplicar no cliente).