Atores e seus componentes
1. O que são Actors?
Um ator é qualquer objeto que pode ser colocado em um nível, é uma classe de básica de objetos do Unreal Engine, Neste capítulo serão apresentados e implementados os atores Actors do seu projeto.
Actors ou Atores são uma classe genérica que oferece suporte a transformações 3D, como translação, rotação e escala. Atores podem ser criados (gerados) e destruídos por meio de código de jogo (C++ ou Blueprints). Em C ++, AActor é a classe base de todos os atores.
É composto por Atributos, componentes, eventos e permitem Herança.
Para entender melhor devemos conceituar e entender o que são classes.
2. O que são Classes?
Classes são estruturas de dados que constituem a programação orientada a objetos. Contém seus próprios membros de dados e funções e podem ser acessados e usados criando uma instância de classe.
Classes determinam como os objetos serão quando criados.
Um objeto é uma instância de uma classe. Quando uma classe é definida, nenhuma memória é alocada, mas quando ela é instanciada (ou seja, um objeto é criado), a memória é alocada.
Abaixo vamos apresentar a estrutura hierarquia de classes.
├── UObject C++
| └── Actor C++
| ├── Pawn
| | └── Character
| ├── GameMode
| └── GameController
| ├── PlayerController
| └── IAController
└── UObject C++
├── Actor BP
| └── Pawn BP
| └── Character BP
└── GameController BP
2.1. Exemplo de implementação utilizando C++
class Hero
{
int iLife=100;
void SendMessage()
{
std::cout << "Message in a Bottle";
}
};
2.2. Exemplo de implementação em Blueprint
Em Blueprint podemos obter os seguintes grupos de classes de atores:
-
Actor;
-
Pawn ;
-
Character;
Personagem Herói: Tem atributos, como vida e velocidade, tem componentes, como esqueleto e malha, e métodos, como direção e movimentação.
2.3. Utilizando classes com Blueprint
Como citado anteriormente classes são estruturas de dados com eventos, variáveis e componentes.
Para criar uma classe utilizando Blueprint acesse o menu de contexto e selecione Blueprint Class
.
A lógica de programação dos atores é expressada em Blueprint e nos próximos capítulos vamos abordar este tema com mais detalhes.
3. Atores predefinidos ou Place Actors
No nível mais fundamental, um ator é qualquer objeto que você pode colocar em um Level.
Para adicionar o ator predefinido na cena utilizamos a opção Create
e escolhemos o tipo de ator.
Ou podemos acessar o menu principal Menu
> Place Actors
para ter acesso a mais atores.
4. Classes Blueprint ou Blueprint Class
Uma classe Blueprint, muitas vezes abreviada como Blueprint, é um ativo que permite que os criadores de conteúdo adicionem funcionalidades facilmente às classes de jogo existentes. Os projetos são criados dentro do Unreal Editor visualmente, em vez de digitar o código, e salvos como ativos em um pacote de conteúdo. Essencialmente, eles definem uma nova classe ou tipo de ator que pode então ser colocado em mapas como instâncias que se comportam como qualquer outro tipo de ator.
Para adicionar um ator na cena utilizamos o menu de acesso rápido Context Menu
e acionando com o botão direito do mouse na aba Content Drawer
ou o ícone Blueprint na barra de tarefas e escolher New empty Blueprint Class...
.
Escolha de Classe de atores Blueprint Class
.
5. Componentes
Os Components ou componentes são um tipo especial de objeto que os atores podem anexar a si próprios como subobjetos.
Os componentes são úteis para compartilhar comportamentos comuns, como a capacidade de exibir uma representação visual e reproduzir sons. Eles também podem representar conceitos específicos do projeto, como a maneira como um veículo interpreta a entrada e muda sua própria velocidade e orientação.
Por exemplo, um projeto com carros, aeronaves e barcos controláveis pelo usuário pode implementar as diferenças no controle e movimento do veículo, alterando qual componente um ator do veículo usa.
5.1. Components e a aba My Blueprint
Para ter acesso aos componentes que estão associados a um determinado objeto utilizamos a aba My Blueprint
, que é uma representação visual do agrupamento de componentes, funções, variáveis e macros, abaixo um exemplo.
6. Estrutura da classe Actor no Unreal Engine
A classe Actor
é composta por vários elementos, entre eles estão as variáveis, métodos e funções, abaixo uma representação dessa estrutura.
└── Objeto
├── Events
| ├── BeginPlay
| ├── ActorBeginOverlap
| └── Tick
├── Functions
| └── ConstructionScript
└── Variables
└── VariavelLocal
A representação visual da lógica de programação da classe Actor
é divida em:
-
Construction Script
; -
Event Graph
.
A seguir vamos aprender mais sobre esses elementos.
6.1. Construction Script
Lógica executada na construção do objeto, similares ao eventos Construtor em C++.
6.1.1. Exemplo da lógica de um Construction Script
6.2. Event Graph
Contém o gráfico principal de nós e suas ligações representando a lógica de um Blueprint.
Informação: Exibe a representação visual de um gráfico específico de nós, pois mostra todos os nós contidos no gráfico, bem como as conexões entre eles. Ele fornece recursos de edição para adicionar e remover nós, organizar nós e criar links entre nós. Os pontos de interrupção também podem ser definidos na guia Gráfico para auxiliar na depuração de Blueprints.
6.2.1. BeginPlay
Este evento é acionado para todos os Atores quando o jogo é iniciado, quaisquer Atores gerados após o jogo ser iniciado terão isso chamado imediatamente.
6.2.2. ActorBeginOverlap
Este evento será executado quando uma série de condições forem atendidas ao mesmo tempo:
-
A resposta à colisão entre os atores deve permitir sobreposições.
- Ambos os Atores que devem executar o evento têm que gerar Eventos de Sobreposição definido como verdadeiro.
- E, finalmente, a colisão de ambos os Atores começa a se sobrepor; movendo-se juntos ou um é criado sobrepondo-se ao outro.
6.2.3. Tick
Este é um evento simples que é chamado em todos os quadros do jogo. Tem como parâmetro a variável Delta Seconds.
Nota: Vários motores gráficos ou Game Engines, como por exemplo Unity e Pico-8 tem os mesmos eventos com as mesmas Características.”s
7. Comentários
Os comentários podem ser incluídos diretamente em nós Blueprint únicos ou podem ser incluídos como caixas de comentários para agrupar nós relacionados e fornecer descrições sobre sua funcionalidade.
Eles podem ser usados apenas para fins organizacionais para tornar os gráficos mais legíveis, mas também podem ser usados para fins informativos, pois permitem que descrições textuais sejam adicionadas da mesma forma que adicionar comentários ao código.
Selecione os nós e digite “C” no teclado para adicionar um comentário.
7.1. Exemplo de comentário
Podemos adicionar Características aos comentários que detalham melhor a lógica dos nós envolvidos, como por exemplo adicionando cores.
-
Vermelho - Lógica principal ou crítica.
-
Azul - Lógica de atores.
-
Verde - Lógica de estruturas de controle.
Clicando no cabeçalho do comentário temos acesso os seus parâmetros.