terça-feira, 4 de outubro de 2011

Classe Pawn (UnrealScript)

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.


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