Sei sulla pagina 1di 19

Kismet - Avanado

Aula 01
Nesta aula veremos uma introduo aos elementos gerais do Kismet e apresentaremos os que iremos utilizar
durante este mdulo. Trabalharemos tambm com algumas aes que iro nos auxiliar durante uma criao
de sequncias, sendo uma cmera de segurana ou ate mesmo modificar a vida do player depois de algum
evento.
O que o Kismet?
Kismet uma forma muito mais flexvel para os no programadores criarem interaes dentro do cenrio,
pois aqui no usaremos linhas de cdigo, mas sim sequncias entre eventos, aes, condies e variveis.
Viso Geral

Main Window: onde os elementos do Kismet so posicionados para criar aes no jogo.
Properties Window: Todos os itens criados no Kismet tm propriedades individuais, e aqui onde as
propriedades podem ser acessadas e alteradas.
Sequences Window: Dependendo da complexidade do jogo, o Kismet tem que ser dividido em partes
separadas. O Sequences Window ajuda o usurio a separar essas partes, ainda fazendo com que elas
possam se comunicar entre si ou serem individuais.

Main Window

Clear All Breakpoints: Apaga todos os pontos Debugger da janela


Open New Window: Abre uma nova janela do Kismet
Update List: Serve para atualizar a lista
Search Tool: Abre a janela de busca
New Sequence Object List: Cria uma nova subsequncia atravs de uma busca
Show All Connectors: Mostra todos os conectores
Hide Unused Connectors: Esconde os conectores que no esto sendo usados
Zoom to Fit: Ajusta o zoom da Main Window
Rename Sequence: Permite renomear a sequncia mais recente
Open Parent Sequence:
Navigate Forward: Avana uma ao feita dentro do Kismet
Navigate Back: Retrocede uma ao feita dentro do Kismet

Movimentao
Clique direito ou esquerdo

Movimenta a janela

Clique direito e esquerdo (juntos) ou Scroll

Aumentar/Diminuir Zoom

Clique direito em qualquer sequncia

Seleciona a sequncia

Ctrl + Clique esquerdo

Movimenta a sequncia

Ctrl + Chique em mais de uma sequncia

Cria mais de uma seleo

Ctrl + Shift + Clique esquerdo (arrastar)

Cria uma caixa de seleo

Atalhos
Ctrl + C
Ctrl + V
Ctrl + X
Ctrl + W
Delete
Backspace
Ctrl + Z
Ctrl + Y
C
A
Ctrl + Tab
R e clique esquerdo
Page Up
Page Down

Copia um objeto
Cola o objeto copiado
Recorta o objeto selecionado
Duplica o objeto selecionado
Apaga um objeto selecionado
Vai para a sequncia a cima
Undo
Redo
Cria uma Comment Box
Zoom no objeto selecionado
Pula para a prxima sequncia
Create a Remote Event/Activate Remote Event pair
Trs o objeto selecionado para frente
Manda o objeto selecionado para trs

Context Menu
Aqui onde iremos encontrar todos os elementos para a criao de uma sequncia.
Para acessar o Context Menu clique com o boto direito em qualquer rea vazia do Main Window.

Destes elementos temos:

New Action: Executa uma ao em um objeto no cenrio baseado em uma instruo escolhida
New Matinee: Elemento que cria a sequncia do Matine (usado para animaes)
New Condition: Usada para comparar duas coisas. Os elementos aqui presentes basicamente
utilizam a ao Se... Ento....
New Variable: Cria uma varivel que pode ser manipulada por uma ao, condio ou qualquer
outra ao do Kismet. (Repare que as variveis so determinadas por cores, onde cada uma
corresponde uma funo diferente).
New Event: Cria um novo evento para dar inicio a uma ao.
New Comment: Cria um comentrio em texto
New Comment (Wrap): Cria um comentrio em texto com uma caixa de marcao.
Create New Sequncia: Cria uma nova sequncia

Exemplo dos elementos:

Criando uma sequncia simples:


Iremos comear com uma sequncia mais simples para primeiro entender todo o conceito de Evento/Ao.
Como j vimos no primeiro mdulo onde criamos nossa primeira sequncia (interao com porta), para
comear uma sequncia precisamos da existncia de algum evento (atirar em algum objeto, comear o jogo,
player nascer, chegar a algum determinado ponto, pressionar uma tecla em algum local, entre outros), para
em seguida sofrer alguma ao (ligar/desligar luz e partculas, modificar a vida do personagem, adicionar um
objeto no cenrio, modificar o material do Static Mesh, etc...).
Para este exemplo iremos criar uma das sequncias mais usadas ao longo de um jogo, que seria modificar a
vida do jogador ao passar em determinado local.
Primeiro iremos criar um evento para esta sequncia. Adicione um Trigger no local onde pretende sofrer a
ao de tomar dano (o mesmo trigger que aprendemos no primeiro mdulo).

Agora iremos adicionar este Trigger dentro do Kismet. Com o trigger selecionado, v janela do Kismet, e com
o boto direito na Main Window v a New Event Using Trigger_0 e em seguida clique em Touch.
OBS: H uma grande diferena entre criar um evento em New Event Using e criar em somente New Event.
Pois em New Event Using estamos determinando que o evento seja criado a partir de um objeto do cenrio, j
em New Event criamos um evento sem nenhum ligamento com objetos.

Feito isso, agora iremos adicionar a ao da nossa sequncia, que neste caso ser o player receber um dano.
V janela do Kismet e novamente clique com o boto direito em uma rea vazia do Main Window, v ate a
aba New Action e repare que agora temos vrias outra abas, onde cada uma corresponde tipos de aes
diferentes. Nosso exemplo necessita de uma ao chamada Modify Health, para acessa-la v a New Action ->
Actor -> Modify Health.

Agora que adicionamos tanto o evento como a ao, precisamos ligar esta primeira sequncia, ento ligue a
sada Touched do Trigger na entrada In do Modify Health assim como na imagem.

Mesmo com a sequncia criada, ainda precisamos modificar e adicionar alguns elementos, primeiro, quanto o
jogador ir receber de dano. Acesse as propriedades do Modify Health (clicando sobre o elemento), agora na
aba de propriedades que esta no canto inferior esquerdo da tela do Kismet, v opo Amount e mude o valor
para 50 (quantidade que o player ir receber de dano).

Com o dano definido, agora s nos resta definir quem ir receber essa ao, e o responsvel por esta
propriedade o Target do Modify Health. Porm para adicionar uma propriedade no Target precisamos de
uma varivel, sendo que esta varivel tem que estar relacionada ao player que ir tomar o dano. Para criar
essa varivel acesse o Context Menu, em seguida v na aba New Variable -> Player -> Player.

Para finalizar crie o ligamento do Target na Varivel Player.

Teste sua sequncia no jogo e repare que ao passar na rea determinada do trigger, o player ir tomar um
dano de 50.

Criando uma cmera


Agora vamos iniciar o processor de criao de cmera, onde varias interaes podem ser adicionadas nesta
cmera (cmera de segurana, cinemtica, entre outros). Como exemplo, criaremos uma cmera onde o
player ir acess-la ao usar um objeto.
Primeiro precisamos criar essa nova cmera no cenrio e posicionar no local correto. V ao Content Browser e
clique sobre a opo Actor Classes. Feito isso, selecione CameraActor que est na categoria Common.

Feito isso, volte ao cenrio, clique com o boto direito e ento escolha Add CameraActor Here, ou
simplesmente clique e arraste para o local onde queira adicionar a cmera.

Feito isso, precisaremos posicionar a cmera no local correto. Para isso v ao cenrio e clique na opo Lock
Selected Actors to Camera que fica em cima das Viewports. Aps isso de um clique sobre a cmera e j
estaremos na viso dela.

Agora posicione a cmera onde desejar.


CUIDADO: Assim que posicionar, desmarque a opo Lock Selected Actors to Camera para evitar mover o
prximo item selecionado.
Agora precisamos dar incio a nossa sequncia dentro do Kismet. J com um Trigger adicionado no cenrio (no
local onde voc queria que o jogador use algum objeto), crie um evento New Event Using Trigger_1 Used
desse trigger.
OBS: Lembre-se de desmarcar a opo Aim To Interact no evento Used, assim o jogador no precisa mirar
precisamente no Trigger para ativ-lo.

Feito isso, agora iremos criar a sequncia. O prximo elemento uma ao.
Este elemento nos possibilita de mudar a viso do jogador para uma determinada cmera do jogo, ele se
chama Set Camera Target. Para criar este elemento v a New Action -> Camera -> Set Camera Target.

Agora s precisamos criar as variveis que iro determinar qual player ir sofrer a mudana e por qual cmera
o player ir olhar. Crie a varivel do player assim como no exerccio anterior, e ligue com o elemento Target
(aqui estaremos definindo para qual jogador a cmera ir mudar).

Para a opo Cam Target (define a cmera que ser usada), selecione a cmera no cenrio, e na janela do
Kismet abra o Context Menu e selecione a opo New Object Var Using CameraActor_0, em seguida ligue o
Cam Target na varivel da cmera.

Finalize a sequncia conectando a sada do Used na entrada do Set Camera Target. Depois faa o teste
dentro do jogo.

Existe uma maneira de organizar as variveis de uma forma melhor, do que depender de uma nica ou ter de
criar vrias de um mesmo tipo. Essa facilidade depende de uma opo chamada Var Name. Essa opo te
permite denominar um valor (nome) para esta varivel sendo possvel acessar este valor a partir de uma
varivel sem nome. Isso evita erros futuros de confuso do prprio programa.
Para alterar as opes da varivel Player clique sobre ela e, em suas propriedades, altere a opo Var
Name para Player.

Perceba que abaixo do nome da varivel foi adicionado um nome em vermelho. Este o nome que acabamos
de denominar em Var Name.

Agora coloque a varivel em uma rea separada de nossa sequncia. Recomendamos que, para sua prpria
organizao, utilize este recurso para todas as variveis que sero acessadas diversas vezes e deixe-as sempre
no mesmo lugar.
Para chamar essa varivel de volta clique com o boto direito do mouse sobre uma rea vazia do Kismet e v
at a opo New Variable -> Named Variable.

Na opo Find Var Name coloque Player (sendo este o mesmo nome que colocamos na varivel que criamos
acima).

Outra forma de organizao no Kismet criar caixas de comentrios em uma determinada sequncia. Para
criar, selecione toda a sequncia no qual queira criar a caixa de comentrio (Lembre-se do atalho Ctrl+Alt
clique e arraste, para criar uma caixa de seleo dentro do Kismet). Em seguida, com tudo selecionado, clique
com o boto direito em uma rea vazia, e depois v em New Comment. Coloque o nome que desejar nessa
caixa e aperte OK. A caixa de comentrios tambm possu algumas propriedades que podem ser modificadas.

Temos a opo ainda de travar a movimentao de cmera do Player ou at mesmo travar o uso das armas
(muito til para este tipo de exemplo, pois evitamos que o jogador continue andando pelo cenrio mesmo com
outra cmera na tela). Para isso utilizarmos um elemento chamado Toggle Cinematic Mode.

Este elemento trava toda a jogabilidade do jogador determinado. Coloque este elemento clicando com o boto
direito do mouse em uma rea vazia do Kismet e v at a opo New Action -> Toggle -> Toggle Cinematic
Mode. (Na prxima aula entraremos com mais detalhe sobre essa ao).

Feito isso, ligue a sada (Out) do elemento Set Camera Target na entrada (Enable) do elemento Toggle
Cinematic Mode. E por fim ligue a sada Target na varivel Player.

Por ltimo faremos com que a camera volte para viso normal do jogador depois de um determinado tempo.
Para isso precisamos adicionar esse tempo, para depois retornar com a cmera e destravar o jogo. Crie um
elemento chamado Delay que se encontra em New Action -> Misc ou apertando a tecla D e clicando no
Kismet.

Agora com o Delay criado, faa uma cpia dos outros dois elementos que adicionamos, no caso o Set
Camera Target e o Toggle Cinematic Mode (para copiar um elemento selecione-o e precione Ctrl+W).

Com todos os elementos adicionados continue a sequncia ligando o Out do primeiro Toggle Cinematic
Mode no Delay, e no Finished do Delay ligue a sequncia copiada, contudo, aqui modificaremos duas
opes. No Set Camera Target, retire a varivel da cmera, assim ela voltar para a cmera padro do UDK, e
mude a sada do Out do Set Cam Target para o Disable do Toggle Cinematic Mode, pois a
desativaremos essa ao.

Para definir o tempo desse Delay, selecione a ao e nas propriedades modifique o valor de Duration, que se
encontra em Seq Act Delay.
ATENO: O tempo que for determinado no Delay ser contado em segundos.

Exemplos de aes
Veremos agora alguns exemplos de aes e suas propriedades para ajudar na construo de maiores
sequncias.

Attach to Actor Com esta ao temos a possibilidade de fazer com que um objeto ou at mesmo volume, siga
outro objeto, volume ou player. Alguns exemplos de interaes com esta ao: Lanterna (uma Spot Light
seguindo o player), Camera seguir o personagem, uma partcula seguir qualquer objeto animado por Matinee.
Para criar v em New Action -> Actor -> Attach to Actor.

Veja seus ligamentos e suas principais propriedades:

Target: Define o elemento que ser seguido.


Attachment: Define o elemento que ir seguir.
Detach: Desativa o Attach.
Use Relative Offset: Se ativada podemos definir um local em X, Y e Z onde o Attachment ir ficar (baseado no
Pivot do Target).
Relative Offset: Valores de X, Y e Z (s ir funcionar caso a opo acima estiver ativada).
Use Relative Rotation: Se ativada podemos definir uma rotao em Roll, Pitch e Yaw para o Attachment
(baseado no Pivot do Target).
Relative Rotation: Valores de Roll, Pitch e Yaw (s ir funcionar caso a opo acima estiver ativada).

Veja que neste exemplo definimos que uma partcula ir seguir o objeto X.

Change Collision - Aqui podemos modificar a coliso de um determinado Static Mesh atravs de algum evento.
Para criar v a New Action -> Actor -> Change Collision.

Veja seus ligamentos e suas principais propriedades:

Target: Define qual Mesh ir trocar a coliso.


Collision Type: Define para qual tipo de coliso a Mesh ser alterada.

Neste exemplo definimos que o Static Mesh X modificou a coliso depois que o player entrou em um
determinado Trigger.

Destroy Com esta ao podemos sumir com qualquer Static Mesh do cenrio, diferente do Toggle
Hidden, pois com o Destroy o objeto ser removido completamente do cenrio, j o Toggle Hidden apenas
esconde. Para criar v a New Action -> Actor -> Destroy.

Veja seus ligamentos e suas principais propriedades:


Target: Define qual Mesh ser destrudo.

Neste exemplo definimos que o Static Mesh X foi destrudo depois que o player entrou em um determinado
Trigger.

Set Material Aqui podemos alterar o material de um Mesh depois de um determinado evento. Para criar v
em New Action -> Actor -> Set Material.

Veja seus ligamentos e suas principais propriedades:


Target: Define qual Mesh ter seu Material alterado. (lembrando que o material deve seguir o seu
mapeamento).
New Material: Define qual material ser aplicado. Primeiro selecione qual material quer colocar, para em
seguida clicar na seta verde ao lado desta aba.

Veja que neste exemplo o Mesh X ter seu material alterado depois de um determinado evento.

Set Mesh Esta ao faz com que um Mesh seja trocado por outro Static Mesh ou Skeletal Mesh depois de um
evento. Para criar v a New Action -> Actor -> Set Mesh.

Veja seus ligamentos e suas principais propriedades:


Target: Define qual Mesh ser trocado.
New Skeletal Mesh: Define o Skeletal Mesh ir aparecer.
New Static Mesh: Define qual o Static Mesh ir aparecer.
Mesh Type: Modifica o tipo de Mesh que ser trocado.

Neste exemplo definimos que o Static Mesh X ser trocado por outro Static Mesh depois de um determinado
evento.

Teleport Com esta ao podemos teletransportar o personagem para qualquer ponto do cenrio sem ter que
criar um UTTeleporter, apenas falando quem ser enviado e para qual local. Para criar v em New Action ->
Actor -> Teleport.

Veja seus ligamentos e suas principais propriedades:


Target: Define qual objeto ou jogador ser teletransportado.
Destination: Define para onde o Target vai ser enviado (o Destination pode ser determinado por qual quer
ponto no cenrio, desde um Static Mesh como um Path Node).

Neste exemplo definimos que o Player 0 (personagem principal) ser enviado para o path node X que esta em
algum ponto do cenrio.

Links para pesquisa:

http://udn.epicgames.com/Three/KismetUserGuide.html
http://udn.epicgames.com/Three/KismetReference.html
http://udn.epicgames.com/Three/KismetTutorial.html
A validade dos links desta aula depende dos sites hospedados. De maneira alguma a Saga e seus funcionrios
assumem responsabilidade por sua integridade.

Potrebbero piacerti anche