Desempenho

Introdução

Você já deve estar familiarizado com o Sistema de Linha do Tempo. Muito parecido com o Sistema de Linha do Tempo, o Sistema de Desempenho oferece um conjunto de ferramentas de sequenciamento de conteúdo visual. Ele permite que os criadores organizem elementos como animações, efeitos sonoros, transições de câmera e gatilhos de eventos em uma única linha do tempo para controle, muito parecido com a edição de vídeo. Isso permite a produção de conteúdo comumente usado para sequências narrativas, transições de nível e cenas cinematográficas.

kellyrun

Conceitos fundamentais

Linha do tempo

Como o nome sugere, a linha do tempo é uma ferramenta de edição centrada na sequência temporal. Você observará uma régua calibrada por tempo, na qual faixas, clipes e outros elementos serão organizados para determinar sua respectiva ordem de reprodução.

image-20250916173640541

Cursor de reprodução

O indicador de reprodução serve como um indicador temporal na linha do tempo, marcando e controlando a visualização atual ou o ponto operacional.

image-20250916191828794

Arrastar o indicador de reprodução permite a pré-visualização em tempo real do desempenho de todas as faixas. Simultaneamente, serve como uma ferramenta poderosa para identificar quadros ou momentos específicos.

Faixas

image-20250916174521004

As faixas servem como contêineres para conteúdo, armazenando elementos e seus dados de transformação temporal. O sistema de desempenho oferece vários tipos distintos de trilhas, cada uma capaz de hospedar apenas tipos específicos de entidades e processá-las de maneira diferente.

As trilhas possuem uma hierarquia pai-filho. Por exemplo, uma trilha de ator que hospeda um NPC pode conter uma subtila de componente de transformação. Essas subtilhas normalmente contêm atributos da entidade da trilha pai ou conteúdo fortemente relacionado a ela.

Atualmente, as trilhas suportam apenas entidades já colocadas na cena. Se uma entidade for destruída durante uma performance, o conteúdo da trilha correspondente deixará de funcionar. Portanto, certifique-se de que as entidades relevantes persistam durante toda a performance.

Trilha de Ator

A Trilha de Ator pode hospedar a maioria das entidades, como blocos básicos, NPCs, monstros, veículos e assim por diante. Ao adicionar subtrilhas à Trilha de Ator, trilhas distintas podem ser criadas para manipular essa entidade.

Faixa de animação

As faixas de animação só podem existir como faixas filhas e exigem que a entidade da faixa pai possua o componente “Animation Controller Attachable” (Controlador de animação acoplável). As faixas de animação permitem que a entidade da faixa pai reproduza clipes de animação armazenados na faixa.

Faixa AlongPath

As faixas AlongPath só podem existir como faixas filhas e exigem que a entidade da faixa pai possua um componente Transform. As faixas AlongPath combinam caminhos curvos personalizados (Caminho Curvo Personalizado) para mover a entidade da trilha pai ao longo de uma rota especificada.

SignalTrack

Apenas quadros de eventos podem ser adicionados a uma SignalTrack para enviar sinais de eventos personalizados. Veja abaixo os detalhes sobre o uso de eventos.

Skybox Track

Apenas uma trilha Skybox pode existir por arquivo de performance, e objetos Skybox não podem ser adicionados às trilhas de atores. Apenas quadros Skybox podem ser adicionados à trilha Skybox para ajustar os parâmetros Skybox.

Trilha Camera Switch

Apenas clipes de câmera personalizados podem ser adicionados à trilha Camera Switch. Quando o indicador de reprodução aponta para um clipe de câmera, a performance usará essa câmera; quando aponta para uma trilha vazia, a câmera do player será usada.

Câmeras podem ser adicionadas às trilhas de ator como atores para ajustar os parâmetros da câmera.

Trilha de áudio

As trilhas de áudio podem conter clipes de áudio para adicionar som à performance.

Clipe

Os clipes são as unidades fundamentais nas trilhas, representando o estado do conteúdo durante um período específico na linha do tempo. Dependendo do tipo, o inspetor de um clipe exibe diferentes propriedades ou configurações.

image-20250916192708566

Geralmente, os clipes sempre possuem os seguintes atributos:

  • Hora de início: o ponto em que o clipe começa a ser reproduzido na linha do tempo
  • Hora de término: o ponto em que o clipe termina de ser reproduzido na linha do tempo. Esse tempo é calculado automaticamente com base na hora de início e na duração e não pode ser ajustado
  • Duração: o tempo total de reprodução do clipe
  • Duração do recurso: a duração do recurso utilizado pelo clipe. Este campo tem significados diferentes para cada tipo de clipe; por exemplo, em clipes de animação, ele denota a duração do recurso de movimento, enquanto em clipes AlongPath, ele indica o tempo necessário para percorrer o caminho à velocidade padrão de 1 m/s.

Fragmentos de animação

image-20250917200536649

image-20250917151234256

Os clipes de animação devem ser colocados em uma trilha de animação, com cada clipe contendo uma animação. A animação usada deve ser ajustada ao esqueleto da entidade da trilha pai. Os clipes de animação possuem os seguintes parâmetros especiais:

  • Clipe: O recurso de animação a ser reproduzido
  • Velocidade de reprodução: Taxa de reprodução da animação. O padrão é 1. Valores maiores que 1 aceleram a reprodução; valores menores que 1 diminuem a velocidade da reprodução.
  • Modo de loop: Dentro de uma trilha, a duração de um clipe pode exceder a duração do recurso. Este parâmetro determina o comportamento após o recurso completar um ciclo de reprodução.
  • Nenhum: sem processamento; a entidade da trilha pai retoma a pose padrão
  • Manter: permanece no quadro final do recurso de animação até o final do segmento
  • Loop: repete o recurso de animação até o final do segmento
  • Loop infinito: continua repetindo a animação mesmo após o final do segmento, normalmente para elementos de fundo persistentes (por exemplo, ambientes naturais, efeitos de loop)

Fragmento AlongPath

image-20250917200453723

image-20250917162604854

Os clipes AlongPath só podem ser adicionados às faixas AlongPath e devem usar o Caminho de Curva Personalizado como seu conteúdo. Este clipe representa o caminho de movimento da entidade da faixa pai durante este período de tempo. Os clipes AlongPath possuem os seguintes parâmetros especiais:

  • Path (Caminho): Qual caminho de curva personalizado é utilizado
  • Playback Speed (Velocidade de reprodução): O multiplicador de velocidade para o movimento da entidade. As entidades se movem a 1 m/s por padrão dentro do sistema AlongPath do mecanismo de desempenho. Ajustar esse multiplicador controla a velocidade de movimento da entidade, pois as alterações na velocidade de movimento alteram o comprimento do recurso de acordo. Velocidade de movimento * Comprimento do recurso = Comprimento do caminho
  • TangentFacing: se a entidade mantém a orientação para a frente ao longo do caminho durante o movimento. Quando o caminho é curvo, ativar essa configuração garante que a entidade em movimento fique sempre voltada para a direção do caminho; desativá-la permite que a entidade mantenha sua própria orientação. Alternar essa configuração não afeta outras operações que manipulam a direção da entidade
  • Tipo: semelhante à extrapolação para trás em clipes de animação, isso determina como as entidades em movimento são tratadas quando o comprimento do clipe AlongPath excede o comprimento do recurso.
  • Nenhum: nenhum processamento ocorre; o objeto para de se mover no ponto final do caminho.
  • Loop: após completar um movimento, reinicie o movimento a partir do ponto inicial até o clipe terminar. Isso pode fazer com que a entidade se teletransporte do ponto final para o ponto inicial.
  • Ping-pong: após completar um movimento, inverta a direção do ponto final em direção ao ponto inicial. Ao chegar ao ponto inicial, volte em direção ao ponto final, repetindo esse ciclo até o clipe terminar.

Fragmentos de câmera

image-20250917200311855

Os clipes de câmera só podem especificar uma câmera específica para atingir o objetivo de alternar entre câmeras.

Embora os parâmetros da câmera não possam ser ajustados dentro do próprio clipe de câmera, a câmera pode ser adicionada como um ator à trilha do ator para atingir o objetivo de ajustar os parâmetros da câmera. Consulte o conteúdo relevante na seção de aplicações avançadas.

Clipe de áudio

image-20250917200415730

image-20250917200652225

Os clipes de áudio são análogos aos clipes de animação, com cada clipe de áudio contendo um segmento de áudio. Os clipes de áudio possuem os seguintes parâmetros específicos:

  • Clipe: O recurso de áudio que está sendo reproduzido
  • Velocidade de reprodução: Taxa de reprodução de áudio. O padrão é 1. Valores acima de 1 aceleram a reprodução; valores abaixo de 1 desaceleram a reprodução
  • Loop: Tratamento quando a duração da reprodução excede a duração do recurso:
  • Nenhum: Nenhuma ação. O áudio cessa após o término do recurso
  • Loop: Repete o áudio até o final do clipe
  • Loop infinito: Repete o áudio indefinidamente, mesmo após o término do clipe

Quadros-chave

image-20250919114226813

Os quadros-chave servem como âncoras na linha do tempo de uma trilha, registrando o estado de uma entidade ou propriedade em um momento específico dentro dessa trilha. O sistema de desempenho interpola automaticamente a diferença entre as propriedades de dois quadros-chave, criando um efeito de transição suave ao longo do tempo.

Os quadros-chave podem ser adicionados às seguintes trilhas:

  1. Trilha do ator
  2. Subtrilhas de propriedade da trilha do ator
  3. Trilha do evento
  4. Faixa Skybox

Quadros-chave da faixa do ator

image-20250919120921902

Os quadros-chave da trilha do ator marcam instâncias em que certas propriedades do ator possuem quadros-chave naquele momento. Embora você possa criar quadros-chave diretamente na trilha do ator, eles não têm nenhuma finalidade prática se nenhuma propriedade for alterada.

Ao selecionar um quadro-chave, você pode visualizar as propriedades do ator que são ajustáveis dentro do sistema de desempenho:

image-20250919120956960

Ao ajustar uma propriedade, o sistema cria automaticamente uma subtracção para essa propriedade e coloca quadros-chave nela. Por exemplo, definir a visibilidade do bloco como False em 1 segundo:

image-20250919121206923

Isso significa que o bloco se torna invisível um segundo após o início da apresentação.

Vale a pena notar que o sistema apenas interpola propriedades entre dois quadros-chave. Por exemplo, se aumentarmos a altura do cubo branco em 1 m na marca de 2 segundos, ele manterá sua altura original até o ponto de 2 segundos e, então, aumentará instantaneamente em um metro:

cube1

Para transições mais suaves, adicione um quadro-chave no início da performance. Isso faz com que o sistema interpola automaticamente as alterações de propriedade:

cube2

Quadros-chave de evento

Os quadros-chave de evento são um tipo especial de quadro-chave que não registra nenhuma propriedade, mas aciona eventos personalizados em momentos específicos. Quando sua performance atingir um determinado ponto, você pode querer executar uma lógica de jogo adicional; nesses casos, usar quadros-chave de evento é a solução ideal:

image-20250919122418596

Você pode criar eventos personalizados com antecedência ou gerá-los ao adicionar quadros-chave de evento. Eventos personalizados criados em quadros de evento também podem ser utilizados em outras lógicas do jogo.

image-20250919122547758

Quadro-chave Skybox

image-20250919122629314

Os quadros-chave Skybox são um tipo especial de quadro-chave que só pode ser criado na trilha Skybox e só pode ajustar determinadas propriedades do Skybox.

Primeiro uso

O exemplo a seguir demonstra as operações fundamentais do sistema de desempenho usando “Kelly correndo 50 metros ao longo do eixo X em 5 segundos”.

Criando um arquivo de desempenho

Você sempre precisa de um arquivo de desempenho para editar desempenhos. Crie um estabelecendo um novo arquivo na pasta de ativos.

image-20250916171509613

Clique duas vezes no arquivo de desempenho para entrar no editor de desempenho.

image-20250916172016335

Sim, todo o editor está agora no modo de edição de desempenho.

Operações básicas

Primeiro, vamos colocar um NPC Kelly na cena.

image-20250919143425340

Adicionando trilhas

No painel Editor de desempenho, adicione uma trilha de ator. Ao adicionar uma trilha de ator, o editor detectará automaticamente os objetos na cena que podem servir como atores:

image-20250919143750026

Precisamos que Kelly se mova e reproduza a animação de corrida. Teoricamente, isso exigiria a adição de uma subfaixa de transformação e uma subfaixa de animação. No entanto, conforme explicado anteriormente, a modificação de quadros-chave gera automaticamente as faixas de propriedade correspondentes. Portanto, apenas uma faixa de animação é necessária aqui.

image-20250919144053483

Para facilitar o gerenciamento, podemos nomear a trilha de animação recém-criada de acordo com sua função real: Animação em execução.

image-20250919144732730

Adicionando fragmentos

Adicione uma ação de corrida personalizada para a personagem feminina à trilha de animação:

image-20250919144851061

Queremos que Kelly corra por 5 segundos, então estenda este clipe para 5s. Além disso, Kelly deve manter o movimento de corrida durante todo o tempo, então defina a extrapolação do clipe de animação como “Loop”.

image-20250919145033605

Adicionando quadros-chave

Queremos que Kelly comece em sua posição inicial e percorra 50 metros ao longo do eixo X. Portanto, dois quadros-chave devem ser inseridos aos 0 segundos e 5 segundos da performance:

image-20250919145135094

image-20250919145315721

Ao adicionar um quadro-chave selecionando-o na linha do tempo, o quadro-chave será criado no momento em que o indicador de reprodução estiver posicionado; ao adicionar clicando com o botão direito do mouse na linha do tempo, o quadro-chave será criado na localização do cursor do mouse. No entanto, você sempre pode ajustar as posições dos quadros-chave posteriormente.

Em seguida, selecione os dois quadros-chave em sequência e defina seus valores X como -25 e 25, respectivamente.

! image-20250919145752158

Esta é a posição aos 5 segundos, com um valor X de -25 aos 0 segundos.

image-20250919150144071

Pré-visualização

Clique para reproduzir. Podemos ver que Kelly se moveu corretamente 50 metros, mas a direção parece incorreta:

Exigimos que Kelly fique voltada para a direção positiva do eixo X desde o início da performance. Para isso, basta ajustar a orientação no quadro-chave de 0 segundo ou modificar a orientação base de Kelly:

image-20250919150629503

Ao reproduzir novamente, Kelly agora corre corretamente:

KellyRun2

Usar uma trilha AlongPath também pode produzir o efeito de fazer Kelly percorrer uma rota. Na verdade, durante performances complexas, os objetos nem sempre se movem em linhas retas, então usar uma trilha AlongPath é invariavelmente a melhor escolha.

Operações comuns

A seguir, apresentamos algumas operações comuns no editor do sistema de performance.

Operações básicas

No painel de controle, você pode realizar ações fundamentais na performance atual:

image-20250919160144169

São elas:

  • Mover o indicador de reprodução para o início/fim da performance
  • Avançar/retroceder o indicador de reprodução em um quadro
  • Reproduzir ou pausar a performance
  • Mover o indicador de reprodução para um tempo específico

Além disso, você pode ampliar ou reduzir a área da trilha usando o atalho Ctrl + roda de rolagem para ajustes mais precisos.

image-20250919174519409

Visualização do cursor

Durante a edição local, não há necessidade de reproduzir toda a performance. Basta mover o indicador de reprodução e a performance exibirá instantaneamente o estado naquele momento.

KellyRun3

Gravação

A gravação oferece um método conveniente para adicionar quadros-chave. Ao clicar no botão de gravação, todo o sistema de performance entra no modo de gravação. As faixas que estão sendo gravadas serão marcadas em vermelho escuro:

! image-20250919165555612

Basta ajustar o indicador de reprodução para selecionar o momento que deseja editar e, em seguida, modificar o estado do objeto nesse ponto da cena para gravar um quadro-chave. Todas as propriedades alteradas (posição, rotação, escala, etc.) serão capturadas automaticamente no quadro-chave recém-criado. Continue ajustando o indicador de reprodução para modificar os estados subsequentes em diferentes pontos no tempo.

Ao ajustar repetidamente o indicador de reprodução e os objetos, você estabelecerá vários quadros-chave em toda a linha do tempo, formando assim uma performance contínua, muito semelhante à gravação de um vídeo.

cubemove1

cubemove2

Ajuste dos parâmetros dos quadros-chave

Normalmente, a gravação permite apenas ajustes aproximados. Para um desempenho altamente preciso, ajuste os parâmetros diretamente nos quadros-chave.

image-20250919171705032

Selecione um quadro-chave para visualizar as propriedades ajustáveis.

Se a trilha pai estiver selecionada, todas as propriedades ajustáveis ficarão visíveis; se uma trilha de propriedade específica estiver selecionada, apenas essa propriedade poderá ser ajustada.

Os ajustes feitos na trilha pai gerarão automaticamente trilhas filhas abaixo, dependendo do tipo de propriedade que está sendo modificada.

Visualização

image-20250919172838584

Dentro da área de edição, há um botão de pré-visualização. Quando esse botão está destacado, isso indica que a cena está no modo de edição de performance. Para voltar a editar o jogo dentro do editor de cena, basta desativar a pré-visualização. Observe que o indicador de status diretamente acima do editor de cena permite distinguir entre os dois modos.

Como as performances ocorrem dentro da cena do jogo, elas podem parecer muito semelhantes. No entanto, a edição de cena e a edição de performance são dois sistemas de edição distintos.

Por exemplo, aqui definimos as coordenadas iniciais do cubo branco na performance para serem 2 metros mais altas do que na cena. Embora ambos usem o mesmo objeto, o estado do cubo branco na cena e na performance não é consistente.

cubemove3

Perspectiva do público

image-20250919181801554

Quando a Visualização do Público está ativada, a janela de pré-visualização reproduzirá a apresentação da perspectiva de um membro real do público, permitindo que você verifique a apresentação do espetáculo no mundo real. Quando a Visualização do Público está desativada, a janela de pré-visualização reproduzirá no modo de edição de cena, facilitando ajustes gerais.

Observe que os efeitos do evento não podem ser exibidos na pré-visualização. Ao usar eventos, você precisará usar sua imaginação ou verificar os efeitos durante a depuração do jogo.

Reprodução

Você deve usar um script do lado do cliente para reproduzir a performance.

image-20250929173212725

No momento apropriado (por exemplo, por meio de um gatilho), use o script do cliente para reproduzir o arquivo de performance especificado.

Aplicações avançadas

Colaboração multitrilha

Você deve ter notado que, quando fizemos Kelly correr, nenhuma trilha de áudio foi adicionada. Isso significa que a reprodução real dessa performance não terá sons de corrida.

Ao editar performances, precisamos utilizar a colaboração multitrilha para obter melhores resultados.

Ao incorporar faixas de câmera e áudio, podemos obter uma performance com efeitos aprimorados:

image-20250919181121516

KELLYRUN4

Tem som, sabia?

Operações de trilhos

Com mais objetos, aumenta o número de trilhos, elevando o potencial de operações acidentais.

Você pode:

Bloquear faixas

image-20250919182517590

As faixas bloqueadas continuarão a ser reproduzidas normalmente durante a apresentação, mas não poderão ser editadas. Se determinadas faixas tiverem sido temporariamente finalizadas, você pode bloqueá-las.

Desativando faixas

image-20250919182703686

As faixas desativadas não participarão mais da apresentação, embora suas configurações permaneçam preservadas. Desbloqueá-las irá restaurá-las para a performance a qualquer momento. Se você não tiver certeza sobre excluir permanentemente uma faixa ou desejar observar a performance sem ela, é recomendável desativar a faixa.

Eventos

Os eventos ajudam você a:

  1. Criar efeitos não suportados pelo sistema de performance
  2. Implementar a lógica do jogo nas performances

Por exemplo, embora o sistema de performance atualmente não ofereça suporte para diálogos da trama, podemos obter esse efeito criando uma interface de diálogo combinada com eventos:

Crie uma interface de diálogo:

image-20250922140523800

Envie eventos personalizados em momentos específicos durante a apresentação através do Event Rail:

image-20250922113643309

O evento é enviado para a entidade global do cliente, portanto, um script do lado do cliente deve ser criado globalmente para recebê-lo:

image-20250922140538997

A reprodução aparece como:

KELLYRUN5

Além disso, você pode utilizar eventos durante a reprodução da performance para equipar os jogadores com armas, redefinir mecanismos ou lidar com processos relacionados ao carregamento.

Manuseio da câmera

Sem uma câmera dedicada, as performances são reproduzidas diretamente na cena, exigindo que os jogadores se concentrem ativamente na área de performance para visualizar o conteúdo. Para sequências no estilo de cenas cinematográficas, é altamente recomendável adicionar uma câmera extra. Basta colocar a câmera personalizada em uma trilha de troca de câmera; o sistema de performance trocará automaticamente a câmera do jogador durante o evento e retornará à câmera padrão depois.

Quando várias trilhas de câmera se sobrepõem, a câmera da trilha mais baixa tem precedência:

image-20250919184520353

Conforme descrito acima, a troca de trilhas da câmera lida apenas com a transição para a câmera designada. Para obter efeitos de câmera baseados no tempo, uma trilha de ator adicional deve ser estabelecida para hospedar a entidade da câmera:

image-20250919184800825 image-20250919184946219

Agrupamento de atores

Você pode estar se perguntando: se você precisa que a câmera siga Kelly e crie um efeito de rastreamento, isso significa adicionar várias trilhas e ajustar meticulosamente suas transformações para sincronizar seus movimentos?

Em certos cenários, você pode realmente precisar investir um tempo considerável ajustando cada detalhe da performance. No entanto, para tomadas de rastreamento padrão, você pode simplesmente mesclar alguns atores em uma hierarquia pai-filho dentro da cena.

image-20250919185333372

As performances não interrompem as hierarquias pai-filho; aplicar operações de transformação a Kelly sincronizará essas alterações com seus objetos filhos. Designar efeitos especiais e câmeras de acompanhamento como objetos filhos é extremamente eficiente.

Observe, no entanto, que objetos filhos ainda podem ser adicionados às trilhas de performance como performers. Nesses casos, suas propriedades de transformação operam dentro de um sistema de coordenadas local, o que significa que sua posição, rotação e escala são relativas ao objeto pai.

image-20250919185605246

Ocultando atores

Todos os artistas em uma apresentação são originários da cena. Você pode ocultá-los pré-configurando sua visibilidade como False ou realocando-os para posições distantes.

No início da apresentação, ative sua visibilidade ou posicione-os dentro da área de apresentação.

Observe que desativar a visibilidade preventivamente requer gerenciamento de colisão, pois os objetos mantêm volumes de colisão mesmo quando invisíveis.

Otimização do desempenho

Uma apresentação pode envolver um número considerável de entidades apenas para fins de apresentação. Quando a apresentação termina, essas entidades não são mais necessárias no jogo. Consequentemente, eventos podem ser utilizados para destruir essas entidades após o término da apresentação.

Em relação ao método mencionado acima de ocultar atores, procure evitar renderizar um número excessivo de entidades em um único quadro no início da apresentação. Isso prejudica muito o desempenho. Utilize técnicas como arte de câmera ou transições para evitar a renderização simultânea de muitas entidades.