Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
Movimentao
Clique direito ou esquerdo
Movimenta a janela
Aumentar/Diminuir Zoom
Seleciona a sequncia
Movimenta a sequncia
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.
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
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.
Teste sua sequncia no jogo e repare que ao passar na rea determinada do trigger, o player ir tomar um
dano de 50.
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.
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 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.
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.
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 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.
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.
Neste exemplo definimos que o Player 0 (personagem principal) ser enviado para o path node X que esta em
algum ponto do cenrio.
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.