quarta-feira, 6 de abril de 2016

Compêndio BP: LineTraceForObjects

LineTraceForObjects


A função LineTraceForObjects testa a colisão ao longo de uma linha definida e retorna o primeiro objeto encontrado que pertença a um dos tipos de objetos especificados na chamada da função.

Entrada

  • Start: Vetor que define o início da linha que será usada para o teste de colisão.
  • End: Vetor que define o fim da linha de teste de colisão.
  • Object Types: Array que contém os tipos de objetos que serão testados na colisão.
  • Trace Complex: Valor booleano que indica se deve ser usado colisões complexas.
  • Actors to Ignore: Array de Atores que devem ser ignorados nos testes de colisões.
  • Draw Debug Type: Permite o desenho da linha que está sendo usado no teste de colisão.
  • Ignore Self: Valor booleano que indica se o Blueprint que está chamando a função deve ser ignorado no teste.


Saída

  • Out Hit: Estrutura "HitResult" que contém diversas informações sobre a colisão encontrada.
  • Return Value: Valor booleano. Se for verdadeiro, significa que uma colisão foi encontrada.

Exemplo de Uso:

Em um blueprint chamado "AlarmDevice", a função LineTraceForObjects é usada para ativar um alarme se um objeto do tipo Pawn for detectado. A imagem abaixo mostra este exemplo. Foi usada uma macro para obter a posição inicial e final da linha.


Clique para aumentar
Para criar o Array com o tipo de objetos, clique e arraste o pino "Object Types" e escolha a opção "Make Array".

A macro TraceLocations ficou assim:

Clique para aumentar