‫Olá e bem-vindo.
‫Nesta palestra vamos corrigir esses bugs com o Raytracing para que possamos matar o personagem.
‫Eles não estão se matando e podemos atropelar o local onde eles estiveram desativando sua cápsula.
‫Collider Vamos mergulhar e ver como conseguir isso.
‫Então, temos alguns bugs estranhos acontecendo no momento.
‫Então temos um onde o inimigo A. EU. essencialmente parece estar atirando na própria cara, como
‫você pode ver pelo fato de que logo vai se espalhar morto no chão assim.
‫Mas não é só isso, continua atirando enquanto está morto.
‫Então, vamos resolver alguns desses problemas progressivamente.
‫Vamos ver o que está acontecendo.
‫Então, em primeiro lugar, o tiro na cara, pode ser bem fácil ver o que está acontecendo.
‫Então, se formos para a nossa arma, C. P. , e dê uma olhada em como isso
‫está funcionando, no momento estamos fazendo esta linha Trace single por canal para encontrar o resultado do hit, e estamos fazendo isso a partir
‫do local que é a viewport do player, o viewpoint V, desculpe.
‫E com a IA que já discutimos isso, será algo próximo ao nível dos olhos.
‫É daí que vai ser traçado.
‫E você pode ver que pode haver um pequeno problema aqui.
‫Se começares a traçar pelos olhos dele, vais atingir esta cápsula.
‫Na verdade, nós mesmos também temos o problema.
‫A única diferença é que, como temos isso na visão da câmera,
‫na visão do ombro, essencialmente não entendemos o problema porque contornamos essa cápsula e não a acertamos.
‫Mas poderíamos estar atingindo nossa própria cápsula com a mesma facilidade se nossa câmera estivesse em um local diferente.
‫Então, como vamos parar com isso?
‫Então, se voltarmos e definirmos isso, criaremos uma estrutura, os parâmetros de colisão que chamarei de params
‫e podemos adicionar alguns atores que devem ser ignorados como parte de nossa linha.
‫Trace Fazemos isso fazendo params dot add ignore o ator ignorado e então quais são os atores que devemos
‫ignorar?
‫Bem, o primeiro é simplesmente a arma.
‫Então este e o segundo é o dono --.
‫Portanto, os parâmetros não adicionam o ator ignorado ao obter o proprietário.
‫Então, basicamente, o dono da arma não deve ser atingido por sua própria arma.
‫Quero dizer, obviamente você pode querer acertar seus próprios peões com a arma, mas não, não neste
‫caso.
‫Então os params que vamos passar como o último argumento para nossa linha traçam um por canal e então vamos salvar
‫e construir e ver se isso funciona.
‫Então, agora, idealmente, se apertarmos o play, devemos ver o sim, estamos obtendo o efeito de partículas
‫em nossa cápsula, em nosso jogador e, eventualmente, nossa saúde deve cair para zero e devemos acabar
‫esparramados no chão agora vá esparramado no chão em algum lugar.
‫Parece que caímos.
‫Eu não sei para onde nosso jogador real foi, mas ainda estamos no chão.
‫Mas aqui está outro bug.
‫Você pode ver que ele ainda está atirando em nós e ainda está atirando e acertando uma cápsula.
‫E a mesma coisa realmente acontece.
‫Se eu fosse matar esse cara, vamos em frente e matá-lo.
‫Eles vão ficando muito mais difícil sem algo para apontar na tela.
‫Mas você é capaz de pegá-lo.
‫Mas ele ainda está atirando ainda atirando em mim.
‫E o que teríamos visto também é que sua cápsula ainda está ativa.
‫Então, há algumas coisas que queremos fazer quando nossos personagens são mortos, tanto o cara quanto o jogador.
‫Então vamos para o CP do personagem atirador e vamos encontrar nossa função de receber dano.
‫E basicamente queremos adicionar uma instrução F aqui.
‫Queremos dizer se está morto.
‫Então, basicamente, sofremos danos pela última vez.
‫Agora estamos mortos.
‫Precisamos fazer algumas coisas, fazer alguma limpeza.
‫A primeira coisa que precisamos fazer é separar o controlador deste personagem.
‫O controlador não é mais responsável por esse personagem.
‫O personagem está morto.
‫Você não pode fazer nada que nos impeça de atirar.
‫Portanto, a IA não estará mais atirando quando estiver morta.
‫Isso meio que faz sentido.
‫E, além disso, não poderemos mais tentar nos movimentar pelo mundo.
‫Tudo isso está sendo desabilitado fazendo uma desconexão do controlador pendente de destruição.
‫É isso que vamos fazer.
‫Então a próxima coisa é que queremos desligar essa colisão de cápsula para que possamos fazer os componentes da cápsula
‫e então precisaremos fazer uma inclusão de hash no topo.
‫Para os componentes da cápsula que incluem componentes e o componente da cápsula ali.
‫Em seguida, rolando de volta para baixo para receber dano.
‫Eu vou fazer um operador de seta e vamos fazer um conjunto de colisão habilitado.
‫Então, nós meio que queremos defini-lo como não ativado.
‫Isso é o que estamos fazendo.
‫Essa colisão está habilitada o suficiente para que a colisão possa ser habilitada, dois pontos, dois pontos, sem colisão.
‫Então, estamos configurando nosso colisor de cápsulas para nenhuma colisão, o que deve nos ajudar imediatamente.
‫OK.
‫Então, vamos em frente e construir e ver se isso ajudou.
‫Bem, pelo menos o compilador foi bem sucedido.
‫Vamos e aperte o play.
‫E então ele está atirando em mim.
‫Eu posso atirar nele até que ele esteja morto.
‫Aqui vamos nós.
‫Ele está morto.
‫Posso passar por cima da cápsula dele e não vou mais colidir com ela.
‫Você também pode ver que ele não está mais atirando com sua arma, o que é fantástico.
‫E vamos ver também se ele vai e nos mata.
‫Qual é o comportamento?
‫Então só temos que esperar pelos dez tiros.
‫E você pode ver que eu me esparramei morto tanto quanto ele e ele continua atirando em mim.
‫Tudo bem.
‫Ele não está mais batendo em um colisor vazio, e eu não posso mais controlar minha câmera porque estou morto.
‫Impressionante.
‫Então, temos o básico de um jogo de tiro em primeira pessoa aqui.
‫Temos um inimigo que nos segue, atira em nós, podemos atirar nele.
‫Nós dois temos saúde.
‫Nós dois podemos morrer.
‫Então, a próxima coisa é realmente configurar algumas condições de final de jogo para que possamos exibir uma mensagem agradável para
‫nosso jogador dizendo que você perdeu ou que ganhou se matou todos os jogadores no nível.
‫E esse será o assunto da próxima palestra.
‫Então você isso.