terça-feira, 16 de março de 2021

PlayerProjectile: Criando mais Blueprints filhos

Vamos criar mais dois tipos de projéteis que podem ser usados pelo jogador. Eles também serão implementados como Blueprints filhos da classe C++ PlayerProjectile.

Faremos uma cópia do Blueprint do primeiro tipo de projétil para aproveitar a configuração que foi feita nele.

No Content Browser, acesse a pasta FirstPersonBP/Blueprints e clique com o botão direito no Blueprint BP_PlayerProjectile1. Selecione a opção Duplicate como mostra a imagem abaixo e coloque o nome BP_PlayerProjectile2 para o novo Blueprint.


Clique no componente StaticMesh na aba Components. As propriedades do StaticMesh serão exibidas na aba Details. Vamos modificar o formato do projétil. Selecione Shape_Pipe para Static Mesh e M_Metal_Copper para Material. Em Rotation coloque 90.0 em Z e altere a Scale para 0.5 em X, Y e Z.

Clique no componente ProjectileMovement na aba Components. Na aba Details, mude os valores de Initial Speed e Max Speed para 6000. Isto irá dobrar a velocidade deste projétil.


São somente estas as mudanças em BP_PlayerProjectile2. Ele manterá o mesmo Event Hit do BP_PlayerProjectile1. Compile e salve o Blueprint.

Faça outra cópia de BP_PlayerProjectile1 usando a opção Duplicate e coloque o nome BP_PlayerProjectile3 para o novo Blueprint. Este projétil simulará uma granada. Ele terá um peso maior, de forma que o jogador precisará atirar para cima, e explodirá quando colidir com alguma coisa.

Nas propriedades do StaticMesh mude o Material para M_Tech_Hex_Tile_Pulse e mantenha o mesmo Static Mesh e Scale do BP_PlayerProjectile1.


Nas propriedades do ProjectileMovement, mude o Projectile Gravity Scale para 3.0.


No Event Graph do Blueprint, modifique o Event Hit para ficar com as ações mostradas na imagem abaixo. Na ação SpawnActor, selecione em Class o Blueprint Effect Explosion. Clique com o botão direito no parâmetro Spawn Transform e selecione a opção Split Struct Pin. Altere o Spawn Transform Scale para 5.0 em X, Y e Z.


Compile e salve o Blueprint. Concluímos a implementação do PlayerProjectile e seus Blueprints filhos. A partir do próximo artigo vamos implementar o PlayerCharacter que usará o PlayerProjectile.


Sumário C++