ActorComponent é uma classe base usada para componentes com utilidades bem definidas que podem ser anexados a um Actor. Por exemplo, podemos ter um componente que define o modelo 3D (Mesh) de um Actor, também tem componentes relacionados a imagem, iluminação, audio, etc.
Existe uma forma especial para criar um objeto de um componente dentro de um bloco DefaultProperties de uma classe Actor, como veremos no exemplo a seguir.
Como 1º exemplo vou adicionar um StaticMesh a uma classe UnrealScript. Vá no ContentBrowser do UDK e escolha um StaticMesh, anote o Nome e o Path como pode ser visto na imagem abaixo.
Existe uma forma especial para criar um objeto de um componente dentro de um bloco DefaultProperties de uma classe Actor, como veremos no exemplo a seguir.
Como 1º exemplo vou adicionar um StaticMesh a uma classe UnrealScript. Vá no ContentBrowser do UDK e escolha um StaticMesh, anote o Nome e o Path como pode ser visto na imagem abaixo.
Depois crie uma classe simples que estende Actor conforme código abaixo:
class TesteMesh extends Actor placeable; //indica que esta classe pode ser inserida no cenário através do editor de níveis defaultproperties { begin object Class=StaticMeshComponent Name=Modelo3D StaticMesh = Pickups.UDamage.Mesh.S_Pickups_UDamage end object Components.add(
Modelo3D
); }
O par de comandos "Begin Object / End Object" permite a criação de um objeto informando a classe e o nome que o objeto terá no código. Dentro do bloco é possível definir os atributos do objeto. Neste exemplo apenas definimos o caminho e nome do StaticMesh que será usado pelo Actor. Após a criação do objeto adicionamos ele à lista de componentes do Actor.
A imagem abaixo mostra como o nosso novo Actor é exibido no editor do UDK:
A imagem abaixo mostra como o nosso novo Actor é exibido no editor do UDK:
Como 2º exemplo vamos criar um SpriteComponent (imagem 2d) para o Actor. Neste exemplo queremos que a imagem seja exibida no editor mas não apareça no jogo. Isto é muito útil para objetos invisíveis que contém apenas lógica de Inteligência Artificial, pois com a imagem fica fácil de localizá-lo no editor.
Segue abaixo código e imagem do 2º exemplo.
Segue abaixo código e imagem do 2º exemplo.
class TesteSprite extends Actor
placeable;
defaultproperties
{
begin object Class=SpriteComponent Name=Imagem2D
Sprite = EditorResources.AIScript
HiddenGame = true //não exibir a imagem no jogo
end object
Components.add(Imagem2D);
}
Para mais informações sobre Actor Components:
Actor Components
Nenhum comentário:
Postar um comentário