Trabalho final personagens
Por: hellsdrinkers • 6/5/2015 • Trabalho acadêmico • 1.094 Palavras (5 Páginas) • 289 Visualizações
Aula 06 – Arma de fogo de 1 mão:
-Introdução e proposta:
Nessa aula nos concentraremos mais em como construir o script da arma de fogo de 1 mão. Usaremos
uma pistola comum como arma. Lembre-se que a arma de fogo precisa ser necessariamente uma
Skeletal Mesh. Você também precisará de 3 particles que serão dois Muzzles (efeitos de tiro) e um
Beam (tracejado do tiro). Caso você não saiba como criar essas partículas, veja na ultima aula do
módulo 2 de UDK.
Skeletal Mesh:
Muzzles:
Beam:
Feito isso, salve o pacote na pasta: C:\UDK\UDK-2011-08\UDKGame\Content\UT3\Weapons
-Scripts:
Na parte do scripts não entraremos muito em detalhes nas funções e algoritmos. Apenas extenderemos
os scripts básicos de armas do UDK e criaremos nossas modificações ali. A arma básica precisa de 2
scripts: Weapon e Attachment. O script Weapon configura a arma para primeira pessoa basicamente e o
Attachment a arma para outros tipos de câmera e os tiros.
No exemplo salvaremos os scripts na pasta MyMod padrão do UDK. C:\UDK\UDK-2011-
08\Development\Src\MyMod\Classes.
-Criando o Script Weapon:
Abra o bloco de notas e então começaremos a construir o script:
Passo 01: Primeiro extenderemos a classe básica de arma do UDK com todos os cálculos de mira e etc.
E então usaremos as configurações padrão. O colchete serve para que possamos escrever nossas partes
em adição ao que já existe. Em vermelho são apenas comentários:
class MyWeap_Pistol extends UTWeapon; // a nova classe vai extender a básica
defaultproperties // configurações padrão
{ // começaremos a adicionar agora
Passo 02: Agora configuraremos a mesh que será vista no jogo em primeira pessoa:
// cria a arma na camera de primeira pessoa
Begin Object Name=FirstPersonMesh
SkeletalMesh=SkeletalMesh'Arma.Mesh.Pistola' // skeletalmesh da arma
FOV=60.0 // foco de visão da arma
Scale=0.1 // tamanho da arma
End Object
Passo 03: Agora indicaremos aonde será buscada as informações para arma em 3ª pessoa. Esse é o
mesmo nome do script Attachment que faremos em sequência:
AttachmentClass=class'MyAttachment_Pistol' // classe do attachment da arma em terceira
pessoa
Passo 04: Agora configuraremos a mesh para ser dropada quando o personagem morrer:
// mesh da arma quando é dropada
Begin Object Name=PickupMesh
SkeletalMesh=SkeletalMesh'Arma.Mesh.Pistola' // skeletalmesh da arma
End Object
Passo 05: Agora configuraremos o impulso que a arma causa ao dar tiro em alguem:
InstantHitMomentum(0)=+60000.0 // impulso que a arma causa ao personagem
que toma um tiro
Passo 06: Agora vamos configurar o tipo do tiro, no caso será instant hit pois uma pistola não tem
efeitos a mais.
WeaponFireTypes(0)=EWFT_InstantHit // tipo do primeiro tiro da arma
Passo 07: Agora configuraremos o dano, o intervalo de tiro e o tipo de dano:
InstantHitDamage(0)=20 // dano do tiro da arma
FireInterval(0)=+1.25 // tempo entre os tiros
InstantHitDamageTypes(0)=class'UTDmgType_ShockPrimary' // classe do tipo de dano da arma
Passo 08: Agora configuraremos o som da arma. Deve ser um Sound Cue:
WeaponFireSnd[0]=SoundCue'A_Interface.menu.UT3MenuArmorChangeCue' // som do tiro
Passo 09: Agora configuraremos para permitir o instant hit e como o mouse se comportará (se o Should
Fire on Release for 0 ele atira com o botão pressionado, se for 1 precisa pressionar todas as vezes):
bInstantHit=true // permite o tiro instantHit
ShouldFireOnRelease(0)=0
Passo 10: Aqui você configurará de onde sairá o tiro. Esse valor você conseguirá testando a arma no
jogo:
FireOffset=(X=20,Y=5) // local de onde sai o tiro
Passo 11: Nesse passo configuraremos as opções de munição:
AmmoCount=10 // munição inicial da arma
LockerAmmoCount=10
MaxAmmoCount=20 // munição máxima que a arma suporta
Passo 12: Aqui configuraremos a arma para dar apenas 1 tiro. Na aula de arma de fogo de 2 mãos,
configuraremos aqui para dar um tiro de projétil.
FiringStatesArray(1)=Active // faz com que a arma não despare o segundo tiro
Passo 13: Agora configuraremos os Muzzles (Partículas de efeito):
MuzzleFlashSocket=MuzzleFlashSocket // nome do socket de onde é criada a
particula de explosão do tiro na camera de primeira pessoa
MuzzleFlashPSCTemplate=ParticleSystem'Arma.Effects.Tiro' // particula de explosão do tiro
...