Aula 03

Nesta aula vamos entrar em mais detalhes sobre o elemento chamado Matinee, o mesmo que
utilizamos no primeiro módulo para a criação de portas animadas, porém agora vamos explorar mais
esta ação, no qual estas animações também serão adicionadas em câmera, Skeletal Mesh, partículas
e até mesmo luzes.
O que é Matinee?
O elemento “Matinee” nos da a possibilidade de animar tanto seus movimentos como suas
propriedades, seja para jogabilidade, dinâmica ou cinemática. O Matinee é baseado em Keyframes,
onde nele definimos essas propriedades, muito parecido com editores de vídeo e até mesmo
criações de animação em softwares 3D.

Criando uma animação de câmera (Cinematic)
Podemos dizer que em praticamente 90% dos jogos contam com uma cinemática (também chamada
de CutScene), sendo tanto para contar historia, finalizar uma fase ou simplesmente sinalizar algum
objetivo do cenário. O que faremos aqui é justamente isso, criar uma CutScene com movimentação
de câmera, no qual também iremos trabalhar com FOV Angle e fade para deixar a animação mais
interativa. O conceito que usaremos agora é muito parecido com que usamos no primeiro módulo ao
animar uma porta. Primeiro precisamos criar a câmera que será animada no cenário. Assim como na
aula anterior, posicione a câmera no local correto (onde ela irá iniciar a animação).

precisamos dessa ação para determinar que o player vá olhar para a determinada câmera. selecione a opção Set Camera Target.Antes de criar a animação no Matinee. Para adicionar vá a New Action. este evento é chamado de Level Loaded. Lembre-se de adicionar o Target (Player) e o Cam Target (Camera). pois sem ele. depois em Camera. começando por um evento que chame a animação. estamos falando da ação Set Camera Target. já vimos este elemento na aula anterior. o player não verá a animação. . Precisamos de um evento que inicie uma ação assim que o jogo começar. Para adicionar vá em New Event. depois selecione a opção Level Loaded. vamos criar a sequencia no Kismet. Há mais um elemento extremamente importante para este caso. para depois começar a cinemática.

já a segunda denominada FOVAngle é responsável pela proximidade e distância do foco da câmera.Agora começaremos a criação do Matinee. A primeira denominada Movement é responsável pela movimentação da câmera. desta vez adicione um “Add New Camera Group”. Para esta animação iremos utilizar as duas saídas. . Com a câmera que adicionamos no cenário selecionado. mas. clique com o botão direito para adicionar um grupo. Perceba que temos duas saídas de animação diferentes. vá ao Kismet e no Context Menu selecione a opção New Matinee. Com o Matinee aberto. Defina um nome para o Grupo e clique em “OK”. De um duplo clique no Matinee para abrir o Editor.

organize a linha do tempo definindo o tempo total da animação. Defina o quadro inicial e pressione Enter para guardar o primeiro Key. facilitando nossa animação. para que todos os quadros se encaixem no tempo correto.Antes de começar as animações vamos ativar algumas opções que vão ajudar neste processo.  Ative a opção Toggle Snap. Isso fará com que a visão de perspectiva seja a mesma da câmera que vamos animar. selecione a opção Movement. faça isso dividindo os quadros entre este período de rotação. Sempre que quiser rotacionar mais que 45 graus a câmera. Para animar.05. em seguida a câmera e novamente pressione Enter. em seguida mova o tempo. para que a distribuição de tempo na grade de animação seja melhor visível.  Ative a opção de visualização de câmera. isso irá provocar uma rotação indesejada de câmera. . (Lembre que sempre o processo é de movimentar a linha do tempo e depois a câmera). ATENÇÃO: Tenha cuidado com rotações muito grandes. Feito isso.  Mude a opção Snap Size para 0.

clique com o botão direito sobre o quadro e em seguida clique em Set Value. Isto evita confusão no foco da câmera. Configure o valor como desejar e pressione OK. crie uma ação chamada Toggle Cinematic Mode. defina o tempo. pois isso manterá o foco neste mesmo valor até que você o mude. Depois que terminar a animação feche o Matinee e teste a sequência no jogo. selecione a opção FovAngle. certifique-se de que tenha um tempo entre uma mudança e outra. crie o quadro. Sempre que for mudar o valor de um foco para outro. depois em Toggle. DICA: Para evitar que o personagem continue sofrendo ações do jogador durante a cinemática. . selecione a opção Toggle Cinematic Mode.Caso queira mudar o foco de visualização da câmera. Defina sempre um foco no início da animação. que se encontra em New Action. Lembre-se de completar a sequência no Kismet (saída do Set Camera Target no Play do Matinee).

ter mais uma ação e ligar na entrada Disable. apenas selecione-o no Content Browser. .ATENÇÃO: Para que o Toggle sofra efeito. Para adicionar o Skeletal Mesh no cenário. Neste exemplo usaremos o personagem “SK_CH_IronGuard_MaleA”. principalmente os que usamos como personagem armas e veículos. porque vamos colocar um “NPC” no cenário e colocar animações (já prontas) através do Matinee. Max. onde ele ficará no cenário como um NPC (Player não jogável) fazendo determinada animação de ação. Adicionando animação em um Skeletal Mesh Já vimos anteriormente que o Matinee não é limitado a somente animações de movimentação. entre outros). Para desativar o Toggle Cinematic Mode. e na aba de Tag selecione Skeletal Mesh. vá ao Content Browser. assim estamos filtrando apenas o que precisamos. Para adicionar um Skeletal Mesh em seu cenário. pois define quem vai sofrer a ação. Para este exemplo precisamos de um Skeletal Mesh. adicione um Target que no caso será a variável do Player. clique e arraste para dentro do cenário. Blender. que nada mais é que um Mesh com esqueleto no qual já tem animações definidas em outro software (Maya. Reparem que temos vários objetos. pois o que faremos agora é um pouco diferente de esse último exemplo. porém são animações de ação e não de movimentação. XSI. MotionBuilder.

esse arquivo guarda todas as animações do Skeletal Mesh (entraremos em mais detalhes no módulo de animação de personagem). Primeiro crie um Trigger e determine que assim que o player chegar à determinada área e pressionar “E” (Used) o NPC fará a animação. No Content Browser selecione a Tag Animation Set. e em seguida abra o arquivo “K_AnimHuman_BaseMale” . Para adicionar uma animação neste personagem precisamos ver qual animação usaremos. pois o UDK já tem no seu próprio pacote algumas animações para estes personagens.Agora começaremos nossa sequência dentro do Kismet. Dentro do pacote do UDK temos um tipo de arquivo chamado Animation Set.

. precisamos definir que ele usará as animações do Animation Set que acabamos de visualizar. temos a opção Group Anim Sets. selecione Add New Skeletal Mesh Group adicione o nome do grupo e aperte OK.Com o editor aberto selecione a aba Anim. Agora volte para o Kismet e crie um novo Matinee e abra o editor. tanto de movimentações como de ações. Repare que temos uma lista de animações diferentes. Clique com o botão direito. Para que o Matinee reconheça a animação que usaremos. e em *0+ defina o arquivo que está selecionado no Content Browser. Selecione o Animation Set no Content Browser volte ao Matinee e nas propriedades do “NewSkeletalMeshGroup”. para adicionar o arquivo clique no botão “+” para adicionar uma nova aba. Usaremos esta lista para definir qual animação o NPC fará.

.ATENÇÃO: Para este passo o Skeletal Mesh do cenário precisa estar selecionado. temos a aba Movement. essas opções são todas aquelas animações que vimos no Animation Set. movimentar e salvar a posição. repare que uma janela abriu e com várias opções para escolher. onde o processo para a animação é o mesmo que utilizamos com a porta e até mesmo com a câmera. em seguida selecione a aba Anim e pressione Enter. ou seja. Determine o tempo da animação que terá o seu personagem. Caso queira adicionar movimento no NPC. Selecione a animação e de OK. Uma caixa azul será adicionada na sua linha do tempo ela determina o tempo da animação que já é definida. isso nos mostra o porque de adicionar o arquivo no passo anterior.

Começamos adicionando uma Luz Toggleable (a mesma luz que usamos para fazer ela ligar e desligar através da ação Toggle no primeiro módulo). porém ele desliga de uma forma muito “brusca”. movimentar e mudar a cor através de uma animação mais suave. se precisarmos desligar uma luz podemos usar o Toggle. já com o Matinee podemos diminuir o brilho. . aumentar a escala. Animando Luzes do cenário Uma outra forma de utilização do Matinee é com as luzes.Agora ligue a saída do Use no Play do Matinee. e faça o teste dentro do jogo.

Brightness. e para modificar o valor do brilho. Brightness: Crie um ponto na linha do tempo. Veja que quatro propriedades (Movement. Clique com o botão direito e agora selecione a opção Add New Lighting Group. Movement: Assim como movimentação de objetos. mova a luz e crie um ponto (“Enter”). (Crie dois pontos onde cada um corresponde a valores diferentes). clique com o botão direito sobre o ponto e selecione a opção Set Value. . LightColor e Radius) estão em destaque.Agora crie um novo Matinee no Kismet. e com a luz do cenário selecionada. isso significa que podemos alterar a movimentação o brilho a cor e o raio da luz. abra o Matinee Editor. selecione o tempo.

o actor em questão pode ser manipulado pela viewport e será mostrado no editor também. . Radius: Crie um ponto na linha do tempo. (Crie dois pontos onde cada um corresponde a valores diferentes). Ao fazer qualquer animação no Matinee. e para modificar o raio da luz.LightColor: Crie um ponto na linha do tempo. clique com o botão direito e selecione a opção Set Color. (Crie dois pontos onde cada um corresponde a valores diferentes). clique com o botão direito e selecione a opção Set Value. e para modificar a cor da luz.

Um mesmo keyframe é mostrado na track e na curva ao mesmo! Trata-se da mesma propriedade. Curve Editor Esta poderosa ferramenta nos permite ver e editar as tracks de animação no Matinee. os objetos voltarão para sua posição original. uma porta abrindo e copiar esta animação para outra porta diferente: O movimento de abertura será o mesmo apesar dos dois objetos estarem posicionados em lugares diferentes. pois sempre alguma propriedade dos actors é alterada em relação ao tempo. clique no ícone ( ) ao final de eu nome.Ao sair do Matinee. Acima da barra de tempo temos o Curve Editor. vá em Window e clique em Curve Editor. Dentro da janela do Matinee. . A partir do zero. por exemplo. só que em forma de gráfico. quando falamos de animação é particularmente útil. É possível criar. No caso do Matinee. Para exibir a curva de qualquer track. Para obter um controle preciso de qualquer animação é importante dominar o processo de curvas. A principal utilidade dos gráficos é enxergar ou controlar como duas ou mais variáveis se comportam umas em relação às outras. na linha horizontal do Curve Editor temos uma representação igual a da barra de tempo no canto inferior. ele ficará marcado em amarelo ( ). No lado esquerdo do Curve Editor temos uma lista das propriedades que uma mesma track controla. É importante lembrar então que as animações são relativas ao ponto inicial do objeto. Na vertical temos a propriedade a ser controlada dependendo da track.

Por enquanto. As curvas podem sofrer distorção neste caso. temos um ponto na coordenada (0. . sem deslocamento). você pode centraliza-la facilmente utilizado os atalhos no topo da janela: . Algumas propriedades são controladas por valores númericos (int e float) ao invés de vetor. Veja a curva amarela na perspectiva. descartando as outras cores. No exemplo abaixo. Mantenha a mesma associação de cores que já conhecemos: Vermelho para o X. .Zoom Mode: Permite ajustar o nível de zoom da tela. Dica: Assim que a curva aparecer. Verde para o Y e Azul para o Z. No instante 0 segundos.Veja no Curve Editor que a track foi adicionada. Uma linha amarela será adicionada junto ao nome do actor.Faz a curva caber no tamanho atual da tela. O quadradinho amarelo irá ocultar a curva (clique novamente para ela aparecer.0). com apenas um keyframe. o objeto foi animado no eixo X utilizando dois keyframes.Centraliza a curva fazendo-a caber na horizontal. nosso objeto está no ponto inicial da animação (também 0.Faz os pontos selecionados caberem no tamanho atual da tela. Repare que abaixo do nome do actor temos quatro quadradinhos ( e ).Centraliza a curva fazendo-a caber na vertical. . neste caso a curva é vermelha.Pan Mode: Permite arrastar a câmera para onde desejar . indicando caminho do objeto e depois repare no Curve Editor a trajetória: . . mas seus valores não serão alterados por isto. caso já esteja oculta).

desenhar com vetores no Photoshop com a ferramenta Pen. É importante utilizar alças para controlar o fluxo de qualquer animação.Clique sobre um dos pontos para visualizar sua alça: Estas alças são semelhantes a outras formas de curva como. . por exemplo.

pela Matemática. Curve (Break): Permite que cada alça seja alterada independentemente. Auto-curve: Suaviza a curva e mantém as alças sem alterações (conhecido como “flattened”. suave ou constante de acordo como puxamos suas alças. Straighten Tangent: Retira qualquer ponto de quebra das alças. Ele se modifica sempre na mesma cadencia. É o modo personalizado pelo usuário. localizados na barra do Curve Editor. Quando uma curva quebra significa que algum valor é alterado bruscamente. Acelera e desacelera suavemente. A curva assume a forma de segmento de reta até que seu valor seja alterado. rápida. Constant: Uma constante significa que não há alteração naquele valor. Linear: Segmentos de reta também são curvas. Neste modo. brusca. Efeito suave na saída do primeiro ponto e na chegada do segundo. . Vamos apresentar algumas das curvas mais comuns abaixo. Flatten Tangent To Axis: Reseta quaisquer alterações nas alças deixando-as retas novamente (flattened). Curve (User): Este modo é ativado automaticamente sempre que uma alça for alterada. ou seja: A transição de um ponto para outro pode ser devagar. Na interpolação linear não vemos variação na transição de um ponto ao outro. Conhecido como “easy-in” e “easy-out”. Elas sempre serão tangentes e específicas para cada ponto. Todos os keyframes selecionados são afetados ao clicar em um destes modos. a curva pode “quebrar”. deixando-as alinhadas novamente. achatadas. ao mexer em uma a outra automaticamente é alterada. quando estão retas) Auto-Clamp: Todos os keyframes selecionados serão limitados aos seus valores máximos e mínimos baseado nos pontos anterior e posterior a ele. Note que no modo normal.As alças representam uma forma prática e visual de controlar a interpolação entre quaisquer pontos de uma curva. O UDK possui atalhos para interpolações automáticas.

mais rápido ele chega até o próximo ponto. o objeto ganha velocidade cada vez mais. temos aceleração negativa que faz o objeto frear. Curva com break . No caso abaixo. Se a curva desce.Aceleração Podemos ter dois tipos de aceleração: Positiva e negativa. acelerando bem pouco até o segundo ponto. Quando a curva sobe. Interpolação linear A transição de um ponto a outra acontece em velocidade constante sempre que a curva possuir um trecho de linha reta. o objeto se move bem devagar. Quanto mais íngreme.

parar e então acelerar no sentido contrário. Tome um cuidado extra para a transição não ficar brusca demais! Se um actor em alta velocidade está indo pra frente e precisa parar e voltar para trás no mesmo eixo. de um ponto para outro o valor não se altera sendo representado por um segmento de reta.Utilizando a interpolação Break. e no outro em “B” qualquer). Este recurso é útil para trazer ou retirar actors da visão da câmera. . Adicione keyframes extras caso isto aconteça para controlar melhor a animação. num instante ele está no ponto “A” qualquer. Constantes Quando um keyframe é constante. a transição brusca de um ponto a outro é útil quando um objeto precisa alterar rapidamente seu movimento ou rotação. considere que ele deve desacelerar rapidamente. fazer com que apareçam ou sumam num instante. Não inverta o sentido do nada ou o actor irá simplesmente “pular” de um estado pro outro ignorando as leis da Física com um resultado não natural. Se tivermos a transição de uma constante para outra o actor irá “pular” até o próximo estado (não há meio termo.

html http://udn.com/Three/MatineeTrackReference. Links para pesquisa: http://udn. .epicgames.html A validade dos links desta aula depende dos sites hospedados.Também podemos utilizar constantes para fazer que com que um actor mantenha seu valor atual pelo tempo que for necessário.epicgames. De maneira alguma a Saga e seus funcionários assumem responsabilidade por sua integridade. como na segunda curva deste exemplo.com/Three/MatineeUserGuide.