A classe Pawn é utilizada para representar fisicamente os jogadores, personagens e criaturas na Unreal Engine. Ela contém funcionalidades para lidar com modelos 3D (Mesh), animação, colisão, danos, física, uso de armas, geração de som, etc.
Um objeto do tipo Pawn pode ser controlado por um jogador ou por Inteligência Artificial. Este controle fica encapsulado em uma classe do tipo Controller e é indiferente para a classe Pawn. No próximo artigo abordaremos o uso da classe Controller.
Existem diversas subclasses de Pawn existentes na Unreal Engine como pode ser visto na imagem abaixo. Podemos ver que a classe Pawn também é usada para a criação de veículos. As classes que começam com UT contém as implementações específicas para o jogo Unreal Tournament.
Um objeto do tipo Pawn pode ser controlado por um jogador ou por Inteligência Artificial. Este controle fica encapsulado em uma classe do tipo Controller e é indiferente para a classe Pawn. No próximo artigo abordaremos o uso da classe Controller.
Existem diversas subclasses de Pawn existentes na Unreal Engine como pode ser visto na imagem abaixo. Podemos ver que a classe Pawn também é usada para a criação de veículos. As classes que começam com UT contém as implementações específicas para o jogo Unreal Tournament.
Fiz um exemplo bem simples para ilustrar o uso da classe Pawn. Estendi a classe UTPawn para permitir que a minha nova classe Pawn possa ser inserida direto pelo editor através do uso do atributo placeable, adicionei um SkeletalMeshComponent (modelo 3D com animação) e defini os atributos mínimos necessários para o funcionamento. Por fim defini que essa minha classe será controlada por uma classe Controller do tipo UTBot.
class TestePawn extends UTPawn placeable; defaultproperties { begin object class=SkeletalMeshComponent Name=
Modelo3D
SkeletalMesh=CH_LIAM_Cathode.Mesh.SK_CH_LIAM_Cathode PhysicsAsset=CH_AnimCorrupt.Mesh.SK_CH_Corrupt_Male_Physics AnimSets(0)=CH_AnimHuman.Anims.K_AnimHuman_BaseMale AnimtreeTemplate=CH_AnimHuman_Tree.AT_CH_Human end object Components.Add(
Modelo3D
); ControllerClass=UTGame.UTBot }
Abaixo temos uma imagem do meu teste usando essa classe e rodando no próprio Editor do UDK:
Nenhum comentário:
Postar um comentário