Modelo do Unreal Engine 5 do jato de combate com radar e sistema de mísseis | Navid Ansari | Skillshare

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Modelo do Unreal Engine 5 do jato de combate com radar e sistema de mísseis

teacher avatar Navid Ansari

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Vídeo promocional

      1:18

    • 2.

      01.Criar e importar

      3:53

    • 3.

      02 Plano de veículo com rodas

      5:02

    • 4.

      03 Olhe ao redor do avião caça

      4:37

    • 5.

      04 Configuração da roda

      3:49

    • 6.

      05 Configuração de aerofólio

      5:36

    • 7.

      06 Configuração do propulsor

      1:09

    • 8.

      07 Configuração de controle do Arcade

      1:56

    • 9.

      08 Configuração do veículo

      1:00

    • 10.

      09 Definir o impulso

      4:22

    • 11.

      10 Interventos

      3:26

    • 12.

      10. Defina freio

      1:54

    • 13.

      Freio de mão

      1:41

    • 14.

      Animação de roda

      4:23

    • 15.

      13 Raio da roda

      2:34

    • 16.

      14 VFX com impulso

      6:14

    • 17.

      15. Som do motor

      6:07

    • 18.

      16 Blueprint de widget

      8:51

    • 19.

      17. Animação em widget

      3:36

    • 20.

      18 Interface do usuário do Throttle

      6:41

    • 21.

      19 Defina a entrada do tom

      5:17

    • 22.

      20. Modificando o osso

      6:19

    • 23.

      21 Valor de pitch de vendas

      4:32

    • 24.

      22 Aileron e elevador

      2:48

    • 25.

      23 Pontos de entrada para valor de pitch de vendas

      7:02

    • 26.

      24 Entrada de rolo

      4:13

    • 27.

      Ailão de rolo e elevador

      6:40

    • 28.

      26 Ponta de ponta para rolar

      4:22

    • 29.

      27 Entrada de Yaw

      4:26

    • 30.

      28 Rotação do leme

      4:27

    • 31.

      29 Leme de tira

      2:47

    • 32.

      30 Júnculo do chassi frontal

      7:21

    • 33.

      31 Hidrólica

      3:23

    • 34.

      32 Porta de engrenagem frontal

      6:18

    • 35.

      33 portas traseiras

      5:45

    • 36.

      34 Equipamento esquerdo

      4:54

    • 37.

      35 Equipamento certo

      3:34

    • 38.

      36 Linha do tempo para engrenagens

      6:48

    • 39.

      37 Engrenagens abertas e fechadas

      3:43

    • 40.

      38 Verifique a altitude

      6:39

    • 41.

      39 Mísseis e pontos duros

      3:24

    • 42.

      40 Sistema de recarga de mísseis

      4:58

    • 43.

      41 Outros mísseis feitos

      3:47

    • 44.

      42 Plano do míssil

      4:50

    • 45.

      43 Meta som do míssil

      5:15

    • 46.

      44 Atenuação do som do míssil

      2:27

    • 47.

      45 Explosão de míssil

      4:38

    • 48.

      46 Atire mísseis

      4:09

    • 49.

      47 Kill camera

      5:44

    • 50.

      48 Rotação do míssil

      6:46

    • 51.

      49 Cancelamento da câmera de faixa

      2:45

    • 52.

      50 Curso-alvo

      3:01

    • 53.

      51 míssil de orientação

      5:25

    • 54.

      52 Sistema de alvo

      3:49

    • 55.

      53 UI do sistema de alvo

      5:45

    • 56.

      54 Destrua um evento-alvo

      1:42

    • 57.

      55 Altere o objetivo

      2:35

    • 58.

      56 Terceiro problema alvo

      2:30

    • 59.

      57 Alterar o alvo com entrada

      2:56

    • 60.

      58 UI de mísseis

      9:58

    • 61.

      59 Como calcular o GForce

      8:52

    • 62.

      60 Destruir o jato, parte 01

      5:39

    • 63.

      60 Destruir o jato, parte 02

      4:56

    • 64.

      61 Importar arquivos de sistema sam

      1:51

    • 65.

      62 Método-plano de radar

      3:25

    • 66.

      63 Porta de radar

      2:54

    • 67.

      64 Rotação do radar

      3:12

    • 68.

      65 Bloqueio de radar no sistema

      3:23

    • 69.

      66 Evento de radar atingido

      3:06

    • 70.

      67 Radar de dano

      3:11

    • 71.

      68 Modelo do sistema de mísseis

      2:44

    • 72.

      69 Míssil olhando para cima

      3:14

    • 73.

      70 Posição da haste do míssil

      1:58

    • 74.

      71 Conecte o sistema de radar ao sistema de mísseis

      1:54

    • 75.

      72 Passe o alvo para o sistema de mísseis

      2:32

    • 76.

      73 Rotação do sistema de mísseis

      7:55

    • 77.

      Míssil 74 Sam

      6:43

    • 78.

      75 Fire Sam

      3:54

    • 79.

      76 Colisões do sistema Sam

      6:00

    • 80.

      77 Correção de bug do sistema de mísseis

      2:07

    • 81.

      78 destroy caça

      3:56

    • 82.

      79 disparar todos os mísseis

      2:06

    • 83.

      80 Destrua um sistema de mísseis

      3:24

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

41

Estudantes

--

Sobre este curso

vamos aprender como podemos usar o sistema de veículos caos para criar um jogo como o jogo de combate Ace

começaremos movendo nosso f18 e depois adicionaremos efeitos para seu motor, como efeitos visuais e sons

aprendemos a voar com ele e como manobrar e disparar nossos alvos com nosso sistema de mísseis

adicionamos mais efeitos ao nosso míssil ao longo do curso

em seguida, precisamos de um inimigo e, para isso, usamos um sistema de radar e sistema Sam

No final do curso, você será capaz de criar seu próprio jogo de jato de caça com sistema de radar e sistema Sam no Unreal Engine 5

Conheça seu professor

Teacher Profile Image

Navid Ansari

Professor

Hello, I'm Navid.

Visualizar o perfil completo

Level: All Levels

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Vídeo promocional: Neste curso, vamos usar um caça a jato de conteúdo de vigilante que é sempre gratuito e é comido Aprenderemos tudo sobre os ossos, como podemos mudar as asas, os ailerons e a rotação do leme Portanto, nosso caça a jato parece mais natural. Aprenderemos como podemos decolar, como podemos fechar nossas engrenagens e abrir as meninas também, como podemos aprender E depois disso, aprendemos como atirar em qualquer alvo com um sistema de etiquetas. Aprendemos muito sobre a interface do usuário neste curso. Então, sempre que você disparar um míssil, ele mostrará que o míssil não está lá Você não pode mais atirar. Depois disso, aprendemos sobre inimigos. Então, para fazer isso, temos um radar e um sistema de mísseis em que o radar encontrará o alvo e permitirá que o mísseis saiba sobre o alvo, e o sistema de mísseis disparará um míssil um míssil Se não atingir o alvo, novamente, ele lançará o próximo míssil contra ele É isso mesmo. Vamos começar esse curso juntos. 2. 01.Criar e importar: Nesta seção, vamos criar um jogo de caça a jato. E para fazer isso, estou usando o motor Argo versão 5.5 0.2 Basta clicar em lançar. Na minha opinião, fique com esta versão. E quando você aprende tudo, também pode aplicá-lo a outras versões. Porque os desenvolvedores do Argo Engine estão mudando o nome dos nós sempre o tempo todo Portanto, se você for iniciante, não encontrará esse nó facilmente Portanto, é melhor usar a mesma versão que estou usando neste curso. Então, basta clicar em lançar. E quando ele abrir, basta acessar os jogos e, aqui, clicar no projeto em branco porque, começando do zero, você também entenderá tudo, desde o básico. Portanto, escolha o espaço em branco e, aqui, não verifique o conteúdo inicial Não precisamos disso e queremos fazer isso em um plano, deixando todas as configurações iguais E você pode alterar o local em que deseja criar seu projeto e pode nomear seu projeto com o que quiser. Eu quero chamá-lo de FighterJet Head, crie e ele criará ou projetará Agora que o projeto está aberto, há um arquivo Z na descrição deste vídeo que você deve baixá-lo. É chamado fighterjet dot ZP Se você clicar com o botão direito sobre ele e extrair, você pode extraí-lo ou simplesmente abri-lo E se você abri-lo, você pode vê-lo aqui. Há uma pasta de caça dentro dela, e há uma pasta de ativos dentro dessa pasta de caça, certo? Precisamos apenas copiar esse Control C para copiá-lo, acessar o motor Ao, acessar o conteúdo, clicar com o botão direito do mouse na pasta de conteúdo e pedir que seja exibido no explorer, e ele abrirá a pasta de conteúdo do nosso projeto de caça dentro do Windows Explorer. Aqui, a única coisa que você precisa fazer pressionar Control V para colar todos esses ativos na pasta de conteúdo. Agora, se você voltar ao nosso motor real, você pode ver que a pasta do caça está lá e você pode entrar e ver que há algumas malhas, alguns sons, texturas e efeitos visuais É isso mesmo. Vamos usar todos esses ativos para criar nosso projeto de caça a jato. Apenas certifique-se de que, dentro da pasta de conteúdo, a estrutura seja a mesma. jato de combate, depois disso , os ativos, deveriam ser exatamente assim. Se você copiar esse jato de combate dentro do desenvolvedor, ele não funcionará. Se você criar uma nova pasta aqui e colocá-la lá, novamente, ela não funcionará. Você precisa apenas colá-lo na pasta de conteúdo. E se você quiser mudar a localização disso, você pode fazer isso no motor Areal depois disso Agora, com isso feito, quero mudar algumas coisas no motor Areal Primeiro de tudo, vá para Editar, vá para Preferências do Editor. E aqui, basta pesquisar por abrir. E a primeira opção é chamada de local aberto do Editor de ativos. Altere-a da janela padrão para a janela principal. Então, sempre que você abrir algo, ele será aberto aqui, não em outra tela ou qualquer outra coisa. E depois disso, você pode simplesmente fechá-lo. Depois de fazer isso, precisamos editar e habilitar um plug-in porque, para caças a jato, também existe um plug-in no ArelEngine É chamado de veículo do caos. Basta pesquisar o caos e descer até chegar ao plug-in do veículo do caos e habilitá-lo, certifique-se de clicar em sim e reiniciar o mecanismo de URL. A reinicialização é muito importante, portanto, certifique-se de reiniciar o mecanismo ARL. Não, com o motor ARL, reinicie-o. Temos o plugin necessário e os ativos necessários para criar nosso jogo Fighter Jet. Agora, vamos começar. 3. 02 Plano de veículo com rodas: Agora, primeiro e primeiro, precisamos criar o plano para nosso caça a jato Então, para fazer isso, vá até a gaveta de conteúdo, e aqui na pasta, clique com o botão direito, crie uma nova pasta, e eu quero chamá-la de blueprints Então, todas as nossas plantas estarão nesta pasta. Quero que tudo seja organizado. Então, clique com o botão direito aqui novamente, crie uma classe de blueprint e, aqui, vá para todas as classes Procure por veículo com rodas Pawn. Este peão de veículo com rodas, podemos usá-lo para criar um caça a Há muitas coisas dentro dela. Então escolha essa seleção de cabeça, e eu quero chamá-la de PP porque nosso caça a jato é F 18. Eu quero chamá-lo de F 18. É isso mesmo. Não clique nele para abri-lo e saber, como uma classe de personagem, que tínhamos um componente de movimento. Nesse caso, temos o componente de movimentação do veículo. E dentro disso, há muitas coisas que podemos mudar. Podemos adicionar uma calça, podemos incliná-la. O que são as asas? O que é o rodder e tudo isso, certo? Depois disso, podemos decidir uma malha, clicar na malha e, em um recurso de malha esquelética, escolher a malha esquelética F 18 Escolha e agora você pode vê-lo aqui. A primeira coisa que queremos fazer nessa malha simular a física porque o jogo que você deseja criar é baseado em física Você não precisa mudar nada depois disso. O que mais precisamos? Precisamos criar uma câmera, mas queremos fazer isso com um braço de mola. Então, aqui, clique na malha, clique em adicionar e aqui, procure por um braço de mola. Adicione um braço de mola. Você não precisa fazer nada por enquanto, clique nele. Clique em e adicione a câmera, procure a câmera e adicione-a lá. Não, temos uma câmera. Podemos posicioná-lo com um braço de mola para que nossa câmera não atravesse as paredes. Então clique no braço de mola aqui. Deixe-me subir. O comprimento do alvo. Eu quero colocá-lo em 1.500. Assim. Você pode ver porque nosso avião é muito grande. E eu quero mencionar a posição. Eu não quero fazer isso com o socket offset. Quero apenas destacar completamente a posição como esta do nosso braço de mola porque, por padrão, ele está na parte inferior do nosso avião de combate, queremos colocá-lo no meio dele. Essa neve é melhor. A próxima coisa que eu quero mudar aqui mudar o uso da rotação do controle de libras. Certifique-se de fazer isso. Portanto, sempre que mudarmos a guinada e a inclinação do nosso controlador, o braço da mola de guinada e inclinação também mudará com a câmera Assim, podemos olhar ao redor ou voar sempre que precisarmos, e pronto Não, temos uma planta de caça a jato. No momento, ele não pode se mover, mas vamos apenas colocá-lo em nosso nível para ver se está funcionando ou não Então, para fazer isso, o que eu quero fazer é criar outro modelo desta vez do tipo de modo de jogo, e quero chamá-lo de modo de jogo de caça a jato BP Está bem? Avião de combate, modo de jogo. Vou clicar nele para abri-lo. E aqui, a única coisa que precisamos mudar é a classe de peão padrão Queremos mudá-lo para BP Feighten. O modelo que vocês criam juntos, é isso. Você pode simplesmente compilar, salvar e fechar. Agora, se você for para o nosso nível aqui, quero entrar na quero entrar configuração de palavras e mudar o modo de jogo do não para o modo de jogo a jato de combate da BP, o modo de jogo que criamos juntos Agora, se você salvar, ele solicitará que você salve este mapa. O que eu quero fazer é criar uma pasta aqui e chamá-la de níveis. E aqui, vá com cuidado. Então, tudo será organizado. Agora, se você atropelar o jogo, poderá ver mais de F 18. No momento, nada está funcionando. A física está funcionando. Você pode ver que está se movendo, mas não pode fazer nada. Então, a primeira coisa que eu quero fazer é não querer que esse avião de combate caia desse jeito. Eu quero derrubar esses jogadores que começam assim. E depois dessa corrida de cabeça, eu não quero que ela caia no chão assim queremos calcular a força G em algum ponto, então é necessário colocá-la no chão exatamente assim. Pode derrubá-lo mais assim. Se corrermos. Não, isso é melhor. Você pode ver que é um selo de aço inoxidável. Não, é hora de, primeiro, poder dar uma olhada no avião de combate. Vamos ver como podemos fazer isso a seguir. 4. 03 Olhe ao redor do avião caça: Agora vamos ver como podemos mover nossa câmera ao redor do nosso avião. Assim, o jogador pode olhar para diferentes ângulos do caça a jato. Para fazer isso, precisamos usar uma entrada aprimorada. Então vá para a gaveta de conteúdo, e aqui no caça a jato, clique com o botão direito, crie uma nova pasta e, aqui, nomeie-a como entradas Está bem? Entre, clique com o botão direito novamente, vá para a entrada e crie o contexto de mapeamento de entrada. Eu quero chamá-lo de IMC, caça a jato. É isso mesmo. E vou clicar nele para abri-lo. Você pode ver como ele se abrirá bem ao lado das plantas e Você não precisa desse plugin, então você pode simplesmente fechá-lo. Agora, aqui, precisamos novamente clicar com o botão direito do mouse em Ir para inserir a ação de entrada criativa, dar uma olhada. Está bem? Clique nele para abri-lo aqui com o máximo que queremos girar nossa câmera Então, precisamos mais de X e Y. Clique aqui, altere o tipo de valor para acessar D ou VCToRTD Ao selecionar isso, você pode simplesmente fechar isso e, no contexto do mapeamento de entrada, criar um mapeamento aqui. Queremos mapear a visão geral da IA. Então escolha aí depois expandido e aqui, clique na seleção, vá para Ms e escolha Ms X Y para o eixo, certo? Então, o que ele fará, ele passará pelo eixo XY de ou Ms, certo? Agora, você pode salvá-lo, acessar nosso plano, acessar o gráfico de eventos No caso de começarmos a jogar, queremos pegar o controle do player, pegar o controle do player. E com isso, queremos obter o componente de entrada aprimorado. É isso mesmo. Com isso, queremos adicionar ou inserir contexto de mapeamento a ele. Portanto, pesquise adicionar contexto de mapeamento. Adicione o contexto de mapeamento, certo, e conecte-o assim para que o evento comece a ser jogado Queremos que isso aconteça apenas uma vez. Então, o contexto de mapeamento é o jato de combate IMC que criamos juntos, e pronto Agora, se você for aqui e clicar com o botão direito do mouse e pesquisar IA, L ao redor, há um evento para nós lá, certo? Podemos usar o anel de teste de impressão para mostrar o valor como este. E se você atropelar o jogo, você pode ver que, ao mudar a posição do máximo, isso nos dará um valor de 0-2, certo? Você pode ver que não. Vamos simplesmente deletar isso. Para olhar para a esquerda e para a direita, quero usar o valor X desse valor de ação e, para olhar para cima e para baixo, quero usar o valor Y dele. Então arraste e solte e quebre o vetor dois para que você tenha acesso a X e Y separadamente, certo? Não, há um nó para olhar para a esquerda e para a direita, e o nó é a entrada Ya do controlador de adição. Você gira em torno do eixo Z, certo? Então, com isso, podemos simplesmente passar o X para lá. E se você compilou e executou, não, você pode ver, eu posso olhar para a esquerda e para a direita. É assim que é fácil. E podemos usar o Y para controlar o tom. Rotação em torno do eixo Y, certo? Então, seque e solte no controlador. Entrada de tom. É isso mesmo. Podemos simplesmente conectar o Y a lá. Agora, se compilarmos e executarmos, podemos olhar para cima e para baixo assim Mas, no momento, o problema é que, quando a maioria sobe, a câmera também sobe. Eu não quero que seja assim. Se você quiser que ele seja invertido assim, você pode simplesmente deixá-lo lá Mas o que eu quero fazer é negar o Y, e como podemos fazer isso, podemos ir até o IMC Fighter Jet e, aqui, adicionar um modificador com o tipo de negação Queremos negar apenas o Y, não X, não Z. Apenas o Y. Então desmarque o X e Z, deixe com Y. Então ele multiplicará por menos um e ele o negará. Então, agora, se você atropelar o jogo, você pode ver, podemos dar uma olhada em nosso caça a jato. Nem tudo está bem. Precisamos nos mover ou voar. Vamos ver como podemos fazer o próximo vídeo. 5. 04 Configuração da roda: Nosso caça a jato para poder se mover, precisamos colocar algumas coisas no componente de movimento do veículo. Então, vamos ver o que são esses. Em primeiro lugar, se você for ao Viewport, verá que temos três rodas, duas delas na parte de trás aqui e uma na frente, assim E precisamos dizer ao componente de movimento do veículo onde estão as rodas? Qual é o nome de seus ossos, certo? Configuração do volante I. Temos três rodas, então precisamos definir três rodas aqui. Portanto, crie três elementos dentro dessa configuração de roda. E se você entrar, primeiro de tudo, precisamos de uma classe de rodas. Já tem um aqui, mas eu não quero usá-lo. Eu quero apenas criar um componente de roda. Então, para fazer isso, o que eu quero fazer é ir para a pasta de caças, acessar o Blueprint, clicar com o botão direito do mouse aqui e criar uma classe de projeto do tipo roda de veículo caótica Se você descer, poderá ver o caos, a roda do veículo. Basta selecionar isso e criá-lo lá. Eu quero chamá-lo de BP Feighteen wheel. Está bem? Vou clicar nele para abri-lo. Dentro desse modelo caótico de roda de veículo, vamos apenas configurar algumas coisas. Por exemplo, o raio da roda. Eu quero colocá-lo em 40 e a largura da roda, eu quero colocá-lo em 30. Você pode obter tudo isso dentro do liquidificador, por exemplo, lá, todas essas medidas Mas se você não sabe como trabalhar com o liquidificador e os tamanhos de lá, basta colocar alguns valores aqui E mude até chegar ao resultado desejado. Em seguida, quero também poder usar o freio de mão neste caça a jato e quero ter o ABS ativado Isso é para quebrar. Sempre que batemos em um espaço, queremos que a roda trave para que não gire mais. Então essa é a nossa classe de rodas. Agora, devemos voltar à nossa planta, planta F 18, e aqui, em vez desta classe de roda que, por padrão, está aqui, queremos escolher a planta que criamos juntos Então coloque aqui. Para o próximo, novamente, você pode simplesmente clicar aqui e ele o colocará lá até que você o selecione na gaveta de conteúdo, certo? E depois disso, vá para o Índice dois e coloque-o aqui também. Agora, precisamos especificar os nomes dos ossos. Então, para fazer isso, precisamos abrir o esqueleto sobre o avião de combate Então, aqui na pasta de ativos do avião de combate, Feighteen aqui, temos um esqueleto Feighteen aqui, temos Você pode ver isso aqui. Na parte inferior, diz um esqueleto, clique nele para abri-lo E aqui, basta pesquisar por Wheel. E você pode ver que há três deles. Se você clicar neles, poderá ir até eles. Se você ouvir F, poderá se concentrar neles e girá-los. Você pode ver que isso está sobre a roda e precisamos copiar os nomes, copiar o nome do osso e colocá-lo um por um aqui. Vamos para o próximo, clique novamente com o botão direito do mouse em Copiar nome do Bone e coloque-o aqui. Novamente, o próximo, este, copie o nome do osso e coloque aqui. Legal. Não, esse componente de movimentação do veículo sabe onde estão as rodas para poder confiar nelas e movê-las. E isso é tudo para definir as rodas do nosso componente de movimentação do veículo. Em seguida, queremos definir o propulsor, o motor, as asas e tudo Vamos ver como podemos fazer isso. 6. 05 Configuração de aerofólio: Conhecido por definir as asas, o leme e Vamos primeiro ver o que são. Por exemplo, basta pesquisar o caça a jato Rudder. E se eu clicar aqui, você pode ver que o leme é esse, e esses são os elevadores, e o Nós também temos as asas. Se eu clicar aqui, é claro, você sabe o que é a asa. Não, devemos definir tudo isso para o motor Ale para o componente de movimentação do veículo. E para fazer isso, devemos descer até chegar à configuração do aerofólio Aqui, queremos dizer que tem elevador, tem uma asa, tem um rodder, certo? Então, basta clicar aqui para adicionar um. Primeiro, eu quero adicionar as asas, ok? A asa. E o nome do osso, eu quero usar a fuselagem de um avião inteiro como uma asa porque no motor aéreo, esse corpo deve ser calculado no cálculo da física Não podemos simplesmente dizer que isso é a asa, a asa. O que fazemos é criar sustentação. Então, tudo isso, todo o corpo pode produzir sustentação ou arrasto. Para definir o corpo inteiro como uma asa, quero encerrar essa busca e, aqui, deixe-me resumir isso. Eu quero usar essa , junta dentada, a junta, que é a raiz aqui Clique com o botão direito do mouse, copie o nome do osso e cole aqui para nossa ala. Em seguida, para compensação, eu não quero mudar isso de jeito nenhum. Eu quero que seja o corpo inteiro, então a articulação da engrenagem é o corpo inteiro O eixo operacional não é menos um, é um. Depois disso, a área de quantos metros. Se você passar o mouse sobre ele, ele indicará a área da superfície do aerofólio, metro quadrado Novamente, você pode usar o liquidificador para medir com precisão, mas às vezes você precisa mudar algumas coisas aqui para tornar seu jogo mais jogável Às vezes, se você simplesmente colocar o valor exato lá, será muito difícil para o jogador controlar. Para a área, eu quero colocar 15 aqui. E se você passar o mouse novamente sobre ele, ele indicará um valor maior, criará mais sustentação, mas também mais arrasto Então levante. Ele pode decolar muito mais rápido, certo? As outras opções, eu não quero mudá-las de jeito nenhum. Esses são bons. Você pode simplesmente passar o mouse sobre eles. Isso lhe dirá o que eles fazem, mas eu quero deixar como está. Agora, para a próxima, basta clicar aqui novamente e, no índice um, quero adicionar a ordem Então, aqui, basta escolher a ordem. E, novamente, para o nome do osso, quero usar o corpo inteiro. Então, vamos colocá-lo aqui. Novamente, o eixo p é um, não menos um. A área de 1 metro é mais do que boa. E para as outras opções aqui, você sabe que isso é um leme Deixe-me ir novamente e mostrar para você. Esse é o Roder. Deixe-me clicar aqui para que possamos ver melhor. Ordem. 1 metro para a área é mais que suficiente. Então, vamos colocar um aqui. É um por padrão. A curvatura, vamos apenas superá-la, asa de Cambra. Deixe em zero se for um rodder. Então, como isso é um rodder, devemos colocar zero aqui E o importante aqui o ângulo em graus pelo qual a superfície de controle se move. Deixe em zero se for uma superfície fixa. Não é uma superfície fixa. Ele pode se mover, e nós nos moveremos, mas devemos dizer a ele em quantos graus ele pode se mover. Eu quero colocá-lo em 90 graus quatro, não, mas você pode limitá-lo mais a 60, por exemplo. Mas 90 é mais do que suficiente. Às vezes, ele pode se mover mais de 90 em alguns aviões, certo? A próxima coisa que quero acrescentar é o elevador. Então, vamos adicionar outro aqui. Queremos mudar isso para elevador. E novamente, para o nome do osso, novamente, eu quero usar o corpo inteiro aqui. E, novamente, esses eixos operacionais, precisamos consertá-los. Então, não para as opções aqui. Vamos aqui, novamente, dar uma olhada. Esse é o elevador. Você pode ver o elevador aqui. Então, com base nisso, eu quero mudar a área, por exemplo, para árvore. Claro, você deve jogar com isso. Mais área cria mais sustentação, mas introduzirá mais resistência, certo? Para a curvatura, quero aumentar um pouco esse valor no futuro, vamos alterá-lo muito mais, mas esses são os valores que eu testei muito e esses valores são bons Para o ângulo de controle máximo, novamente, eu quero colocar 19 lá, mas com base no seu plano, você precisa mudar isso também, e pronto. Nenhum componente de movimentação do veículo conhece todos os aerofólios, Então, a próxima coisa, há mais algumas configurações a serem feitas. Faremos isso no próximo vídeo. Quero que todo esse vídeo seja como um livro de receitas. Portanto, no futuro, se você quiser conferir algo novamente, poderá encontrar o vídeo facilmente. 7. 06 Configuração do propulsor: A próxima coisa que queremos configurar é o propulsor. No momento, o motor Arial conhece as rodas. Eu sei sobre asa, leme e elevador, mas não sei sobre o motor, o motor, o propulsor, mas não sei sobre o motor, o motor, o propulsor, certo? Então, desça. Temos uma configuração de propulsor. Clique aqui para adicionar um propulsor, e aqui, podemos ter algumas opções Em primeiro lugar, o tipo de fideicomisso é fixo. Isso significa que não está se movendo em nenhuma direção. Então, deixe como está fixo. Em seguida, o nome do osso, novamente, posso simplesmente usar o corpo inteiro porque queremos adicionar confiança a todo o corpo. Não pense nisso como um avião real. Em seguida, offset, eu não quero mudar isso. O eixo do fiador, ele deve estar na direção X. Você sabe disso? O vetor direto é a direção X. Portanto, a confiança que esse motor deve confiar na direção positiva. Então, o eixo Trust é mais do que bom, mas eu quero mudar a força Max Trust para 35.000 É isso mesmo. Foi aí que o Trustor 8. 07 Configuração de controle do Arcade: A próxima configuração que você deseja alterar é a configuração do arcade controle de arcade ou a configuração de arcade ajudam o jogador a controlar o avião com muito mais facilidade, porque o jato de combate do mundo real não é fácil É por isso que temos controle de arcade. Então não, vamos ao controle de arcade. No controle de torque, quero habilitá-lo porque facilitará tudo para o jogador. Quero alterar a escala do Ya Torque para 0,1. Este é o que tínhamos E e o avião pode ir por aqui, certo? Quero aumentar a escala de pitch turkey em uma e rolar a escala em uma também. E eu quero aumentar o amortecimento de rotação para um também Então, quando o jogador quiser girar, ele não girará com muita força Parece muito melhor quando temos algum amortecimento de rotação, um pouco de amortecimento e Portanto, não permitirá que o caça gire muito rápido O próximo é o controle de rotação do alvo. A única coisa que eu quero mudar aqui eu quero ativá-la primeiro, e eu quero dizer rolagem como uma habilitação de velocidade para que a velocidade possa afetar a rotação. E a seguir, quero mudar a rigidez de rotação para duas, por exemplo, certo Esses são alguns valores com os quais eu testo esses caças, e parecem bons Mas, na minha opinião, você deve mudar muitas dessas coisas e ver os efeitos no jogo e alcançar o resultado desejado. Talvez você queira seu avião ou caça. Para ser mais fácil de manusear, ou talvez você queira que seja simulação exata que seja difícil de manusear, certo? E isso foi tudo para configuração no controle de arcade. 9. 08 Configuração do veículo: A próxima configuração que você deseja fazer é a configuração do veículo. Se você for para a categoria de configuração do veículo, não precisará mudar muita coisa aqui. Se você quiser mudar a massa, você pode, por exemplo, agora, com essa massa e esse valor de confiança que colocamos lá, ele pode mover o avião e trazê-lo para o ar. Mas se você aumentar a massa, esse valor de confiança que colocamos, ela não será capaz de movê-la de forma alguma. Então, essa massa é muito importante. Por padrão, é bom. Em seguida, precisamos permitir que o centro de massa seja anulado e, com isso, você não precisa mudar nada aqui ativando a substituição do centro de massa Isso nos ajuda a colocar o centro de massa no meio do nosso plano, e é assim que deveria ser. Às vezes, você precisa alterar esses valores até alcançar o resultado desejado, é claro. E essa foi a configuração do veículo. 10. 09 Definir o impulso: Então, finalmente, as configurações estão concluídas. Mas em algum momento no futuro, mudaremos algumas coisas para mostrar outras configurações, porque só de falar sobre elas, você as esquecerá muito rápido Mas se mudarmos alguma coisa e vermos o efeito no jogo, você entenderá melhor. Por exemplo, se mudarmos a massa, o que acontecerá? Se mudarmos a confiança, o que acontecerá, certo? Agora, com isso, vamos testar se podemos mover ou planar. Então, para fazer isso, eu quero adicionar um acelerador. Deixe-me pesquisar o que é o acelerador. Eu não quero que você saiba todas essas coisas. É por isso que estou procurando por tudo. Então você sabe mais sobre os aviões e depois aprenderá como criá-los, certo? Então, clicando aqui, você pode ver, temos um joystick aqui que, com ele, controlamos para onde os lutadores ainda vão, mas temos um acelerador aqui que se o jogador empurrá-lo para frente até o final, ele dará a máxima confiança no motor Mas se você colocar tudo para trás, significa que o motor está quase morto ou desligado, certo? Portanto, o valor do acelerador é um valor 0-1. Então, para fazer isso, queremos controlá-lo com shift and control. Com a mudança, podemos aumentar o acelerador e, com o controle, podemos diminuir o Para trocarmos o acelerador, quero ir até a gaveta Compton na pasta do jato de combate na entrada E aqui, clique com o botão direito do mouse, vá para a entrada e crie a ação de entrada. Quero criar duas ações de entrada, uma para aumentar o acelerador, que chamamos de confiança, e outra para diminuir o acelerador, e outra para diminuir que Então dizemos que eu confio. E precisamos de outra ação de entrada, IA break. Está bem? Portanto, essa confiança de IA aumentará o acelerador e o IABaK diminuirá o Dessa forma, é muito mais fácil entendê-lo e trabalhar com ele. Agora, com isso feito, devemos ir ao IMC para obter o contexto de mapeamento de entrada e mapeá-los. Temos um para IA Trust, então IA Trust. E aqui, sempre que mudamos de cabeça, queremos confiar, certo? Não precisa mudar nada. Em seguida, queremos mapear o IA. Deixe-me ver. Eu quebro. E aqui, sempre que tínhamos o controle, deixávamos o controle no teclado, queríamos diminuir o acelerador. Queremos fazer uma pausa. Agora, com isso feito, quero ir até a gaveta de conteúdo e pedir que eles passem um valor flutuante Então, coloque-o para flutuar para os dois. Eu também quebro, coloco para flutuar, que passe pela bóia Por exemplo, se você deixar a tecla Shift em nosso teclado, ela passará uma. E isso é importante. Vamos agora entrar aqui em nosso Blueprint, FaighteenR clique aqui, IA trust with IA Trust, não, isso nos proporcionará um evento para aumentar a confiança, como podemos No componente de movimento do veículo, se arrastarmos e soltarmos e o colocarmos aqui, há um nó chamado set Trotle set throttle É isso mesmo. Agora, podemos simplesmente colocá-lo aqui e conectar o valor da ação ao acelerador Sabemos que o valor da ação nos dará um valor 0-1. Não será mais do que isso, certo? Mas o que acontecerá com isso, o acelerador, sempre que pressionarmos a tecla esquerda em nosso teclado, estará no máximo Então, não corra. E aqui, se eu mudar a cabeça uma vez, você pode ver que o acelerador está no máximo E nosso avião está tentando decolar e está decolando. Então, tudo parece bom. Não podemos movê-lo, mas tudo está funcionando bem. Então, aqui, o primeiro problema é que o acelerador chega ao máximo muito rápido Não queremos que isso aconteça, então precisamos mudar isso sem problemas Vamos ver como podemos fazer isso. Próximo. 11. 10 Interventos: Então, o problema que tivemos no último vídeo foi que o trotle está mudando de 0 a 1 muito rápido Vamos ver isso mais uma vez. Se estiver aqui, basta imprimir uma string e mostrar esse valor de ação aqui, execute, e se mudarmos, você pode ver que, de repente, é um e não é normal. Então, o que podemos fazer com isso? Há um nó chamado F interp two, ok? Esse nó nos ajuda a alterar suavemente um valor de um te atual para o valor alvo, por exemplo, 0-1, certo Então, não. Para que esse nó funcione, precisamos de uma variável. E para isso, eu quero criar uma variável aqui, com o nome de valor Trotle E do tipo, eu quero que seja flutuante porque o trotle é um flutuador Então, por padrão, é zero. Portanto, a corrente é sempre zero. Então, coloque o valor do acelerador na corrente. O alvo, queremos que seja o valor da ação, certo? E precisou do tempo da Delta. Podemos obter o horário do Delta no eventq, mas outra forma é obtê-lo Avise, Delta em segundo lugar. É isso mesmo. É exatamente como conectá-los a este segundo Delta aqui. Isso é mais do que suficiente. Precisamos colocar um pouco de velocidade aqui. Por exemplo, 0,5, é claro, você pode jogar com esse valor. Depois disso, precisamos definir o valor do acelerador novamente com o novo valor que cada vez que isso nos dará Então, para fazer isso, vou pegar o valor do acelerador, configurá-lo aqui com esse Então, vamos conectar isso aqui, conectar isso aqui. Use apenas um anel de impressora para mostrá-lo a você. Então, aqui, eu quero usar uma string de impressora e mostrar o valor do acelerador O avião não se moverá porque eu não conectei o valor do acelerador aqui . Então, vamos correr. Se eu tivesse uma mudança, agora você pode ver que ela começa suavemente do zero e, depois disso, alcançará o valor um Vai chegar perto disso, certo? Então é assim que, no mundo real, o acelerador funciona. Isso não vai acontecer muito rápido. Demora um pouco de tempo. O tempo necessário, você pode alterá-lo com essa velocidade de interposição Você pode alterar a velocidade de alterar esse valor do acelerador, certo Não quero mais esse anel de impressora. Eu posso simplesmente conectar isso aqui e acelerar o valor Agora, com isso, deixe-me organizar um pouco. Se você atropelar o jogo, se eu segurar a tecla Shift, você pode ver que ele começa a se mover lentamente e, depois disso ele atingirá o acelerador máximo que é um, e também está fluindo Isso é bom, certo? Agora que fizemos a confiança da IA, precisamos fazer a quebra da IA. Também precisamos desses nós. Queremos que eles diminuam esse valor do acelerador sempre que mantivermos o controle esquerdo Você tenta fazer isso. Sei que é um desafio difícil, mas tente fazer isso sozinho. Faremos isso no próximo vídeo. 12. 10. Defina freio: Não é uma pausa. Vamos apenas ir até aqui. Podemos dizer que eu quebro. Obtenha o I break, a ação de entrada aprimorada que criamos juntos. Aqui, sempre que pressionarmos o controle esquerdo, esse I break acontecerá e o que queremos que aconteça é exatamente isso. Selecione tudo, controle, veja para copiá-lo e colá-lo aqui. A diferença é que, desta vez, queremos diminuí-la para zero. Então, aqui, o valor atual deve ser o valor do acelerador, tudo bem porque estamos sempre rastreando o valor tudo bem porque estamos do acelerador Queremos diminuí-lo ou aumentá-lo, então o rastreamos. E o alvo desta vez, não queremos conectar isso. Queremos simplesmente deixar um zero, trazê-lo para o zero. Novamente, para mostrar isso, quero usar uma string de impressora. Teste a mola e mostre o valor do acelerador sempre que pisarmos Se você atropelar o jogo, verá que se eu apertar a tecla shift, ele se moverá. E se eu apertar o controle, você pode ver que está diminuindo até chegar ao zero, e o avião deve parar Mas é claro que não vai parar porque está deslizando. Não há muito atrito aí. Você pode simplesmente trazê-lo para o zero e, eventualmente, ele esperará. Portanto, não, sempre que pisarmos no freio, ele obterá o valor do acelerador e o diminuirá suavemente para zero até que você mantenha o Tudo está funcionando bem com a frenagem. Então, vamos conectar isso assim a aqui. Então isso é bom. Em seguida, quero mostrar como você pode usar freio de mão porque você viu que a confiança era zero, o acelerador era zero, mas o avião não Podemos usar o freio de mão para isso. Vamos ver como podemos fazer isso. Próximo. 13. Freio de mão: Para bico de mão. Quero usar um espaço para quebrar a mão. Então, vamos até a gaveta de conteúdo aqui, clique com o botão direito. Vá para a entrada Create Input Action, e eu quero chamá-la de IA hand break. Ok. Vou clicar nele para abri-lo. O booleano digital é mais do que suficiente. Precisamos ir ao IMC também e mapeá-lo lá. Então, clique em mapeamento e queremos mapear a quebra de mão do IA. E aqui, sempre que chegamos ao espaço, queremos que uma quebra de mão aconteça, certo? É isso mesmo. Agora, podemos acessar nosso plano e aqui, botão direito do mouse em pesquisar IA hand break. E é isso. Novamente, há um nó no componente de movimento do veículo que é chamado de freio de mão ajustado Então, procure o freio de mão. Você pode ver a entrada do freio de mão definido. Mas desta vez, queremos verificar. Se pressionarmos o ritmo, queremos que ocorra uma quebra de mão. Mas deixe-me controlar o controle C copiando-o. Mas sempre que liberamos o espaço ou concluímos que está exatamente liberado queremos desativar o freio de mão É isso mesmo. Eu também preciso do alvo aqui. Agora, com isso, vamos ver o que vai acontecer. Se atropelarmos o jogo, se mantivermos a tecla Shift um pouco pressionada, ela se moverá. E se mantivermos o controle, ele não deve se mover, mas se atingirmos o espaço, você pode ver que ele está parando, não. Você vê isso. Novamente, está se movendo porque tem alguma confiança. Se mantivermos mais controle e atingirmos o espaço, não, você pode ver que ele está lá. Tudo parece bom. O freio de mão não está funcionando e o avião não está se movendo 14. Animação de roda: Agora temos alguma confiança em nosso caça a jato e podemos mover nosso caça de acordo com ele, certo? Mas vamos dar uma olhada em um problema. Se você atropelar o jogo, você pode ver, em primeiro lugar, olhar para as rodas. Se avançarmos, você pode ver que as rodas não estão se movendo. Por que não está se movendo? Nós habilitamos a física. Nós o configuramos no componente de movimentação do veículo, mas ele não está nem um pouco se movendo. Não parece nada bom, certo? Então, para corrigir a necessidade de um plano de animação, como queríamos, ou classe de personagem Então, se você clicar em ou mesclar, como você sabe, esse avião de combate é apenas uma malha esquelética que pode ter um plano de animação Então, para fazer isso, devemos ir para a gaveta de conteúdo Eu quero ir para a pasta de caças a jato, e aqui, eu quero ir para o Blueprint porque o Blueprint de animação é apenas outro tipo de projeto Então, clicando com o botão direito aqui, crie uma classe de planta e, nas aulas, pesquise o veículo Animação, chamamos de instância de animação. Basta escolher aquela seleção de cabeça. Este é o modelo de animação do caos que nos ajuda com a malha esquelética com rodas Eu quero chamá-lo de ABP para animação Blueprint, F 18 porque estamos usando um F Não clique nele para abri-lo. Eu vou te dizer que não há nenhum esqueleto lá dentro, então entre aqui e escolha um esqueleto Queremos escolher entre F 18, certo? Vá bem, e ele o colocará lá para nós. Agora que temos um plano de animação, podemos configurá-lo aqui, apenas clicando nesta seta Sempre que você seleciona algo na gaveta de conteúdo e usa essa seta ao lado de qualquer coisa, ela a coloca lá, se possível, certo? Não, onde o ABP f 18 que criamos juntos está definido lá, mas nada acontecerá porque não fizemos nada lá Se você não clicar nele, ele será aberto. É exatamente como qualquer projeto de animação, mas podemos fazer muitas coisas com o veículo Vou mostrar a maioria deles. Primeiro e primeiro, aqui, devemos obter a malha f pose, mesh space, f pose. Isso nos dará a localização, a rotação e toda a malha esquelética do nosso caça a jato E com isso, existe um nó chamado controle de roda para veículo com rodas É isso mesmo. Acabamos de conectar esse pH automaticamente convertido do componente para o espaço local. Compilamos e sabemos que se você atropelar o jogo e mudar de cabeça, não, você pode ver que está se movendo Você pode ver a roda. Não, você pode ver que está se movendo, e está lindo. Podemos dirigir o espaço até o freio de mão, e você pode ver como foi fácil adicionar rotação às nossas rodas espaciais físicas, certo? Um problema que temos aqui você pode ver que a roda dianteira está no céu. Então, vamos ver qual é o problema. Para corrigir isso, precisamos ir até o BP F 18, clicar no componente de movimento do veículo onde montamos as rodas, à direita, e precisamos alterar o raio da dianteira Se você se lembra, temos a roda BP F 18. Se mudarmos para 35, por exemplo, não, se compilarmos e executarmos aqui, você pode ver que está um pouco abaixado, mas a roda traseira está um pouco enterrada Novamente, se mudarmos isso mais, por exemplo, para um valor ridículo, 25 e começarmos a compilar e executar o jogo novamente, você pode ver que não, a roda dianteira está subterrânea, mas as rodas traseiras estão no chão, e você pode ver que está funcionando, mas o problema é que não parece muito Então você precisa encontrar uma maneira de corrigir isso. E do jeito que está, você deve ter outra classe de roda para a roda dianteira. Você tenta fazer isso, e nós faremos isso no próximo vídeo. 15. 13 Raio da roda: Não, para fixar as rodas, a diferença entre o raio das rodas Para consertar isso, você sabe que o 25 aqui é bom para a roda dianteira, mas para a roda traseira, precisamos usar 35, por exemplo, ou 40, certo? Então, precisamos de outra dessas rodas BP FAT. Então, vamos descobrir isso primeiro. Se formos até a planta da pasta de jatos de combate, podemos duplicar essa roda pelo Controle D para duplicá-la E essa, eu quero chamá-la de BPF ATN na roda traseira, ok? Isso é para a roda dianteira, então vamos mudar para a roda dianteira dianteira. E vamos clicar nele. A roda dianteira, queremos que seja 25, mas a roda traseira, queremos que seja 40. O raio dela, queremos que seja 40. É isso mesmo. Vamos clicar em compilar E agora devemos ir para o BPF 18, clicar no componente de movimento do veículo e alterá-los lá. Mas qual é o da frente? Qual é o de trás? O que eu quero fazer é ir até um esqueleto disso e procurar uma roda para ver qual devemos selecionar para a roda dianteira e qual devemos selecionar para a roda traseira, certo? Então, clicando aqui. Você pode ver que temos uma junta de roda que é a roda dianteira. Portanto, a junta de roda LF é a roda dianteira e as outras são as rodas traseiras. Então, vamos até aqui. A junta da roda esquerda é a dianteira. Então, deixe isso assim. Mas os outros, queremos mudá-lo para a roda traseira, esta e esta. Não se preocupe com esses nomes. O nome dos ossos não é muito bom aqui, mas nós demos uma olhada. E agora você pode ver que a roda dianteira está bem no chão e a roda traseira também está no chão. Claro, você pode mudar algumas coisas. Deixe-me colocar isso aqui. Para a frente, eu quero colocar 28 talvez, e para trás, vamos mudar para 35. Acho que parece muito melhor. Agora, se você atropelar o jogo, você pode ver, o tom é perfeito, certo? Está no chão e tudo parece bem, e as rodas também estão se movendo, e nós também podemos quebrar. Você pode ver como está funcionando bem. Deixe-me me mover novamente, e você pode ver que eu também posso usar o freio de mão Tudo parece bom. Parabéns. 16. 14 VFX com impulso: Não, nossas rodas estão girando, mas quando mudamos o acelerador, não vemos nenhum efeito Então, o que você quer fazer? Aqui, quando aumentamos o acelerador, queremos que um pouco de fogo saia do escapamento Vamos ver como podemos fazer isso. Por fazer isso, se você for até nosso esqueleto aqui, desça. Temos alguns soquetes chamados de motor LT. Você pode ver aqui. Se eu tivesse te contado, você pode ver. Motor L T e motor RT. Você pode ver que isso nos dará uma posição de onde nosso motor deve criar algum fogo, certo? Então, podemos usar esses dois soquetes para adicionar alguns efeitos visuais Para fazer isso, basta clicar em ou mesclar, clicar em AD e, aqui, pesquisar o sistema de partículas do Niágara Um para o motor esquerdo. E precisamos de outro com Controle D. Eu o dupliquei Este é para o motor Wright. Então, coloque-o no motor Wright. É isso mesmo. Agora, com isso, podemos decidir quais efeitos visuais podemos colocar lá. Selecione os dois segurando a tecla Control. E aqui no ativo do sistema Niagara, basta escolher NS para o motor do sistema Niagara Agora você pode ver isso aqui. Mas não está na direção certa. Por quê? Porque precisamos colocar o soquete onde deveria estar, certo? Para o motor certo, podemos acessar o soquete principal, clicar aqui e pesquisar o motor RT correto Em seguida, para o motor esquerdo, novamente, devemos fazer o mesmo, clique aqui. Isso é para o motor esquerdo, então motor LT. E, no momento, o problema é que está atrasado. Para corrigir isso, podemos simplesmente selecionar os dois e girá-los em 180 graus Na direção Z, e pronto. Você pode ver isso. Tudo parece bom. Agora, se formos compilar um jogo de Runo, teremos alguns efeitos visuais que mostram se nosso avião está se movendo ou Mas agora está no máximo. Por que está no máximo. Se você clicar em um deles, por exemplo, o direito, verá que existem parâmetros do usuário. Então, se você colocar 0,1 nessa direção, não, você pode ver que é menor do que antes. Se você colocar 0,5 lá, não, você pode ver. É mais do que isso. Agora, se você colocar um, verá que está no máximo. Se você colocar dois aqui, novamente, será mais. Podemos jogar com esse valor. Só assim, não precisamos mudar Y porque você pode ver que se você mudar o Y, não parece bom. Podemos colocar todos eles em dois. Se você quiser dessa forma, não parece tão ruim, mas eu quero colocar tudo isso em um, mas alterar o X com base no valor do acelerador Por padrão, quero colocá-lo em zero para os dois, motor artístico e motor esquerdo. Então é isso. Agora, queremos alterá-los com base no valor de Trottle Como podemos fazer isso, podemos acessar o gráfico de eventos. E aqui, eu quero usar o Eventq. Mas como queremos fazer muitas coisas no eventq, o que eu quero fazer, quero criar uma função para isso Então, nas funções, clique aqui para criar uma função. Eu quero chamá-lo de gerenciar Trotle VFX. Está bem? É isso mesmo. Nesta função que você deseja usar no eventq, podemos simplesmente arrastá-la e soltá-la, colocá-la aqui e conectar o pino de execução de evento para gerenciar o acelerador O que quer que nos conectemos aqui, é exatamente como conectá-lo ao eventq, certo? Isso acontecerá 30 vezes por segundo ou 60 vezes por segundo. Não, podemos colocar o motor esquerdo e o motor direito aqui e definir um parâmetro nele. Como você sabe, se você clicar aqui, o parâmetro é chamado de escala. Então, aqui, queremos dizer definir o perímetro. E você pode ver que há muitos deles, mas, como você pode ver, a escala é uma árvore vetorial. Então, precisamos dizer definir o perímetro vetorial. Está bem? Defina o medidor vetorial para esses dois motores Não precisamos dessa instância porque a criamos aqui. Agora, o nome do medidor é uma escala, então devemos colocá-la lá, uma escala Queremos que Y seja um, e Z, queremos que seja um, mas DX queremos que seja diferente Então, o que podemos fazer é dividi-lo aqui, fazer um vetor aqui, para o Y, colocar um, para o Z, colocar um também. Mas para o X, eu quero usar o valor do acelerador, certo? Agora, vamos ver o que vai acontecer. Se você atropelar o jogo, verá que agora está em zero. Se mantivermos o turno, você pode ver que ele aumentará, aumentará e você poderá ver isso. É muito pequeno. Podemos aumentá-lo multiplicando-o por alguma coisa. Se mantivermos o controle, você pode ver que ele diminuirá , diminuirá e, no final, chegará a zero, certo? Não, para alterar a escala, neste momento, o valor do acelerador, sabemos que ele não ficará maior que um, então podemos multiplicá-lo por Por exemplo, multiplique por dois. Então, o fogo no motor será maior. Vamos compilar e saber se apertarmos a tecla shift, você pode ver que o fogo é maior e parece bom Se mantivermos o controle, ele também diminuirá. Tudo está lindo. Podemos aumentá-lo e também podemos diminuí-lo. Ooh. Não, temos efeitos visuais para mostrar quanto acelerador colocamos lá Vamos acessar o arquivo e salvar tudo por enquanto. 17. 15. Som do motor: Bem, não, quando mudamos o acelerador, temos um efeito visual, mas não é suficiente Eu quero acrescentar mais coisas a ele. Por exemplo, o som. Vamos ver como podemos fazer isso. Para o som, quero ir até a gaveta de conteúdo e, aqui no avião de combate, quero iluminar, criar uma nova pasta e quero chamá-la de sons, ok? E aqui, clique com o botão direito, vá para o áudio e crie um metasundo Eu quero chamá-lo de motor a jato. Também temos uma música para isso. Vou clicar nele para abri-lo e aqui, você pode ver algo semelhante ao blueprint É exatamente assim, mas com algumas diferenças. Por exemplo, aqui, temos um player de ondas. Com o wave player, podemos reproduzir qualquer áudio que você quiser. Por exemplo, se eu selecionar o motor a jato, podemos jogá-lo clicando em play, ok? Então saiba que, se você apertar play, nada acontecerá porque no pé O, devemos conectar o Ot Mono ao Ot Mono aqui Agora, se tivéssemos que jogar, você pode explicar o som. Mas primeiro e primeiro, o que eu quero que aconteça aqui, eu quero que seja contínuo. Então, se chegar ao final desse áudio, ele recomeçará. Isso é uma coisa que precisamos. Em seguida, quero poder alterar o volume desse player de ondas com base no acelerador Então, se o acelerador estiver no máximo, o som eu quero que seja mais alto, certo Então, para fazer isso, há um nó aqui chamado mixer, monomxer dois, certo, e ele pode misturar dois sons Mas com o ganho, podemos mudar o volume. Então, por exemplo, aqui, eu posso promovê-lo para uma entrada gráfica. Eu quero chamá-lo de ganho ou volume, você quiser chamá-lo. Então, agora aqui, se você clicar neste jogo que criamos juntos, podemos mudar o alcance. Por exemplo, eu quero que seja 0-2, por exemplo, ou entre 0,5 e dois, certo? Agora, se você jogar, você pode ver, eu posso diminuí-lo para 0,5 e posso aumentar. Com este jogo, eu também quero mudar o tom, então eu também posso conectá-los aqui. Então, sempre que mudarmos o jogo, o campo também mudará. Então, se você atropelar o metasund novamente, você pode ver. Você pode ver como está bom. Ou podemos simplesmente multiplicar isso, multiplicar uma bóia por duas, por exemplo, assim e conectá-la novamente à bainha, uma parada uma Agora, você pode ver que o calor está mudando muito mais. Ou podemos simplesmente alterar esse valor para quatro, talvez, e saber com isso, novamente, se você executá-lo, OK. Tente demais. Talvez possamos. Então, basta brincar com esses valores até alcançar os resultados desejados. Essa entrada de ganho que temos aqui também podemos alterá-la dentro do blueprint Nós terminamos o Metason . Tudo está funcionando bem. Nós podemos ir aqui. E, como fizemos com o motor direito e o esquerdo, podemos clicar na malha. Desta vez, você quer dizer áudio. Queremos reproduzir o áudio. E o áudio que queremos reproduzir é o audio jet engine, o metasun que você cria porque selecionamos aqui, por isso que ele é inteligente e sabe o que escolher Então, ele criará um componente de áudio e colocará o motor a jato MS lá. Não, não podemos jogar. Se você executá-lo assim, ele pode reproduzi-lo e nós aceleramos, ele não mudará em Mas neste acelerador gerenciado Vx, o que eu quero fazer é pegar esse motor a jato e definir um perímetro Defina um perímetro flutuante, certo? É isso mesmo. Se há um amarelo aqui, significa que não é o certo. Então, coloque um carro alegórico. O segundo é o correto. Então use este. Isso deve ser azul e conectá-los aqui. Queremos mudar o ganho com o que com esse valor do acelerador, certo Se eu apenas conectá-los aqui e compilar e executar o jogo, se eu mudar, você pode ver: Não, está mudando melhor, certo? E se eu diminuir, você pode ver que o áudio está mudando, mas isso não é suficiente. O que podemos fazer, podemos agregar algum valor a isso. Então, por padrão, ele tem 0,5 dentro dele. Então, adicione 0,5 e, depois disso, altere a variável de ganho. Mude a entrada de ganho, certo? Vamos compilar e executar. Você pode ver que, por padrão, é 0,5 não, mas se mantiver, verá que o valor está mudando. E isso eu acho que é bom. Você pode jogar. Claro, você pode jogar com esse valor. Você pode aumentá-lo se quiser. Você pode multiplicá-lo se quiser. Você pode fazer todo tipo de coisa. Mas, na minha opinião, momento, isso é mais do que suficiente. Mais uma vez, deixe-me mostrar para você. Por padrão, 0,5. Parece bom. Se ele mantiver o chip, aumentará o volume e também aumentará o tom. Tudo parece bom. Legal. Não, eu quero te mostrar outra coisa. Eu quero adicionar um pouco de interface do usuário. Mas veja, podemos fazer isso a seguir. 18. 16 Blueprint de widget: Mostramos o valor do acelerador com os efeitos visuais e também com o som, mas também queremos mostrá-lo como uma interface No motor Ao, para criar uma interface de usuário, há uma ferramenta chamada Widget Blueprint Novamente, é como qualquer planta, mas se chama Widget Blueprint mas se chama Widget aí que podemos criar uma gaveta de interface de usuário muito fácil E aqui, eu quero ir para a pasta Fighter Widget, clicar com o botão direito do mouse aqui, criar uma nova pasta, e eu quero chamá-la de widgets Então, todos os widgets que criamos para a interface do usuário estarão aqui Cachorro clique nele, abra , clique com o botão direito aqui. E na parte inferior, temos a interface do usuário e, depois disso, o widget Blueprint Clique sobre isso. O tipo que queremos criar é um widget de usuário, então clique nele Eu quero chamá-lo de WBPF 18 UI. É isso mesmo. Esse é o nome que eu escolhi. Você pode escolher um nome melhor. D clique nele para abri-lo. E agora você pode ver aqui que temos um painel de visualização aqui. Temos uma paleta na qual você pode simplesmente arrastar e soltar coisas em nossa visualização aqui para que possamos mostrá-las em nosso jogo Por exemplo, se você quiser mostrar uma imagem ou mostrar um botão, basta arrastá-la e soltá-la e você a verá em um minuto. Mas depois de tudo isso, também temos um gráfico aqui. No gráfico, temos event construction e eventiq. A construção do evento é como um evento começar a jogar, e esse eventiq é como qualquer Isso vai acontecer 60 vezes por segundo, certo? Não, vamos voltar ao designer. Vamos testar uma coisa. Para fazer uma coisa, existem milhões de maneiras de fazer essa única coisa no Aongine, por exemplo, aqui, a maneira como eu crio minha interface de usuário na maioria das vezes é com os painéis Por exemplo, painel Canvas. Então, podemos simplesmente arrastar e desenhar um aqui, e este é o nosso painel de tela. O painel Canvas é a tela do monitor. Você pode pensar assim, certo? E dentro desse painel Canvas, ele nos dará muitas opções. Por exemplo, deixe-me subir e adicionar um texto dentro dele, certo? E com esse painel de texto em detalhes, quando clicamos nele, você pode ver que posso alterá-lo para o que eu quiser. Por exemplo, olá, certo? E nas aparências da fonte, posso aumentar o tamanho Depois disso, há muitas opções aqui, por exemplo, tamanho do conteúdo. Se você clicar nele, verá que nenhum tamanho é o tamanho do conteúdo que está dentro dele, ou seja, sobre o texto, certo? falarei sobre outras opções, mas, por enquanto, vamos falar sobre a opção mais importante dentro de um painel de tela. Como adicionamos o painel Canvas na hierarquia, você pode ver o painel Canvas E como filhos disso, temos um texto que diz olá, certo? Mas a vantagem do painel Canvas são as âncoras. Então, com as âncoras, se você quiser colocá-las no meio de uma tela, basta clicar aqui Agora você pode ver que o ponto de ancoragem está no meio da tela Então, se você colocar zero e zero para a posição X e a posição Y, ele colocará nosso texto no meio ancorará no canto superior esquerdo do nosso texto, certo? Mas e se quisermos ancorar esse ponto médio aqui no ponto de ancoragem Como podemos fazer isso, podemos fazer isso com alinhamento. Aqui. Podemos dizer 0,5, this.in aqui é 0,54 X e Y Se você quiser colocá-lo exatamente no meio da tela, podemos colocar 0,5 para alinhamento na direção Y. Não, você pode ver que o texto está exatamente no meio da nossa tela, certo? Não, temos uma interface de usuário, certo? Olá, word UI. Vamos ver como podemos mostrar isso em nosso jogo. Para fazer isso, devemos seguir nosso plano. E aqui no evento em que ganhamos o jogo, devemos criá-lo primeiro e depois adicioná-lo à nossa tela ou janela de visualização, certo? Então, para criar um widget, você pode simplesmente pesquisar criar widget, conveniente, certo? Crie um widget E o tipo de classe que queremos criar é WP, FATNUI E depois disso, podemos adicioná-lo à janela de exibição. É isso mesmo. Agora, se você atropelar o jogo, verá que a ala de saudação está lá. Isso parece incrível. Temos uma palavra de olá lá, mas eu não quero fazer isso assim. Quero promover o blueprint em destaque para uma variável, que possamos atualizar o texto lá Então dizemos promover para uma variável, e eu quero chamá-la de FTenUI Ok, Feighteen UI, eu preciso do pino de execução. Então, vamos dar assim. E é isso. Agora temos acesso ao Feighteen UI Always. Vamos ver como podemos. Atualize o texto lá. Diz: Olá, palavra agora, mas queremos mudá-la para outra coisa. Para alterá-lo, primeiro clique nele na guia do designer e torne-o variável para verdadeiro, certo? Porque deveria ser uma variável, então temos acesso a ela no gráfico. Você deve dar um nome bom a isso. Por exemplo, texto, neste momento, o texto é mais do que suficiente. Agora, vamos ver o gráfico. Se você for para o gráfico, não, você pode ver dentro das variáveis, temos uma variável cujo nome é texto, o nome que escolhemos. Podemos obtê-lo assim e colocar o texto nele. Basta pesquisar o texto definido, e você pode vê-lo aqui, e assim, eu quero chamá-lo de F 18. Então, com isso, se você compilar e executar, ele deve dizer Feighteen Então você pode ver isso. Isso parece muito bom, certo? Não, eu não quero mudar o texto aqui. Eu quero alterá-lo por dentro ou pelo modelo. Como podemos fazer isso, podemos criar uma função para isso. Por exemplo, dentro dessa função, podemos criar e eu quero chamá-la de set my text. Não quero usar texto definido porque ele já está lá. Eu quero chamá-lo de definir meu texto. E dentro dessa função, pegamos o texto assim e colocamos um texto lá, certo? Defina o texto. E conecte-o assim. E essa função pode ter entradas, certo? Então, para passar algo de um blueprint para outro blueprint, podemos usar funções dentro desse segundo blueprint E cada função pode ter entrada e saída. E, nesse caso, precisamos de uma entrada do tipo de texto. Então clique na função em si, e aqui nas entradas, clique na entrada, e o tipo dela, como você sabe, deve ser texto, e eu quero chamá-la de texto ou qualquer outra coisa Eu quero chamá-lo de meu texto. Então você entenderá melhor. Não, com essa entrada, podemos simplesmente conectá-la aqui, então estamos lá. Agora, vamos ver como podemos usar essa função para definir o texto dentro de nosso modelo Aqui, o que eu quero fazer no braço de mão sempre que pressionamos um espaço, queremos mudar o texto para bico de mão e sempre que soltamos a barra de espaço ou soltamos o bico sempre que soltamos a barra de espaço ou soltamos o de mão, queremos dizer soltar o bico de mão, queremos Para fazer isso, obtemos o FATUI, obtemos assim, e dizemos definir meu texto, a função exata que criamos juntos E aqui, eu só quero dizer quebra de mão. Agora, podemos novamente usar a função, definir meu texto. E neste caso, queremos dizer liberação do freio de mão, liberação do freio mão. É isso mesmo. Vamos apenas compilar e executar o jogo. Não, você pode ver que se mantivermos a tecla Shift pressionada, ela se moverá, se mantivermos o controle, ela permanecerá um pouco. A velocidade é menor. Se mantivermos o espaço, não, diz freio de mão E se você liberar o espaço, diz liberação do freio de mão E podemos testá-lo, certo? Então é assim que você pode trabalhar com o blueprint do Widget. Nós não precisamos disso. Não precisamos nem um pouco dessa função. Então, vamos deletar isso e pronto. Diz: Olá, palavra. Eu quero mudar isso para F 18 por enquanto. Então, mostra F 18. Sempre que atropelamos um jogo como esse, quero mostrar como você pode ter alguns efeitos nesse texto no próximo vídeo. 19. 17. Animação em widget: Agora vamos ver como podemos dar esses textos um pouco de animação. Como podemos fazer isso, podemos fazer isso com animações dentro do Digit animações dentro do Digit Vamos ver. Basta clicar nele e acessar o Animation Stab aqui Clique na animação e ela criará uma nova animação. Eu quero chamar isso de text fade. Está bem? E clique nele novamente. Não, a animação de desvanecimento do texto está selecionada e você pode vê-la aqui Em seguida, devemos adicionar o texto que selecionamos aqui à linha do tempo da animação Então clique no texto e você pode vê-lo aqui. Podemos fazer muitas coisas com esses textos. Se clicarmos nesse sinal positivo, podemos mudar muitas coisas aqui. Por exemplo, cor e opacidade, certo? Então, por padrão, você pode ver que é branco. O que eu quero fazer depois de, por exemplo, 1 segundo, queremos mudar o Alfa ou a opacidade para zero Então, no momento zero, queremos criar um quadro-chave Então clique aqui para criar um quadro-chave. Às vezes, quando você clica aqui , não está criando um quadro-chave, você pode vê-lo Você pode alterar algum valor, para que ele crie um quadro-chave para nós e, depois disso, volte aqui e crie um quadro-chave Podemos excluir esse quadro-chave que temos aqui. Depois de 1 segundo, queremos mudar o Alpha para zero. Então clique aqui e coloque em zero. Agora, você pode ver que temos outro quadro-chave no final. Assim, você pode ver no início a opacidade de Feighteen está cheia e, após 1 segundo, Não, com isso, vamos compilar, salvar e começar a pegar Devemos reproduzir essa animação no evento Construct ou onde você quiser. Eu quero fazer isso com a construção de eventos. Então, obtemos uma animação de desvanecimento de texto como essa, e dizemos reproduzir animação. É isso mesmo. Assim. Há algumas opções que você pode alterar, mas, por padrão, está tudo bem. Não, vamos apenas compilar, executar ou jogar. Você pode ver primeiro, diz FateN e depois de um segundo, ele vai embora. Mas eu quero melhorar as coisas. Então, vamos ao designer. Novamente, vá para a animação, clique na animação. Agora aqui, eu quero que o texto fique por cerca de 0,75 segundo aqui, e depois disso, vá embora, certo? Então, o que eu posso fazer é colocar o cursor em 0,75 e criar um quadro-chave com alfa de Agora, você pode ver de zero a 0,75 segundo, ele tem opacidade total e depois disso, ele desaparecerá Agora, vamos dar uma olhada. Corra. Você pode ver que o FaTeen está lá e, depois disso, ele desaparecerá Em seguida, o que eu quero fazer aumentar o tempo que temos aqui. Então eu posso arrastar esses dois quadros-chave que temos aqui e trazê-los, por exemplo, depois de três segundos, certo? Então saiba o que vai acontecer. O texto permanecerá por 2,75 segundos e, depois disso, desaparecerá Então, vamos dar uma olhada nisso. Agora, se você atropelar o jogo, verá se Aten está lá e, após 2,75 segundos, ele desaparecerá. E eu acho que isso parece bom. Não, é hora de criar um trottle U 20. 18 Interface do usuário do Throttle: Agora vamos ver como podemos realmente mostrar o acelerador como uma Para fazer isso, quero usar algumas ferramentas mais novas. Só aqui, temos uma fronteira. Então arraste e solte isso em nosso painel de tela, ou você pode simplesmente colocá-lo aqui. É isso mesmo. Não, primeiro de tudo, quero ancorá-lo no canto inferior direito, mas onde quer que você queira colocá-lo, está tudo bem A maior parte do jogo o coloca no canto inferior direito. Quero mudar a posição para zero e zero por enquanto, alinhando-a no canto inferior direito para ancorar no ponto de ancoragem Então, para fazer isso, colocamos um e um no alinhamento. É isso mesmo. Agora, eu quero posicioná-lo um pouco longe desses lados. Então, para isso, eu quero colocar -50 -50 assim. Em seguida, o tamanho. Eu quero mudar o tamanho para 50 e o tamanho Y para 215. Está bem? Agora, temos um bar, certo? Mas o bom das bordas é que podemos usar pincel e mudar o pincel do padrão para imagem. Procure por Trottle B. E agora você pode ver, temos um histórico do acelerador. Legal, certo? É uma borda, mas a usamos como imagem. Em seguida, deixe-me te mostrar uma coisa. Se eu for às texturas, você pode ver que também há uma textura de aceleração aqui Eu quero usar. Para usar isso, porque quero que seja fácil trabalhar com ele, quero criar um painel Canvas como filho dessa borda. Neste painel do Canvas, a única coisa que eu quero fazer é zerar todo o preenchimento, que não haja nenhum preenchimento para que possamos preenchê-lo Agora, além disso, eu quero usar uma imagem. Então vá para Imagem, arraste e solte-a neste painel do Canvas e clique nela. Agora, podemos dizer que essa imagem é o próprio Trottle. Então, aqui, escolhemos a imagem para ser Trotle e eu quero começar de baixo É por isso que estou usando o Canvas porque posso ancorá-lo na parte inferior central, certo? E eu posso colocar a posição em zero e zero. E o alinhamento deve ser 0,5 0,5. É isso mesmo. Isso parece bom, certo? Agora, com isso, com a posição Y, você pode ver, eu posso mover o acelerador Você pode ver que o valor máximo deveria estar aqui talvez seja -200 Quando o acelerador está no máximo, a posição Y deve ser -200, mas quando o acelerador está zero, deve estar aqui , certo A posição Y deve ser zero. Então, em tudo isso, a única coisa que você quer mudar é a posição Y dessa imagem do acelerador Não precisamos mudar nada em segundo plano, certo? Então, aqui, queremos torná-la uma variável e chamá-la de trotleimage Está bem? Agora temos acesso a ele dentro do gráfico. Então, para atualizar esse acelerador, eu quero criar uma função e quero chamá-la de set Trottle E essa função, eu queria ter uma entrada do tipo float, e eu quero chamá-la de valor de Trottle Está bem? Agora, com essa função. Queremos definir a posição, mas como podemos fazer isso. Temos a imagem do acelerador, certo? Mas se dissermos definir posição, ok? Tem uma posição definida para obter o slot, que não é a que você deseja, porque nesta imagem do acelerador dentro do painel da tela, devemos dizer ao nosso verdadeiro motor que a fornece como uma ranhura como tela Então me dê como um slot de lona. E no slot de lona, podemos definir a posição facilmente. Dizemos definir posição e pronto. Não, podemos definir a posição para X e Y. Como você sabe, se você for para o designer, a posição X, nós não a mudamos, apenas a posição Y que queremos mudar, certo? Então, podemos fazer um vetor dois D. Então, vá até aqui faça um vetor D porque queremos apenas mudar a posição Y. Mas podemos simplesmente conectar isso a Y Não, porque o valor do acelerador é um valor 0-1. Se você se lembra, o valor do acelerador é um valor 0-1. Não será mais do que isso. E sabemos que o acelerador no máximo é um. E nesta imagem, quando o valor do acelerador é um, a posição Y deve ser Portanto, sempre que o valor do acelerador fosse um, a posição Y deveria ser -200 e, quando o valor do acelerador fosse zero, a posição Y deveria ser zero a posição Como podemos fazer isso, é fácil. Podemos simplesmente multiplicar esse valor por -200. Apenas pense sobre isso. Se você multiplicar zero -200, isso nos dará zero em Y, conectado a aqui, é claro E se você multiplicar -200 por um valor máximo do acelerador, isso nos dará -200. É isso mesmo. Agora, vamos usar essa função dentro do BPF 18. Onde podemos usá-lo? Primeiro, podemos usá-lo no Aventiq, mas a melhor opção é usá-lo sempre que alterarmos o valor do acelerador Então, antes de configurar o trotle, podemos pegar a interface do F 18, certo, e configurar o Trotle lá, Assim, conectado assim, conectado assim. O valor do acelerador, nós damos assim. E precisamos fazer o mesmo para o intervalo também. Aqui, nós quebramos e mudamos o valor do acelerador Então, controle para colá-lo aqui e conectá-lo assim. Conecte o valor. Agora, vamos ver a mágica. Se você executar o jogo we, você pode ver o acelerador Se continuarmos baratos, você pode ver que o acelerador está aumentando e subindo E também podemos diminuí-lo. Você pode ver isso. Legal, certo? Estamos diminuindo e aumentando o valor do acelerador com muita facilidade, certo? Legal. Agora temos uma interface de usuário que mostra o valor do acelerador. 21. 19 Defina a entrada do tom: Nenhum avião de combate pode mudar o acelerador, pode ter alguma confiança Pode seguir em frente, certo? Mas não podemos aumentá-lo ou diminuí-lo manualmente. Ele vai subir automaticamente, mas não podemos subir e descer manualmente. Vamos ver como podemos fazer isso. Se você acessar nossa planta F 18 aqui, você pode ver que, subindo e descendo, precisamos mudar a rotação em torno do eixo Y. Você pode ver que o eixo Y é assim, e queremos mudar a rotação em torno do eixo Y, certo? E a rotação em torno do eixo Y é chamada de inclinação, então precisamos mudar a inclinação. Para fazer isso, precisamos da ação de entrada. Por exemplo, se tivermos T, queremos que o tom do nosso avião de combate diminua assim, gire assim, certo? Mas se você estiver no teclado, queremos que a rotação do nosso avião de combate seja assim, suba, certo, como nos jogos de combate, como qualquer jogo de caça a jato, certo? Então, para fazer isso, primeiro de tudo, precisamos da ação de entrada. Vá para a pasta de entradas aqui, clique com o botão direito. Vá para a entrada e crie uma ação de entrada. Eu quero chamá-lo de IA pitch. Ok, eu sou uma proposta. Porque com isso, queremos mudar o tom do nosso caça a jato. Não clique nele para abri-lo. O tipo de valor, eu quero que seja um ases e um d porque ou estamos subindo ou descendo. É isso mesmo. Não, vamos salvar isso. Podemos simplesmente fechá-lo. Vá para o avião de combate IMC, o contexto de mapeamento de entrada, crie um novo mapeamento Queremos mapear o IA Pitch. Selecione o argumento de venda da IA e entre aqui. Primeiro de tudo, queremos fazer isso para W. Clique aqui, pressione W na sua palavra-chave e ela colocará W lá. Crie outro clicando em adicionar aqui, e este é para S. Então, por padrão, o que acontecerá aqui em IAPCHEvent, ele passará um sempre que pressionarmos W e, novamente, ele passará um sempre que pressionarmos S em nosso teclado O que queremos que aconteça é passar um quando pressionamos a ferramenta e passar menos um quando pressionamos S. Então, precisamos adicionar um modificador ao S, certo Então, adicione o modificador aqui, o tipo deve ser negado, então ele nos dará o menos um, e pronto Agora podemos ir para BF ou blueprint, ir para o gráfico de eventos, não No fundo, podemos pesquisar o tom, certo? O evento. E aqui, sempre que o tom IA é acionado, seja com W ou S, podemos mudar o tom do nosso caça a jato. E como podemos fazer isso, podemos obter o componente de movimento do veículo. Há uma função dentro dela que é chamada de tom. Defina a entrada de tom, certo? Está dentro do componente de movimento do veículo. Sempre que o tom de IA é acionado, queremos alterar o tom do componente de movimento do veículo com o valor da ação. Agora, com isso, vamos compilar o jogo save e o Runo. Se já lhe dissemos, você pode ver, eu posso mudar o tom assim, subir e descer. Você pode ver, eu estou fazendo isso, não acontece automaticamente. Eu posso subir e descer com W e S. Mas agora, qual é o problema que temos sempre que dizemos o campo será um e permanecerá lá e girará ou ficará plano Não é isso que queremos. Sempre que soltamos ou S, queremos mudar o tom para zero novamente porque esse tom não está em graus. É um valor entre menos um e um. Se você colocar um, ele continuará girando. Se você colocar um e não o definir como zero, ele girará continuamente até que você atinja outra coisa, certo? Mas não queremos que isso aconteça. O que queremos que aconteça sempre que soltarmos o W ou o SK em nosso teclado definir o tom e voltar a zero, certo? Então, podemos copiar e colar essa função aqui. A função está dentro do componente de movimento do veículo, então precisamos conectar o componente de movimento do veículo ao alvo. Sempre que soltamos ou completamos o W ou SK em nosso teclado, queremos mudar o tom para zero. É isso mesmo. É só uma compilação, salve um jogo de runover. Se você segurar a tecla Shift, verá que consigo me levantar. E se você soltar a dolly ki, verá que ela avançará Se eu tivesse S, novamente, solte o chute de boneca, ele avançaria Ele não girará continuamente, certo? É isso mesmo. Agora estamos definindo o tom do nosso caça a jato. 22. 20. Modificando o osso: Nenhum caça a jato pode subir e descer com W e SK. Mas o problema é que não há visualização da mudança na elevação, mudança no tom, certo? Então, vamos ver como podemos adicionar alguma visualização. Se você for para Viewport, você pode ver que nosso avião de combate tem alguns elevadores que podemos girar como um verdadeiro caça a jato, e temos algumas coisas aqui chamadas Alon que estão nas asas, e podemos mudar a rotação delas para mostrar a a Ou o campo, certo? Então, para fazer isso, eu quero usar uma malha esquelética aqui Se você não sabe onde está, você pode acessar a gaveta de conteúdo, acessar ativos, acessar malhas, FateN aqui e ver a malha esquelética você pode acessar a gaveta de conteúdo, acessar ativos, acessar malhas, FateN aqui e ver a malha esquelética aqui. Você pode abri-lo. E aqui, se eu procurar por elevador, você pode ver o elevador esquerdo, se eu for até ele, você pode ver, eu posso girá-lo assim E essa é uma boa visualização da sustentação, do tom, da mudança de tom, porque em um avião de combate real, mudamos a rotação dessas coisas, subimos e descemos E assim, também temos o Aloron. Se eu procurá-lo, você pode ver como este, eu posso trazê-lo para cima e para baixo. E o que você quer fazer? Queremos alterar a rotação de tudo isso que possamos ter alguma visualização se estivermos subindo e descendo. Claro, podemos ver o avião de combate que está subindo e descendo. Mas se você não girar esses elevadores e ailerons, não ficará muito bom Então, a próxima coisa sobre a qual quero falar são os espaços. Você pode ver que existem algumas maneiras de girar nossos elevadores e Aerons girar nossos elevadores e Um no espaço de bono, uma referência e uma malha relativa. O importante é que queremos mudar a rotação do nosso Aeron e dos elevadores No espaço ósseo. Então clique no osso. Você pode ver que queremos girá-lo em torno do Yxis, que é chamado Você pode ver a rotação em torno do Yaxs, que é chamada Então, queremos mudar o tom dos elevadores e das pessoas. E como podemos fazer isso, podemos fazer isso na animação Blueprint Abra o Blueprint de animação. Eu quero criar um pouco de espaço aqui, e o nó em que podemos fazer esse tipo de coisa é chamado modificar osso ou transformar modificar osso. E coloque aí, você pode ver que há muitas opções aqui. O que você quer mudar é apenas o tom de rotação, não a rotação X, não a rotação Z. Não queremos alterar a translação localização ou a posição, e não queremos alterar a escala O que eu quero fazer primeiro aqui ocultar essa tradução e escala. Então clique no nó e, no painel de detalhes para tradução, quero clicar aqui e dizer que não o exponha como um alfinete Você pode ver, não, sumiu. Eu também quero fazer isso em uma escala. Clique aqui e não o exponha como um alfinete, certo? A próxima coisa que eu quero fazer. Quero clicar com o botão direito do mouse nessa rotação, dividir o pino do traçado porque queremos apenas alterar a rotação, Y ou inclinação, certo? A próxima coisa que queremos fazer acessar o painel de detalhes aqui. Para o modo de rotação, quero alterá-lo de ignorar para adicionar ao existente, certo? Porque nosso elevador e os ailerons talvez já tenham alguma rotação Então, com esse acréscimo ao existente, podemos alterá-lo para cima e para baixo, certo? Será mais fácil com o AD existir. Em seguida, o espaço de rotação, quero alterá-lo para osso e espaço, porque é mais fácil trabalhar com ele. Será baseado na rotação que ele tem em relação ao osso original. E essa é a maneira mais fácil de fazer isso. É assim que devemos fazer isso, é claro. Em seguida, devemos decidir qual osso modificar para modificar sua rotação. Primeira coisa, vamos fazer isso com o elevador. Então, procure um elevador. É isso mesmo. Escolha uma junta de elevador Agora, na janela de exibição, posso ampliar no elevador esquerdo. Você pode ver isso aqui e saber com isso se eu compilar e alterar o tom para, por exemplo, 45 graus e começar a compilar Não, você pode ver que o tom esquerdo do elevador é alterado, nós o mudamos dentro deste nó. Se eu colocar em 90, é claro, você não deveria fazer isso. Compilação principal, você pode ver, não, é 90. Se eu colocar em dez e começar a compilar, você verá que nenhuma rotação é dez Podemos simplesmente colocar em zero ou não. Outra forma de testarmos esse tom aqui neste nó é criando uma variável. Então vá para variável, crie uma variável. Eu quero chamar isso de valor de pitch, certo? O tipo, como você sabe, deveria ser flutuante porque esse campo é só um flutuador, certo Compilação principal, podemos simplesmente conectar esse valor de tom ao nosso tom aqui, Headcmpile, Mas se você for ao Anim Preview Editor, se você não tiver isso, basta acessar o Windows Anim Preview Editor, verificar se ele está ativado e se você tem acesso ao valor do pitch Todas as variáveis que você pode alterar aqui e ver o resultado na janela de exibição Você pode ver que estou mudando as coisas aqui e você pode ver isso em uma janela de exibição como esta Você pode ver que estou girando. Eu quero colocá-lo em zero por enquanto. Essa foi outra maneira de testar essa nota, criando uma variável e usando-a e usando o editor An Preview para alterar o valor e ver o efeito na janela de exibição É isso mesmo. Saiba o que queremos fazer. Queremos mudar esse valor de tom com base no tom em que estamos aqui. Vamos ver como podemos fazer isso a seguir. 23. 21 Valor de pitch de vendas: Não, queremos mudar o tom do elevador e de Aarons, com base no tom, mudamos o insight ou plano. Vamos ver como podemos fazer isso. Para fazer isso, precisamos uma visão ou modelo variável aqui também, certo? Então, vamos criar uma variável, e eu quero chamá-la de valor de pitch. Então, o nome aqui e o nome que escolhemos dentro do nosso esquema de animação são os mesmos Isso é bom, certo? O tipo deve ser flutuante. Não, vamos apenas configurá-lo, certo? Podemos simplesmente definir assim, definir o valor do tom assim com o valor que temos aqui, certo? E podemos usar isso assim, então será mais fácil. Quando atingirmos W, ele passará por um. O valor do tom será um, e o tom aqui também será um. Quando atingirmos S, isso nos dará menos um, e isso também será menos um, certo Novamente, queremos definir o valor do tom aqui também como zero, certo? Quando estiver concluído, queremos colocá-lo em zero. É isso mesmo. Isso é tudo que precisamos fazer. Agora, com isso feito, podemos acessar nosso plano de animação e obter esse valor de tom aqui E como podemos fazer isso, podemos ir para o gráfico de eventos, certo? Em primeiro lugar, aqui, queremos obter uma instância do nosso BPF 18, e como podemos fazer isso, há uma nota chamada Troy, get Troy, get pawn owner, E com isso, ele nos dará o dono desse projeto de animação, o projeto que está usando esse plano de animação, certo Mas isso não sabe qual é o tipo de proprietário que estamos recebendo, certo? Você deve contar isso por meio de um casting. Podemos dizer que lançamos dois BP F 18, certo? Eu preciso do pino de execução. Podemos usar a jogabilidade aqui. O Event Blueprint começa a ser jogado, certo? É isso mesmo. Isso acontecerá uma vez quando jogarmos o jogo, certo? Agora, com isso, podemos clicar com o botão direito do mouse nela, promovê-la a uma variável, e eu quero chamá-la de BPF 18 É isso mesmo. BPF 18 interno ou ao Blueprint de animação em todos os lugares, certo Agora temos acesso ao BPF 18 interno ou ao Blueprint de animação em todos os lugares, certo? Agora, com isso feito. A primeira coisa que quero fazer superar o BPFEighteen e verificar se ele é válido Portanto, a busca por é válida assim. Você precisa do pino de execução, então vamos dar isso. Se for válido, o que queremos fazer é obter o valor do pitch. Então, pesquise o valor do tom, obtenha o valor do tom, e podemos definir esse valor com o valor do tom que obtemos do BPF 18, certo? Assim, se for válido, certo? É isso mesmo. Agora temos acesso ao valor do pitch dentro do nosso plano. Vamos ver como podemos usá-lo. Você sabe que esse valor de pitch que estamos obtendo do BPF 18 é um valor entre menos um e um E aqui no gráfico de Anning, você viu quando mudamos o valor do pitch para um valor maior, tipo, vamos ver Como dez, você pode ver alguns efeitos. Portanto, um valor entre menos um e um não faz muitas coisas Você pode ver que há uma pequena mudança aqui. Isso não é bom o suficiente. Se jogarmos nosso jogo, isso mudará. Vamos dar uma olhada nisso. Isso mudará um pouco, mas não é demais. Não podemos ver isso claramente, o que podemos fazer é multiplicar isso por um valor Por exemplo, vamos multiplicá-lo por dez e conectá-lo aqui Agora, se você atropelar o jogo e as cabeças, você pode ver que está mudando o tom do elevador esquerdo, certo? Tudo está funcionando bem. Mas agora, o problema é que ele vai se encaixar no lugar certo. Você pode ver que ele se encaixará no local. Não é uma mudança suave. Nós vamos corrigir isso. Mas antes de corrigir isso, precisamos fazer a mesma transformação, modificar o osso para outro elevador. Também queremos fazer isso com os ailerons. Então, isso é um desafio para você. Faça esse nó, modifique o osso para o elevador certo e todos os lurons e também faremos isso no próximo vídeo juntos 24. 22 Aileron e elevador: Vamos ver como podemos fazer essa nota para todos os ossos de que precisamos. Eu quero te mostrar uma maneira fácil. Podemos usar o controle Control C e colá-lo aqui, certo? Conecte o pino de execução a ele, conecte o pino de execução aqui também. Podemos simplesmente usar esse valor para os dois. Então, vamos conectá-lo aqui também. E neste osso, queremos apenas mudar a junta esquerda do elevador para a junta direita do elevador. Então, procure o elevador e queremos fazer isso para a junta correta do elevador. Se você compilar e executar, você pode ver, agora, os dois estão mudando, e isso parece bom, certo? É isso mesmo. Não, queremos fazer isso por ailerons. Vamos ver como podemos fazer isso. Traga isso aqui. Então, temos algum espaço aqui. Desta vez, quero copiar e colar dois deles aqui desta forma. E a única coisa que eu quero mudar aqui são os ossos. Então clique aqui e eu quero pesquisar por Aeron Primeira coisa, junta interna esquerda de Aluron. E depois disso, novamente, procure Aleron para este também Aileron esquerdo, articulação externa. É isso mesmo. Podemos simplesmente usar esse valor, mas eu não quero simplesmente trazer tudo isso para aqui. Eu posso simplesmente selecionar esses dois, Controle C para copiá-lo e controle V para colá-lo. Não há problema em fazer esse tipo de coisa, certo? Conectado aqui e conectado aqui. Vamos clicar em Compleo e você pode ver que Aleron esquerdo está funcionando bem com o elevador. Isso é bom. Também queremos fazer isso pela Aleron certa. Controle C Control V para colá-lo aqui também e conectá-lo assim. Certo? Agora, novamente, quero copiar e colar este aqui. Está tudo bem. É otimizado. Não se preocupe com isso. Poderíamos simplesmente conectar isso daqui até aqui, mas eu não queria que isso bagunçasse as coisas, certo? É isso mesmo. Precisamos apenas trocar o osso aqui para escrever a articulação interna de Aleron, e este, escrever Aloron. Vamos ver Aleron, direita, Aloronoarjoint ver Aleron Você pode ver isso aqui em cima, à direita na junta interna de Aloron, à direita, na junta Vamos apenas compilar e executar o jogo. Você pode ver, não, os Alorons e elevador estão mudando sua rotação, e isso parece bom Mas o problema é que isso está acontecendo muito rápido. Ele passará instantaneamente para essa rotação. Não queremos que isso aconteça. O que queremos fazer é mudar suavemente a rotação do Aluron e do Também podemos fazer isso com Ain terp, e mostrarei no próximo vídeo 25. 23 Pontos de entrada para valor de pitch de vendas: Agora estamos mudando o tom do nosso elevador e do Aaron com base nas entradas, o tom de IA, certo Mas isso acontece tão repentinamente que não parece bom. Precisamos alterá-lo suavemente para os valores. Então, vamos ver nosso plano. Aqui, mudamos o tom 0-1 e de zero para menos um, de um para menos um, de menos um para um Portanto, precisamos alterá-lo suavemente. Em primeiro lugar, deixe-me criar algum espaço aqui. Também queremos usar um nó chamado interp. Trabalhamos com ele aqui. Você pode ver que ele pode facilmente mudar uma variável para um valor alvo Não importa qual seja esse valor alvo, podemos alterá-lo. Precisamos apenas de uma variável. Temos a variável de valor de pitch, então vamos usá-la. E aqui dizemos intérprete F. É isso mesmo. O valor atual que queremos alterar é o valor do pitch, certo? E o alvo é o valor da ação, por exemplo, um ou menos um, certo? O tempo Delta, podemos obtê-lo da palavra G, segundo Delta, só isso. Em seguida, o interpos cuspe, eu quero colocá-lo em cinco Não, vou nos dar um valor cada quadro até atingir o valor alvo. E podemos salvar esse valor em nosso valor de pitch, certo? É isso mesmo. Basta colocá-lo aqui, vamos compilar e executar o jogo Agora, se I L, você pode ver que ele mudou suavemente para essa posição Mas, novamente, se você bater, verá que sua rotação mudará suavemente Mas o problema agora é que, quando quer chegar a zero, isso acontece rápido, mas quando quer ir para um ou menos um, isso não acontece rápido e parece bom Você pode ver que parece bom. Mas, para chegar a zero, não parece bom. Chegará a zero muito rápido. Como podemos fazer isso. Como você sabe, esse gatilho aconteceu 60 vezes por segundo ou 30 vezes por segundo, com base no seu PC, certo? Então, esse ein ur também precisa de algo assim, como um gatilho para acontecer 60 vezes ou 30 vezes por segundo Mas essa conclusão acontecerá apenas uma vez. Isso não acontecerá 60 vezes por segundo. Isso acontecerá apenas uma vez. Então, como podemos usar essa interposição F para interpretar qualquer valor que temos dentro dessa variável de valor de tom como zero Como podemos fazer isso, podemos fazer isso com a linha do tempo. Então, dragão desenhe a partir daqui e diga, pesquise a linha do tempo, certo, adicione a linha do tempo, eu quero chamá-la de pitch 20 Ok, arremesso para zero. Dentro dessa linha do tempo, não queremos adicionar nenhuma faixa, apenas a duração Queremos dividi-lo em dois. Então, por 2 segundos, ele deve ir para zero, certo? Não precisamos adicionar nada aqui. Podemos simplesmente fechá-lo. Então, essa linha do tempo, quando jogamos , ela executará o que estiver conectado à atualização 60 vezes ou 30 vezes por segundo por 2 segundos, certo? Então, com isso, podemos alterar suavemente o valor do tom com este Fin Turf Então esse é o Controle C, Controle V para colar tudo isso, e queremos que o alvo seja zero. Então, o valor do pitch vai para zero. Isso é agora, vamos ver se funciona ou não. Se você compilar e executar pelo headw, poderá ver que ele vai suavemente para um e, se eu liberá-lo, ele voltará suavemente Então, isso está funcionando bem. Mas há um problema. Eu dirijo para W, e depois que a cabeça está rápida, você pode ver, ela não está girando muito Por que isso está acontecendo, é porque essa linha do tempo não terminou em 2 segundos. Não devemos deixar isso acontecer. Sempre que houver uma nova entrada após a liberação de outra entrada, essa linha do tempo pode não ser concluída Portanto, precisamos interromper essa linha do tempo sempre que houver uma nova entrada Por exemplo, quando usamos W e quando liberamos o W, repente somos S. Você pode ver que isso é um problema. Não está girando muito. É porque, novamente, a linha do tempo não está concluída. Precisamos interromper a linha do tempo sempre que houver uma nova entrada aqui Então, o que podemos fazer sempre que houver uma nova entrada, esse início acontecerá. Com esse início, queremos dizer: pare primeiro o cronômetro e, depois disso, você pode ir para qualquer valor que quiser que tenha aqui Primeiro, isso começará e, depois disso, o gatilho acontecerá. E isso é bom. Mas a próxima coisa que queremos fazer é não jogar essa linha do tempo de onde ela parou, certo? Se no meio dessa linha do tempo e a pararmos, será no meio E se você jogar de novo, ele tocará do meio. Então, o que queremos fazer é mudar esse pino de execução de uma jogada para outra do início. Então, toda vez que essa linha do tempo acontecer, isso acontecerá desde o início Então, ele tocará isso por 2 segundos, com certeza, toda vez que lançarmos W ou SK, certo? Agora, com isso abaixado. Vamos apenas compilar e rodar com um jogo Se eu tivesse S e W muito rápido, você pode ver que está mudando suavemente para zero toda vez e vai suavemente para um e menos um Tudo está funcionando bem. Vamos simplesmente subir no ar. Você pode ver que eu posso subir e olhar para o elevador e Aleron pode ver como ele está funcionando, vamos brincar com ele Sobe assim. E talvez aumente a velocidade, certo? Legal. E aumente o acelerador também. Isso parece bom. A próxima coisa que você quer fazer conectar esse valor de pitch aqui também. Mas sem isso, também parece bom. Tudo é bom para elevador e Aeron. Se você se segurar novamente e subir ao céu com as novas mudanças. Tudo está funcionando bem e parece bom e bonito. Se lançarmos novamente, você pode ver que ficará estável. Isso é legal. Agora, o próximo tema que você deseja fazer. Sempre que tivermos B ou A ou palavra-chave, você quer mudar a função. Isso pode ser um desafio para você. Tente fazer isso sozinho. Você fará isso em alguns vídeos futuros. 26. 24 Entrada de rolo: Nenhum avião pode subir e descer, mas não pode rolar Não pode desaparecer, certo? Então, queremos fazer a rolagem. Essa rolagem pode ser um desafio para você. Não há nada de novo aqui, uma nota que eu quero que você tente fazer isso sozinho. Se você é iniciante, continue comigo. Mas se você não é iniciante, deve ser capaz de fazer isso sozinho Vamos ver como podemos fazer isso. Para fazer isso, primeiro de tudo, precisamos de uma entrada. Então, vamos até a gaveta de conteúdo aqui, vamos para o avião de combate, vamos para a entrada aqui, certo Clique. Novamente, vá para a entrada, crie uma ação de entrada e eu quero chamá-la de IA roll. Está bem? E vamos clicar nele porque, ou estamos rolando para a direita ou para a esquerda, o Eixo um D é mais do que suficiente. Então mude o tipo de valor para Axis one D. É isso aí. Salve a cabeça e feche-a. Agora, devemos ir ao contexto de mapeamento de entrada e criar um novo mapeamento. E aqui, queremos mapear a função de IA, certo? E para essa função de IA, temos duas entradas. Então, vamos adicionar duas entradas. Um para D e outro para A, certo? Então é isso. Sempre que atingimos D, queremos ultrapassar um. Sempre que atingimos A, queremos passar menos um. Então, precisamos negar o A aqui. Então clique aqui para adicionar um modificador e clique aqui e escolha negar Agora, vamos salvá-lo para ver se está funcionando ou não. Eu quero fazer isso aqui embaixo. Eu rolo. Está aqui em cima. É um evento de ação aprimorado. Então, vamos colocá-lo lá. Quero usar um balanço da impressora para verificar isso com o valor da ação Agora, vamos atropelar o jogo. Se eu fizer, isso nos dará um. Se eu tivesse A, isso nos daria menos um. Então, tudo está funcionando bem aqui. Agora, vamos ver como podemos mudar o papel. Como fizemos isso para o pitch. Pegamos o componente de movimento do veículo e, dentro dele, havia uma função ou nó chamado set pitch input, certo? Também o temos para o papel. Então, podemos obter o componente de movimento do veículo, e aqui, queremos definir a entrada do rolo, não. É isso mesmo. Isso está conectado aqui. Conecte o valor da ação aqui, agora vamos compilar e executar Não, basta adicionar um pouco de trufa, subir um pouco, para que possamos enrolar um pouco Agora, você pode ver que estamos rodando. Mas o problema é que, quando estamos rolando para a direita, ele rola continuamente para a direita. Não chegará a zero. Você pode ver que é assim, certo? Então, vamos ver como podemos corrigir isso. Sempre que lançarmos D ou A em nosso teclado, essa conclusão acontecerá. E nesse caso, queremos definir a entrada do rolo para zero. Então, vamos copiar e colar a entrada do set roll com o controle C, certo? E sempre que soltamos D ou A em nosso teclado, queremos colocar o rolo em zero. Agora, vamos dar uma olhada nisso. Se rodarmos nosso jogo, adicione um pouco de aceleração ou treliça , certo? Eu posso aparecer. E não, eu posso rolar. Veja, vamos ficar lá, e podemos nos mover assim também. Tudo está funcionando bem. Podemos rolar como se estivéssemos. Legal. A próxima coisa que você quer fazer é usar uma malha esquelética Quando rolamos, como um caça a jato rola um caça a jato. Eu posso usar seus ferros e elevador para rolar. Por exemplo, se esse aileron e esse elevador caírem e esse aileron e esse elevador subirem, isso significa que ele pode girar assim, certo significa que ele pode girar Então, com base no valor de rolagem que temos aqui, podemos controlar os ossos do elevador e do aileron, para que fique melhor Vamos ver como podemos fazer isso no próximo vídeo 27. Ailão de rolo e elevador: Não, por realmente mostrar alguma visualização do nosso rolo. Podemos simplesmente girar o elevador e Al Runs para mostrar isso. Vamos ver como podemos fazer isso. Para fazer isso dentro do blueprint F 18, quero salvar o valor do rolo Então, precisamos de uma variável. Crie uma variável e eu quero chamá-la de valor de rolagem. É isso mesmo. O tipo, como você sabe, é apenas um carro alegórico Queremos definir o valor do rolo aqui com o valor do valor da ação que definimos aqui, e podemos simplesmente conectá-lo aqui também. Conecte os três aqui a aqui, pode conectar isso a aqui. É isso mesmo. É exatamente o mesmo de antes, mas estamos sempre salvando o valor da função. E quando estiver concluído, queremos definir o valor do rolo como zero. Mas desta vez, eu quero te mostrar uma coisa. Veja, quando eu quero montar alguma coisa, eu entro aqui e ele nos diz, você quer pegá-la ou configurá-la, certo? Em caso de espera, obtenha o valor da rolagem e solte o botão mais à esquerda Você pode ver com isso, estamos configurando isso diretamente, certo? Ele precisa do lápis de execução. Vamos dar isso, e pronto. Agora temos uma variável que está salvando nosso valor de rolagem. Precisamos colocá-lo primeiro em nosso plano de animação no gráfico de eventos Podemos simplesmente obter o valor do rolo. Basta pesquisar o valor do rolo. E aqui, vamos colocá-la aqui e aqui, podemos clicar com o botão direito nela, promovê-la a uma variável e pronto. O nome é bom o suficiente, certo? Então, com esse valor de função, queremos mudar a rotação dos ailerons e elevadores Então, vamos criar um pouco de espaço aqui. Eu quero adicionar um comentário. Por exemplo, nesta, eu quero pegar todas essas cabeças C, e eu quero dizer tom. E aqui estamos usando o tom, certo, assim. Isso é para arremessar. Não, queremos fazer o rolo. Para o rolo, também precisamos de tudo isso. Então pegue tudo isso. Não precisamos configurar todos eles novamente. Esses nós são para elevadores e urônios. Podemos simplesmente selecionar todos eles, Control C para copiá-lo e Control V para colá-lo aqui. É isso mesmo. Dessa forma, será mais rápido. Eu preciso de um pino de execução ou pino de pose , como você quiser chamá-lo, e também precisamos conectá-lo à pose. É isso mesmo. Agora, como queremos controlar isso. Vamos fazer isso primeiro com elevadores e, depois disso, faremos com urônios Como você sabe, precisamos controlar a rotação de nossos elevadores com o valor do rolo desta vez Obtenha o valor da rolagem e aqui, o valor da função é um valor entre menos um e um, precisamos multiplicá-lo por algo, como dez Está bem? E como você sabe, precisamos mudar o tom do elevador, elevador. É um pouco confuso para alguns de vocês porque estamos usando o valor nominal Por que não estamos mudando o valor da função aqui. É porque esse elevador está apenas mudando de tom, não de rolamento. Nenhum caça a jato altera a rotação em rolo no elevador. Nenhum jato de combate mudou o papel de seu elevador. Não é realista, certo? Então é isso. Sabemos que precisamos alterar o valor do pitch do elevador pelo valor da função, certo? Eu sei que é um pouco confuso, mas você vai entender. Não se preocupe Aqui, eu quero abrir um pouco de espaço porque eu quero ter alguns comentários aqui também. Então, o que queremos fazer quando pressionamos D ou teclado, queremos ir para a direita. Está bem? E o elevador esquerdo, queríamos ter, por exemplo, essa direção e o elevador direito, queremos ter essa direção, certo? Direção oposta. Como podemos criar essa direção oposta, podemos multiplicar esse valor da função por dez, por exemplo, conectado ao tom E depois disso, multiplique esse valor da função novamente. Desta vez, não por dez, por menos dez. Vamos ver isso conectado ao campo, porque estamos mudando apenas o tom , porque em cada caça a jato, podemos simplesmente mudar o tom dos elevadores, certo? Nós podemos mudar o rolo. Não parece bom. Então, agora com isso, sempre que ouvirmos D, valor um estará nesse valor de função, um multiplicado por dez Eu vou nos dar dez para o elevador esquerdo, e ele vai nos dar menos dez para o elevador direito Vamos dar uma olhada nisso. Se você atropelar jogo e tocar D no teclado, você pode ver: Não, o elevador esquerdo é assim e o elevador direito é assim. Você pode ver isso. Legal, certo? Também queremos fazer o mesmo com os Alorns Então, vamos até aqui. Para o aileron esquerdo, queremos multiplicá-lo por dez. Então, vamos usar o Control C, Control para colá-lo aqui para ver o tom. Assim. E, novamente, vamos copiar e colar mais uma vez. Para o aileron certo, o que queremos fazer é multiplicá-lo por Então, a direção em que o elevador e Aaron estão girando em cada lado, direita e para a esquerda, é diferente uma da outra, É o oposto um do outro. Então é isso. Vamos apenas conectá-lo ao campo. Verifique se ele está conectado ao campo. Vamos apenas compilar e executar. Não, você pode ver quando vamos para D, o aileron esquerdo e o elevador estão assim, mas o direito é assim Consegue enxergar? Isso parece bom. Vamos simplesmente entrar no céu. Parece muito melhor. Vá para cima. Vá para a direita, você pode ver. Vá para a esquerda, vá para a direita. Vá para a esquerda. Você pode ver claramente o aileron e os elevadores Mas, como você sabe, o problema que temos com esse aileron e o elevador é que ele está se encaixando Precisamos mudar suavemente o valor da função. Novamente, isso é um desafio para você. Tente fazer isso sozinho e faremos isso a seguir. 28. 26 Ponta de ponta para rolar: Não, queremos mudar suavemente a rotação, a rotação do campo com base no papel do nosso caça a jato E aqui, como fizemos para o valor do pitch, precisamos usar Fin Terp para interpretar o valor alvo Então, vamos fazer isso para este também. Queremos criar um espaço como antes, temos o Finerp. Podemos simplesmente copiar e colar. Você tenta fazer isso copiando e colando. É muito importante, mas eu quero explicar isso mais uma vez. Queremos mudar suavemente valor da função do que é, não importa, para um valor-alvo que, neste caso, é o valor da ação, certo? E esse F interp dois precisa de um segundo Delta. Podemos obtê-lo em um segundo lugar na Delta. É isso mesmo. E a parte de interposição, eu quero colocá-la em cinco E em cada quadro, cada vez que esse gatilho acontece, queremos atualizar o valor da função com o valor que essa interpretação F nos fornece. Então, vamos nos conectar aqui e pronto. Ah, certo? Agora, se você compilar e executar o jogo, pode ver se eu mantenho D, posso ver que ele muda suavemente. Se eu segurar A, isso mudará suavemente. Isso é bom. Mas o problema é que isso vai para zero. Como fizemos aqui, precisamos criar uma linha do tempo e usá-la exatamente como fizemos aqui, certo? Então não, quando lançamos D ou A no teclado, queremos criar uma linha do tempo aqui, adicionar a linha do tempo, e eu quero chamá-la de rolo 20 Dentro disso, eu não quero adicionar nenhuma faixa. Eu quero apenas ter um comprimento. É isso mesmo, dois são mais do que suficientes. Você pode simplesmente fechar isso. Você sabe que toda vez que soltamos o D ou uma tecla em nosso teclado, queremos tocar desde o início. Queremos jogar essa linha do tempo desde o início. E sempre que houver uma nova entrada, D ou a, não importa qual foi iniciada, acontecerá, e queremos interromper a linha do tempo, certo? É isso mesmo. Agora, precisamos adicionar um Fin Turf aqui também Podemos simplesmente copiar e colar isso porque fizemos isso uma vez, e isso é mais do que suficiente, certo? Basta colocá-lo aqui, e a única coisa diferente é que a meta deve ser zero. É isso mesmo. É só compilar, exceto que você pode simplesmente conectar isso aqui, mas eu não quero fazer isso Você tenta fazer o que quiser. Está tudo bem Agora, se eu tivesse D, você pode ver que está funcionando bem. Se eu o soltar, como é lindo que ele volte à sua posição. Se eu tivesse A, novamente , está funcionando bem. Isso é legal, certo? E se eu confiar em Shift, posso subir. Você pode ver que tudo está funcionando bem. E se eu tiver, você pode ver como é lindo. Isso é muito legal. Podemos ir para a esquerda, para a direita, e os elevadores e os Arons estão funcionando Não há próxima coisa que você queira adicionar. Deixe-me ir aqui. Queremos poder ir para a direita e para a esquerda assim com E e Q em nosso teclado. E como aconteceu com isso aqui. Isso se chama Roder. Podemos simplesmente procurá-lo, Roder. Articulação esquerda do Rudder, você pode vê-la aqui. E desta vez, se eu tivesse te contado, eu posso ver como eu deveria girá-lo Você pode ver se eu girei em torno do eixo Z que é chamado Ya, você pode ver, eu posso trazê-lo para a esquerda e para a direita, girá-lo para a esquerda e para a direita, e é assim que queremos girá-lo Então, em primeiro lugar, queremos mudar o avião de guinada ou o avião combate com E e Q ou o teclado, como o Ace Combat ou qualquer caça a jato, eles estão usando as mesmas teclas E para visualização, queremos alterar a rotação de Roder em torno do eixo Z. Você pode ver ao redor do eixo Z. Esse azul é o eixo Z. Novamente, isso é um desafio para você. Tente fazer isso sozinho e faremos isso no próximo vídeo. 29. 27 Entrada de Yaw: É hora de poder ir para a esquerda e para a direita. Para ir para a esquerda e para a direita, você pode ver isso aqui. Precisamos mudar a rotação em torno do eixo Z, para a direita, para que possamos ir para a esquerda e para a direita. E queremos fazer isso com E e Q em nosso teclado. Então, sempre que pressionarmos E, ele vai para a direita e sempre que pressionamos Q, ele vai para a esquerda. Primeiro, vamos ver como um caça a jato pode fazer isso. Se você for até uma máquina esquelética aqui e for procurar por Roder Okay, os caças podem fazer isso com Você pode ver isso aqui. E se você girá-lo em torno do eixo Z, podemos ter uma representação visual disso Você pode ver que podemos girá-lo em torno do eixo Z para uma visualização E se você mudar o Ya do nosso lutador, ele vai para a esquerda e para a direita. Isso é o que queremos fazer. Para fazer isso, precisamos de algumas informações. Então vá para a gaveta de conteúdo, vá para a pasta Entradas, e aqui, clique com o botão direito, crie uma ação de entrada, e eu quero chamá-la Ok. Não clique nele para abri-lo, porque se estivermos indo para a direita ou para a esquerda, queremos que o tipo de valor seja float ou Axis one. É isso mesmo. Você pode salvá-lo, fechá-lo e saber que precisamos mapeá-lo. Então, em nosso avião de combate IMC, precisamos criar um novo mapeamento Vamos descer porque está criando isso aqui embaixo. Queremos mapear o IAR, selecionar o IAA, vamos descer. Precisamos de duas entradas, uma para E, uma para Q, uma para ir para a direita, uma para ir para a esquerda Então clique aqui para adicionar dois e não, primeiro precisamos adicionar E. Então, sempre que pressionarmos E, ele passará um, e depois o segundo, queremos adicionar Q. Então, sempre que pressionarmos Q, queremos passar menos um para ir E por causa disso, precisamos adicionar o modificador para que possamos passar menos Então, no modificador, adicione um modificador do tipo de negação. É isso mesmo. Agora, vamos salvar, vá para o PF 18. Aqui embaixo, quero clicar com o botão direito do mouse em Pesquisar IA Ya e escolher IA ja input enhance action event aqui. E com isso, como fizemos para a entrada de rolagem e para a entrada de tom, podemos fazer isso para o Ya e também para ir para a direita e para a esquerda. Todo jogo de luta, como Ace Combat, usa E e Q para ir para a direita e para a esquerda, certo? Estamos fazendo o mesmo aqui. Então, podemos obter nosso componente de movimento do veículo, e dentro dele, há uma entrada Ya definida, certo? E podemos controlar o Ya com o valor da ação. É isso mesmo. Nós apenas compilamos, executamos e armazenamos de forma barata. Está indo para o céu e vendo. Suba e saiba que se eu apertar E, você pode ver que está indo para a direita. E você vê isso. Mas se eu soltar a tecla E, você pode ver que ela começou a ir para lá. Então esse é o problema que tínhamos antes: sempre que soltamos o E ou Q em nosso teclado, precisamos definir a entrada para zero, certo? Então, podemos simplesmente copiar e colar isso aqui, conectá-lo assim, conectado ao concluído. Então, sempre que soltamos E ou Q em nosso teclado, queremos que o Y seja zero, certo? Compile e saiba que, se eu o executar , ele pode subir. Assim. Se eu tiver E, você pode ver que ele vai para direita porque tem algum impulso, ele vai nessa direção em vez de outra direção Depois disso, se você olhar um. Podemos girar ou planar mais o quanto você quiser Você pode ver que estamos girando com E e Q. Mas agora, o leme, você pode ver que não está Quando temos Q ou E, isso não muda. Então, a próxima coisa que você quer fazer é mudar o leme aqui, sim. Então, representará virar à direita e virar à esquerda, ir para a direita e ir para a esquerda. Isso pode ser um desafio para você. Tente fazer isso sozinho. Faremos isso no próximo vídeo. 30. 28 Rotação do leme: A próxima etapa é adicionar alguma visualização. Então, quando temos alguma informação, queremos mostrá-la no formato de um caça a jato, certo? Então, para fazer isso, vamos ver o blueprint aqui. Precisamos de uma variável, como sempre, e eu quero chamar essa variável de valor Ya. Está bem? E o tipo, você sabe, deveria ser flutuante e queremos configurá-lo Então segure o Dragon Drop e podemos colocá-lo aqui, certo? Exatamente assim. E podemos conectar a ação de entrada aqui e daqui para aqui. Então, será mais limpo, certo? E, novamente, queremos definir o valor O a partir daqui sempre que soltarmos E ou Q em nosso teclado para zero, certo? É isso mesmo. Agora, queremos obter esse valor dentro do nosso esquema de animação Então, abra o plano de animação. Eu quero fazer isso no final aqui, e eu quero adicionar alguns comentários. Este era para rolar, basta selecionar tudo, teclar C no teclado, certo, rolar. É isso mesmo. Não, temos dois pedidos, certo? Então, podemos simplesmente copiar dois deles, colá-los aqui com o Control V e conectá-los assim. É isso mesmo. Está conectado assim. E se formos para a malha esquelética, à esquerda de Roder, você sabe que queremos mudar a rotação em torno do eixo Z que é chamado Então, aqui, a única coisa que queremos fazer é clicar nesta, por exemplo, e procurar por leme, junta direita, e esta por junta esquerda Então, procure o leme, a junta esquerda do leme. E não, temos que modificar o osso. Queremos controlá-los, certo? Mas com o que com o valor de Ya dentro de nosso plano. Então, precisamos entender isso. Como podemos obter isso, podemos ir para um gráfico de ventilação da variável BPF 18 aqui, podemos obter o valor Y, obter o valor yo, e podemos clicar com o botão direito nele, promovê-lo a uma variável e Podemos dar a ele o pino de execução. Não, temos acesso ao valor Yo que está dentro do BPF 18. Certifique-se de salvar tudo e não ir para um gráfico. Precisamos fazer com que isso valha a pena. Entenda assim. E, como você sabe, o valor yo é um valor entre um e menos um Então, o que eu quero fazer é multiplicá-lo por algum valor. Por exemplo, vamos testar 50, certo? Por que não? Basta conectá-lo ao Ya desta vez para os dois. Agora, vamos apenas compilar. Podemos testar isso a partir daqui. Deixe-me aumentar isso para que você possa vê-lo melhor assim. E no editor de pré-visualização do Anim, podemos testar isso. Você pode ver que pode ir para a esquerda e para a direita, então está tudo bem. Vamos apenas compilar, salvar e executar nosso jogo agora, para ver se está funcionando ou não O chefe E pode ver que está funcionando. Agora, vamos segurar a tecla shift para ver se parece bom ou não. Suba aqui e vá para E, você pode ver que pode ir para a direita. Claro, talvez você diga que a direção em que tínhamos E ligado no teclado, a direção do leme não está correta Se você quiser reverter essa direção, como você pode fazer isso, basta dizer, multiplique por -50 em vez de apenas 50, certo Vamos ver isso agora. Se I E, agora você pode ver, está indo na direção oposta. Você pode ver, oh, isso é bom. Novamente, 50 é muito, então eu quero multiplicá-lo por -25 25 é mais do que suficiente. Vamos testar isso pela cabeça E. Acho que parece melhor, mas talvez possamos aumentá-la um pouco em -30 Você decide o que quer fazer. Se eu atropelar o jogo, novamente, vamos entrar no Skype e você verá que tudo está funcionando bem Se eu ouvir E, você pode ver. Está indo para a esquerda e para a direita, mas acontece que, de repente, precisamos mudar a rotação, ou melhor, suavemente, e como podemos fazer isso, podemos fazer isso com afin Terp Você tenta fazer isso. Faremos isso no próximo vídeo. 31. 29 Leme de tira: Não, é como antes. Precisamos mudar suavemente uma variável de qualquer valor que ela tenha para um valor alvo, e queremos fazer isso com um finer Vamos ver como podemos fazer isso. Para fazer isso, precisamos de algum espaço aqui, como sempre, certo? E aqui, também precisamos de uma boa tartaruga. O que você quer interpretar é o valor ya. Essa é a corrente, certo? E o valor alvo é o valor da ação. A hora Delta é a palavra certa, Delta em segundo lugar. É isso mesmo. E a velocidade de interposição é cinco. E queremos defini-lo cada quadro com esse valor. É isso mesmo. Agora, para chegar a zero, o que você quer fazer é criar uma linha do tempo Então, vamos adicionar a linha do tempo aqui, adicionar a linha do tempo, ya a zero Para a nomenclatura, acho que é bom. E eu vou clicar nele. Você sabe, esse é o comprimento que você quer que seja dois. É isso mesmo. Isso é tudo o que precisamos fazer. Podemos simplesmente fechá-lo em um gráfico de ventilação aqui. Você sabe que sempre que lançamos E, Q ou teclado, queremos concluir para nos conectarmos ao jogo desde o início. Então, toda vez que lançarmos o EOQ, essa linha do tempo executará pino de execução da atualização por 2 segundos, a cada quadro, certo E sempre que houver uma nova entrada, queremos interromper essa linha do tempo É isso mesmo. Não, precisamos de outro Fin terp para chegar a zero Podemos simplesmente copiar e colar tudo isso aqui. Deixe-me organizar um pouco assim. E conecte esse valor ao seu valor, mas a meta é zero. É isso mesmo. Fácil, certo? Compile, salve E se eu atropelar o jogo, se eu tiver E, você pode ver que o jogo vai suavemente para a direita e ele vai suavemente para o meio Novamente, Q, E, você pode ver como é lindo. Vamos considerar isso por uma quantia no ar, certo? Agora o avião pode ir para a direita e para a esquerda. Você pode ver. E eu acho que está lindo. Isso funciona muito bem. Podemos subir, podemos descer. Nós podemos assim e podemos ir assim. Podemos ver que tudo está funcionando bem. Cada osso está funcionando bem. Não há próxima coisa que você queira fazer. Você pode ver que o avião dessas rodas em nosso caça está do lado de fora e queremos ter uma maneira de trazê-lo para dentro. Então, feche a engrenagem, as rodas, você pode fazer isso em um vídeo futuro. 32. 30 Júnculo do chassi frontal: Agora é hora de realmente ser capaz aumentar e diminuir as marchas e como podemos fazer isso. Vamos ver. Se formos para nossa malha esquelética, quero começar pela roda dianteira Se em uma árvore esquelética procurar pela frente, você pode ver que existem alguns ossos que precisamos para mudar a rotação Por exemplo, temos junta zero do chassi dianteiro. Você pode ver isso. Podemos simplesmente clicar nele e, como você pode ver, precisamos mudar seu tom dessa forma para que fique dentro. Por exemplo, 100 graus. Eu acho que isso é bom. Depois disso, há a ferrovia do chassi dianteiro Precisamos trazer isso para dentro também. Por exemplo, 30 graus, isso é bom. Não, tem outra coisa. Se eu derrubar os dois, deixe-me mostrar isso porque eu quero que seja perfeito. Você pode ver que quando giramos os dois, eles se desconectam Mas no jato de combate real, há uma hidráulica que aqui, nós a temos, que se mudarmos sua localização dessa forma, ela sempre estará conectada à hidráulica, certo? Então, o que precisamos fazer. Primeiro, temos dois ossos. Uma junta zero do chassi frontal e outra junta de podridão do trilho do chassi dianteiro. Precisamos alterar seu passo para atingir 100 rotações no valor do passo, e temos outra junta alterar seu passo para atingir 100 rotações no valor do passo, de trilho dianteiro do chassi Queríamos usar 240, por exemplo, certo? E temos outro osso que precisamos mudar sua localização. Então, parece sempre conectado. Eu não quero mostrar isso aqui assim porque quando você estraga essa coisa, nada aconteceu no jogo real, você pode ver, eu estou mudando isso, nós salvamos E se você for aqui em Viewport, você pode ver que há uma foca lá Então, o que quer que você faça aqui na malha esquelética, não vai acontecer em lugar nenhum Você pode simplesmente experimentar com isso. Mas em nosso plano de animação, podemos animá-lo. Então, para animar, deixe-me criar algum espaço e adicionar alguns comentários a esses do último vídeo Quero selecionar essas duas cabeças, então criamos um comentário e eu quero chamá-lo de Sim, certo? É isso mesmo. Não, vamos criar mais espaço. Queremos mudar a rotação de dois dos ossos, certo? Então, precisamos de duas dessas notas de que estamos mudando a rotação. Não precisamos fazer isso do zero. Portanto, controle C para copiá-lo. Controle V para colá-lo aqui e dê a ele um pino de postagem ou pino de execução como este. Na compilação. Nada aconteceu. O que eu quero fazer aqui, eu quero clicar neste. Este é para chassi dianteiro, junta zero, assim mesmo Essa outra é, deixe-me clicar aqui, a junta dianteira do chassi dianteiro. É isso mesmo. Sabemos que precisamos mudar seu tom. Eu mostrei para você aqui. Se eu clicar aqui, a rotação em torno do eixo Y é esse verde que queremos fazer. Queremos mudar isso, certo? O tom disso, certo? Portanto, é o tom, a rotação em torno do eixo Y. Então, aqui, se eu mudar a inclinação da junta zero do chassi dianteiro para 50 e a cabeça compilada, você pode ver que ela está entrando 50 não é suficiente, talvez 100. Então, vamos colocá-lo lá, compilar e não, você pode ver se eu olhar para ele, você pode ver que está completamente dentro, e tudo bem Agora, temos outro aqui. Então, vamos mudar isso. Nós sabemos disso. Queremos mudar o tom. Vamos colocar aqui, começar compilar e você pode ver que está entrando Vamos colocar 13 lá e começar a compilar. Você pode ver, não, está completamente dentro. Ambas as rotações dos ossos, não está bem. Um deles 100 para chassi frontal, junta zero, e um deles é para chassi frontal, junta podridão do trilho, certo 30 para o tom e 100 para o tom deste, certo? Mas não queremos testá-lo assim. Cada vez que precisamos compilar, certo? O que você quer fazer? Queremos criar uma variável dentro ou em um editor de pré-visualização e testá-la com ela. Quero criar uma variável para isso e quero chamá-la de engrenagem. O tipo deve ser flutuante, e podemos fazer isso assim E eu quero que esse valor de engrenagem seja um valor 0-1, porque é mais fácil trabalhar com esse tipo de valor, o valor que é 0-1, É por isso que precisamos multiplicar isso, multiplicar por algum valor Por exemplo, este, 100 é mais que suficiente. Então, se a engrenagem for zero, significa que a engrenagem está desligada. Mas se essa variável de marcha for uma, queremos que a engrenagem esteja dentro. Então, 100 para este. Então coloque 100 aqui e conecte-o ao campo. Agora, vamos testar isso. Está lá fora. Se eu for até a engrenagem e trocá-la por uma, você pode ver se eu coloco uma aqui, não, você pode ver que está dentro. É muito fácil trabalhar com ele. Agora, para testá-lo, porque precisávamos de muito, quero clicar nessa variável de marcha, aqui ou aqui. E no painel de detalhes, quero alterar o intervalo do controle deslizante de zero. Dois, um. Por que estou fazendo isso? Porque não, é mais fácil mudar isso. Você pode ver, não, é mais fácil trabalhar com isso. Estou trocando a marcha e você pode ver que está subindo e descendo, certo? Isso é legal. Agora, com essa variável de marcha, queremos mudar essa junta da haste do trilho do chassi dianteiro Sabemos que se você colocar zero para arremessar aqui, significa que está do lado de fora, e quando colocamos 30 lá dentro, significa que está do lado de dentro, certo? Então, se você colocar zero aqui, você pode ver que estará do lado de fora. Você pode ver isso. Agora, novamente, sabemos que essa engrenagem tem um valor de 0-1 Podemos multiplicar isso por 30 porque com 30, sabemos que as engrenagens estão dentro Todas as engrenagens devem estar dentro. Todas as rodas devem estar dentro. Tão conectado ao campo. Agora, se eu tivesse compilado e trocado o equipamento por um, você pode ver que os dois estão dentro. Isso parece bom, certo? Mas um problema que temos aqui é que ele está desconectado No momento, está desconectado, como podemos consertar isso. Por enquanto, estamos movendo o chassi dianteiro, junta zero e a junta ferroviária do chassi dianteiro Tudo está bem, mas está desconectado. Eu vou te mostrar como você pode conectá-los corretamente com essas notas. Mas veja, podemos fazer isso. Em seguida, nós 33. 31 Hidrólica: Nenhum problema que tivemos no último vídeo foi que as engrenagens estão entrando, mas em algum momento, elas estão desconectadas Vamos ver como podemos resolver isso. Se usarmos uma malha esquelética, digamos que esse chassi frontal seja assim, certo E essa barra dianteira do chassi é assim, certo? E não, está desconectado. Mas nós temos o hidráulico, certo? Podemos mudar sua posição assim na direção X desta forma. Portanto, ele estará sempre conectado. Dessa forma, você pode vê-lo bem o suficiente Quando formos para o Blueprint de animação, você o verá melhor Não, precisamos de outro desses nós, mas o nó que precisamos é para mudar a posição, não mais a rotação. Então, aqui, Dragon Drop, procure por osso modificado. Desta vez, o que você quer mudar, novamente, procure por fachada. O que você quer mudar é a articulação hidráulica do chassi dianteiro, certo E com isso, precisamos apenas mudar a translação na direção x, certo? Portanto, não precisamos dessa rotação e de uma escala. Você pode deixá-lo lá, mas eu quero que esteja limpo. É por isso que eu vou até a rotação e clico aqui, digo para ela não a expor como um alfinete e, para a balança, também, digo para ela não a expor como um E certo, clique aqui, divida o pino do asteróide, para que tenhamos acesso a apenas X, certo? Então, vamos apenas compilar. Agora, aqui, o que você quer fazer? Queremos mudar a tradução X porque eu mostrei aqui que queremos mudar a tradução, a posição na direção X. Você pode ver isso aqui. Então, não, queremos mudar a tradução X. Mas com o que queremos mudar, queremos mudá-la com a engrenagem Então, todos eles sobem juntos, certo? Então, para fazer isso, precisamos multiplicar a engrenagem, multiplicar isso por um valor Deixe-me colocá-lo aqui, conectado à tradução X. E aqui, vamos colocar dez lá Eu sei o valor certo, mas eu só queria te mostrar. Você pode ver, está acabando, mas não é bom o suficiente. Vamos apenas aumentar isso. Por exemplo, para 50. Compilação principal. Novamente , não é suficiente. Vamos mudar para 100, certo? Compilar. E agora você pode ver que está dentro, mas não o suficiente. Vamos colocá-lo em 110. Cabeça compilada. Não, você pode ver que está lá dentro. Se mudarmos, você pode ver que funciona. Bom. Agora, você pode ver, se eu subir, tudo parece bom, e isso parece, eu acho, incrível. Está se movendo corretamente, certo? Não, com isso feito, as engrenagens estão saindo corretamente. Você pode ver que está lindo. Não, também estamos animando a translação e a rotação Não, a próxima coisa que queremos fazer fechar as portas. Por exemplo, se o equipamento estiver completamente dentro, temos algumas portas aqui. Você pode ver isso. Há um aqui, um aqui e um aqui. Então, o próximo passo é fechar as portas. Vamos ver como podemos fazer isso no próximo vídeo. 34. 32 Porta de engrenagem frontal: Agora estamos aumentando as marchas dianteiras, mas não estamos fechando as portas. Vamos ver como podemos fazer isso. Se formos até uma malha esquelética, você pode ver que temos algumas portas Se apenas procurarmos a porta, você pode ver que deixamos uma junta da porta, você pode ver, precisamos mudar sua rotação em torno do eixo X. Deixe-me mostrar para você. Está ao redor do eixo X. Você pode ver a direção X, certo? Então cabeça E, essa vermelha é o eixo X, o papel, certo? Então, precisamos fechá-lo assim. E também temos outros. Por exemplo, esse. Novamente, ao redor do eixo X, precisamos fechá-lo. E precisamos fazer isso também. Então você pode ver que há uma porta de árvore que precisamos fechá-la. Isso é lindo, certo? Você não quer fazer isso assim. Não se preocupe com isso. Nada será salvo aqui. Vamos para o ABP F 18. Precisamos mudar a rotação de alguns ossos, então é fácil, certo? Deixe-me criar algum espaço aqui. Precisamos de três desses nós para alterar a rotação do osso. Posso copiar três deles e aqui, colar assim, colar assim, conectar o pino de execução a ele. Deixe-me fazer isso menor para que você possa ver melhor e conectá-los aqui. Agora, para os ossos. Clique no primeiro. Se você procurar por porta, eu quero fazer isso para que a porta esquerda entre. O nome não é muito bom, se preocupe, mas estou te mostrando. Esse era dois. Esse foi um. E, novamente, essa, queremos procurar por uma porta também, é essa, certo? Não, com isso. Sabemos que queremos mudar a regra de rotação X, certo? Então, vamos dar uma olhada. Se você for aqui, este, se eu mudar esses 250, por exemplo, e o head compilar esse, certo? Está dentro. Deixe-me aumentar um pouco. Como você sabe, esse caminho não é bom o suficiente. Podemos criar uma variável e testá-la com essa variável porque cada vez que você está mudando alguma coisa aqui, devemos começar a compilar, então isso não é bom o suficiente. O que você quer fazer? Queremos criar uma variável. E esse, eu quero chamá-lo de equipamento. Porta. É isso mesmo. Deveria ser um carro alegórico. E eu quero que seja um valor 0-1. É isso aí, compilação principal. Agora podemos pegar essa porta de engrenagem, multiplicá-la por algum valor porque ela é 0-1 e conectada ao rolo ou rotação X. Vamos colocar 50 lá dentro, começando E se eu trocar a porta do Ge aqui, você pode ver que ela está entrando, mas não é o suficiente. Vamos colocar 100 lá e começar a compilar. Eu acho que isso é bom, talvez esteja entrando mais. Vamos colocar 95 lá. Eu sei que o 95 é o melhor valor para este caça a jato, e acho que parece bom. Não, vamos apenas testá-lo. Para a porta Ge, podemos trazê-la para fora, trazê-la para dentro. Você pode ver fechá-lo e abri-lo apenas por essa variável. Isso parece incrível, certo? Deixe-me ir aqui para ver se está fechado corretamente. Vamos colocar 100 novamente. Comece a compilar e acho que isso é bom. Você deve jogar com esse valor até alcançar o resultado desejado. Agora, encontramos o valor de multiplicação correto para a junta dupla da porta esquerda Queremos fazer isso para os outros também. Multiplique isso por um valor para a porta esquerda, uma junta, conectada ao rolo aqui, compile, e vamos colocar 50 novamente lá dentro, comece a compilar e você verá que está saindo Porque toda vez que aumentamos esses 60 , eles saem mais. Precisamos multiplicá-lo por um valor negativo, como -50, certo? Então compile. Agora, você pode ver que está indo para dentro, talvez aumentá-lo, -70, talvez empilhar, e agora você pode vê-lo Acho que parece bom. Agora, precisamos fazer isso para o outro. Novamente, queremos fazer o mesmo, multiplicar essa porta de engrenagem por um valor e conectá-la à linha dessa, certo? Novamente, vamos começar do 50, comece a compilar. Está entrando, mas não é suficiente. Novamente, vamos colocar sete lá e compilar. Acho que parece bom, certo? Eu vou aqui. Acho que parece bom. Vamos testar isso. Acho que parece bom. Ninguém vai ver isso dessa maneira, mas nós podemos, certo? Por que não? Podemos fechá-lo, abri-lo e podemos fechá-lo. Abra e feche. Isso parece bom, certo? Você pode ver que alguma parte da roda está do lado de fora. Você pode ver isso aqui. Nós podemos mudar isso. Por exemplo, esses 100 que temos aqui, 105, certo? Headcampi Legal. Não, vamos ver isso deste lado. Se eu abrir a porta da engrenagem, você pode ver. Está funcionando bem e abre as engrenagens. Você pode ver que parece incrível e está entrando. Então, primeiro, essas engrenagens estão subindo e, depois disso, a porta da engrenagem se fechará. Isso parece incrível. Agora fizemos as marchas dianteiras. O que eu quero fazer aqui, eu quero selecionar tudo isso, criar algum espaço aqui. Os anúncios são exibidos no seu teclado para criar um comentário. Eu quero chamar isso de fachada. Engrenagens. Está bem? É isso mesmo. Cabeça compilada. Não, fizemos as marchas dianteiras. Vamos ver como podemos fazer isso as engrenagens traseiras no próximo vídeo 35. 33 portas traseiras: A próxima coisa a fazer é fechar as engrenagens traseiras, traseiras e traseiras Vamos ver como podemos fazer isso. Para fazer isso, se entrarmos nela, você pode ver que há algum espaço para colocar essa dentro, mas não é suficiente. O que eu quero fazer, primeiro, é fechar as portas primeiro e depois acionar as engrenagens Então, aqui, eu deveria procurar a parte traseira e você pode ver que temos três dessas portas aqui no lado esquerdo, que as fechamos para ver qual delas devemos trocar. Se eu for aqui, você pode ver se temos um aqui que deveria fechar assim. E, novamente, temos um aqui que deve fechar assim, e temos outro que deve fechar assim, certo? Deveria ser fechado assim. E depois disso, podemos fechar esse, certo, trazê-lo para dentro desse jeito. Legal. Há um problema aqui que você pode ver. Está lá fora. Podemos trazê-lo para dentro assim. Nem tudo parece bom. Este é para o esquerdo e está dentro, e isso parece bom. Eu quero fechar primeiro as portas e depois disso, trazer as meninas. Para fazer isso, vamos ao Animation Blueprint. Aqui, no final, eu quero criar algum espaço. Como você pode ver, quando clicamos nas portas, mudamos a rotação em torno do eixo X. Você pode ver ao redor do eixo X, este vermelho. O vermelho, se você olhar aqui, é o eixo X. Portanto, esse é o papel. A rotação em torno do eixo X é a função. Então, precisamos mudar o papel disso. Então, agora, vamos ao ABP F 18, o modelo de animação Precisamos de três dessas mudanças de rotação. Então, vamos copiar três deles, controlar C para copiá-lo e controlar V para colá-lo aqui. E conecte o pino de pose ou o pino de execução aqui e a uma saída como esta. E agora, vamos escolher as portas que você deseja fechar. Clique aqui. E aqui eu quero procurar uma porta traseira esquerda. A próxima é a traseira, a próxima porta traseira esquerda, dois. O nome dessa vez é bom, certo? Então, novamente, procure a porta traseira traseira esquerda de três juntas. É isso mesmo. Precisamos mudar o papel deles. Basta ampliar aqui um pouco assim. Estamos em um bom lugar, certo? E isso é bom. Eu acho que isso é bom. Queremos usar a porta de engrenagem para fechar todas as portas do nosso avião. Então, novamente, podemos usar a porta de engrenagem aqui. Como você sabe, como essa liga tem um valor 0-1, você pode vê-la aqui, um valor Precisamos multiplicá-lo por algum valor. Então, vamos multiplicá-lo por algum valor conectado à rotação em torno do eixo X. Novamente, você quer multiplicá-la pela porta dois para o X. Novamente, vamos multiplicá-la mais uma vez pela E coloque-o aqui para a porta três, certo? É isso mesmo. Não, eu quero fechar a porta da engrenagem para uma. Nada vai acontecer aqui, mas podemos colocar algum valor. Então, por exemplo, 100 para este. Você pode ver que está fechado. Podemos simplesmente ir aqui e testar isso. porta 2, você pode ver esse 82, mas eu não confio na imagem do esqueleto porque ela não funciona às vezes Para a porta dois, vamos testar 50 lá e começar a compilação. Não está fechado. Vamos colocar 80 lá. Novamente, comece a compilar. Está fechado, mas vamos adicionar mais. 85 talvez. E acho que devemos ir um pouco mais. Você pode ver isso aqui. 87 talvez o cabeçalho compile e não, está fechado. Talvez 88 seja melhor desta vez, certo? Sim, isso é bom. Agora, na próxima porta, vamos colocar 50 lá. Eu sempre começo com a compilação 50, D. Você pode ver que está indo para fora, então precisamos multiplicá-lo pelo valor negativo -50 head compile e ele não está fechado -80 novamente, comece a compilar. Não está fechado -100, certo? Compilação principal. Está entrando um pouco. Então, vamos apenas aumentar essa compilação de -95 cabeças, e ela está fechada, certo Agora, vamos testar isso. Se diminuirmos a porta GE, você pode ver que a porta ge está saindo e entrando. Isso parece bom. Vamos ver o avião inteiro com isso. Saia. Você pode ver isso aqui. Temos portas aqui, portas aqui. Se trocarmos a porta da engrenagem, você pode ver todas elas estão fechando e abrindo corretamente. Vamos fechar as engrenagens também. E não, vamos testar as portas. Isso parece incrível, certo? Certifique-se de salvar tudo. Às vezes, nosso verdadeiro motor trava muito. Não, eu quero te dar um desafio. Tente fazer as portas certas sozinho. Faremos isso no próximo vídeo juntos. É importante enfrentar esses desafios para que você se lembre desse tipo de coisa no futuro. 36. 34 Equipamento esquerdo: Vamos ver como podemos fazer as portas certas. Para fazer isso, novamente, podemos copiar tudo isso. É mais fácil porque é só copiar e colar, certo? Você deve aprender a usar corretamente a cópia e a colagem, porque agora estamos fazendo uma coisa exatamente como antes Precisamos apenas trocar os ossos aqui. Então, novamente, procure por raras, queremos fazer a porta certa, desta vez novamente aqui. Precisamos mudar a porta traseira dois, porta traseira direita dois, certo? Nós temos outro. Novamente, procure a traseira aqui e a porta traseira direita três. Se você tivesse que compilar e fosse até a porta certa, encontre um bom ângulo para poder ver melhor Agora, se o fecharmos, você pode ver que está saindo completamente, então não parece bom. O que eu quero fazer, eu quero colocar o que é positivo em negativo assim, assim e o que quer que seja negativo, eu quero colocar o positivo lá dentro. Agora, vamos compilar e fechar a porta da engrenagem. Oh, você pode ver que está funcionando. Portanto, as portas certas também estão se fechando. Vamos fechar isso. Saiba o que você quer fazer. Queremos fechar as engrenagens em si. As rodas devem estar dentro. Mas como você pode ver aqui o que fizemos, deixe-me clicar aqui e reiniciar as marchas aqui Você pode ver que não pode simplesmente mudar a direção e tudo ficará bem. Você pode ver que estará lá fora. Portanto, precisamos mudar a direção da rotação para que ela fique completamente interna. Então, para fazer isso, é exatamente como antes, mas precisamos mudar de direção. E eu quero mostrar que você ensina a fazer isso corretamente. Então, para fazer isso, precisamos de um desses nós para a rotação óssea modificada, certo? Controle C control V para colá-lo aqui, conecte-o assim e conecte-o à saída, e pronto. Precisamos usar a variável de marcha para fechar essas marchas, certo? Mas com apenas um desses, não podemos trazer escavadores para dentro Precisamos de três, dois ou três deles, certo? Três desses ou dois deles, pelo menos. Então, primeiro, vamos escolher o osso. Então eu procuro a junta traseira do chassi traseiro. Se você for aqui, verá que é chamada de junta traseira esquerda do chassi e junta traseira direita do chassi Se o reiniciarmos, você pode vê-lo aqui, certo? Então saiba que, se você começar a compilar, nada aconteceu. Tudo está em zero. A melhor maneira de encontrar bons valores aqui arrastar e soltar a promoção para variável, à direita, para o X. Novamente, faça isso para este, promova para variável para o tom Novamente, arraste e solte , transforme em variável para o, certo? Saiba o que vai acontecer. Temos acesso a eles. Estamos fazendo isso para a esquerda, é essa. Vamos chegar perto disso e mudar algum valor. Por exemplo, este, deveria ser assim, certo? Está indo para dentro. Novamente, altere esse valor e altere esse valor para trazê-lo dentro e brincar com esse valor até chegar ao resultado desejado, certo? Não, você pode ver que está entrando e precisamos desses valores para X, Y e Z. Então, o que pudermos é multiplicar Essa é para o papel. O papel, como você pode ver, é -119. Então, vamos colocar -119 lá. Novamente, multiplique esse valor. Também precisamos multiplicar isso por um valor. Isso é 15. Coloque 15 lá. Novamente, precisamos multiplicar esse valor. Eu menos nove, certo? E podemos simplesmente conectá-lo a esses valores. Então, vamos conectá-lo assim. Se soubermos que ele compila e troca o equipamento, você pode ver que ele sairá e estará dentro. Isso foi fácil, certo? Acabamos de criar algumas variáveis, fizemos isso. Descobrimos qual rotação cada uma delas deveria ter e estamos fechando as engrenagens facilmente, certo? Isso por dentro e por fora. Isso funciona bem. Agora, novamente, quero te dar isso como um desafio. Fizemos isso com a marcha esquerda. Você tenta fazer isso com o equipamento certo, e nós faremos isso no próximo vídeo. 37. 35 Equipamento certo: Não, por fazer isso com o equipamento certo. Vamos ver como podemos fazer isso. Novamente, podemos simplesmente copiar e colar isso, certo? Vamos copiar tudo, certo? Copie e cole com Control C, Control V e cole aqui desta forma. Agora, com isso, vamos clicar nele. Precisamos ajustar a traseira direita. Chass is joint, certo? Compilação principal. Não, vamos testar isso para ver se está dentro ou não. Claro, eu posso ver isso. Não está lá dentro. Então, não está indo da maneira correta, certo? Então, novamente, vamos testá-lo com esses valores. Encontre os melhores valores, certo? Conecte esses três e teste isso. Certifique-se de compilar e zerar tudo. Então você pode ver que tudo está em zero. Vamos mudar algumas coisas. Vá aqui e você verá que está fora do chassi. Então, vamos diminuir um pouco. E depois disso lá dentro. Então, esses são os valores que precisamos para este. Podemos simplesmente controlar C control V para colá-lo aqui para este também. Isso é para o campo, e isso é para você, certo? Agora, com isso, se você conectá-los aqui, e aqui, você pode ver se eu compilo e altero as engrenagens, você pode ver que os dois estão entrando Legal, certo? Tudo está funcionando bem. Então, o que fizemos foi criar três variáveis para encontrar valores para inclinação do rolo e yo para o, as engrenagens estão completamente internas E depois de encontrarmos esses valores com essas variáveis, multiplicamos esses valores variável de engrenagem que é o valor 0-1 Então é assim que estamos fechando as engrenagens. Saiba o que queremos fazer. animar tudo isso juntos Então, sempre que toca G em seu teclado, primeiro, as portas se abrem assim e depois disso, as meninas saem assim. E depois disso, se eles tivessem G no teclado novamente, novamente, primeiro, as meninas entrariam assim, e depois disso, a porta da engrenagem será fechada assim. Vai ser fácil de fazer, certo? Deixe-me testá-lo com uma janela de visualização maior aqui. Você pode ver isso claramente. Não, primeiro, as portas de engrenagem estão abertas e, depois disso, as engrenagens estão do lado de fora Então é isso. Isso é o que queremos fazer. Em seguida, eu faço. Queremos fechar e abrir automaticamente as engrenagens e a porta de engrenagens Para fazer isso, primeiro de tudo, vamos excluir tudo isso. Nós não precisamos disso. E aqui, eu quero adicionar alguns comentários. Por exemplo, esses 21 eram para engrenagens. Assim foi por muitos anos. Então, adicione o comentário. É sempre uma boa ideia adicionar algum comentário. Então, no futuro, se você quiser adicionar algo, você pode fazê-lo. E esses são para portas traseiras. Está bem? E vamos organizar um pouco, e pronto. Tudo é comentado, tudo lindo. Certifique-se de acessar o arquivo, salvar tudo e saber que é hora de encontrar uma maneira de fechá-lo e abri-lo com um clique, um toque no teclado. Vamos ver como podemos fazer isso. 38. 36 Linha do tempo para engrenagens: Conhecendo nosso plano de animação, temos duas variáveis para abrir e fechar as engrenagens e abrir e fechar a porta das meninas Isso é ver como podemos usá-los. Como você sabe, lembre-se disso. Quando colocamos a porta da engrenagem em zero, significa que ela está aberta Eu sei que não parece bom, mas é assim que funciona. E quando colocamos a porta da engrenagem em uma, isso significa que a porta da engrenagem está fechada Da mesma forma, quando a variável de marchas é zero, significa que as marchas estão abaixadas, e quando a variável de marchas é uma, significa que está para cima, está fechada , certo Então, se as engrenagens e a porta das engrenagens forem uma, significa que as portas e as engrenagens estão fechadas e, se forem zero, significa que estão abertas Então, queremos usar isso. Como queremos usar isso dentro do BPF 18? Primeiro, precisamos de uma entrada. Então vá para a gaveta de conteúdo na pasta de entrada aqui, clique com o botão direito do mouse para criar uma ação de entrada Quero chamá-lo de IA gears. OK. Clique nele para abri-lo. O booleano digital é mais do que suficiente. É isso mesmo. Bem, vamos fechar isso. Precisamos mapeá-lo dentro do nosso contexto de mapeamento. Então, aqui, adicione o mapeamento, vá até aqui e encontre-o. Queremos mapear as engrenagens de IA. E quando queremos que isso aconteça sempre que tivermos G em nosso teclado. Então clique aqui, coloque G no teclado e ele o colocará lá. Agora você pode salvá-lo e ir para o Blueprint. Agora, aqui eu quero clicar com o botão direito do mouse em Pesquisar engrenagens IGs E aqui, sempre que ouvirmos Jon ou teclado, esse início acontecerá uma vez. E com isso, queremos abrir ou fechar as engrenagens. Então, precisamos de uma variável para controlar se as engrenagens estão abertas ou fechadas, certo? Então, vamos criar uma variável do tipo booleano, e eu quero chamá-la engrenagem aberta com um ponto de interrogação, certo? Então, verificamos. Se o equipamento estiver aberto toda vez que tivermos o Gano ou o teclado, podemos verificar isso com a ramificação Se a engrenagem estiver aberta, precisamos fechá-la. E se a engrenagem estiver fechada, precisamos abri-la, certo? Como queremos fazer isso, queremos fazer isso com a linha do tempo. Então, vamos pesquisar a linha do tempo na linha do tempo. Eu quero chamar isso de engrenagens. Cronograma, ok? Clique nele para abri-lo. Eu quero que a duração disso seja três segundos e adicione a trilha na trilha de fluxo. Eu quero chamar isso de Gears, ok? E aqui, adicione uma chave no momento zero, eu quero que seja zero e adicione outra chave após 1,5 segundo. Então, vamos colocar 1,5 segundo. Eu quero que o valor seja um. Então, o que vai acontecer? Se atribuirmos o valor dessas engrenagens ao valor da engrenagem em nosso plano de animação, levará um ponto e meio segundo para que as engrenagens sejam fechadas Então, primeiro, fechamos as engrenagens e, depois disso, adicionamos outra faixa, e eu quero chamar essa de porta de engrenagens OK. E este eu quero iniciá-lo a partir de 1,5 segundos. Então, vamos colocar 1,5 segundo. Em 1,5 segundo, eu quero que seja zero, certo, e adicione outra chave aqui no tempo três, eu queria ir para uma. Então, deixe-me explicar mais uma vez. Quando reproduzirmos essa linha do tempo, se você passá-la para a animação Blueprint, o que acontecerá? Primeiro, as engrenagens serão fechadas e, depois que as engrenagens forem fechadas, a porta será E temos essas duas variáveis. Então, temos engrenagens e portas de engrenagens variáveis, certo? Podemos simplesmente promovê-los como uma variável em cada atualização, certo? É isso mesmo. Vamos também promover essa para uma variável e atualizá-la toda vez que essa atualização acontecer, certo? Então, se você jogar essa linha do tempo, essas engrenagens vão para uma, e depois disso, essas engrenagens vão para uma e as engrenagens são vão para uma e as engrenagens Depois disso, a porta das engrenagens passará para uma e as portas das engrenagens se fecharão depois disso, certo Então, como queremos jogar? Vamos apenas testá-lo. Se a engrenagem estiver aberta , tudo bem, precisamos fechá-la. E se a engrenagem não estiver aberta, essa falsa acontecerá, e queremos reverter a reprodução dessa linha do tempo, certo? Então, vamos testar isso com justiça. Não funcionará sem nenhum bug, mas vamos testá-lo e corrigiremos qualquer bug que ele tenha. Se formos ao nosso Plano de Admissão, precisamos acessar o gráfico de eventos e obter esses valores Por exemplo, engrenagens, pegue engrenagens. E também precisamos comprar as portas das engrenagens. Pegue o equipamento. Ou porta de engrenagens, também. E precisamos promovê-los para variáveis. Mas desta vez, como temos uma variável para engrenagem e porta de engrenagem, podemos simplesmente configurá-las da mesma forma que configuramos. Com esses valores que estamos obtendo do nosso projeto, certo? Então, com as portas Gear , novamente, queremos fazer o mesmo. Queremos defini-lo com o valor que obtemos do blueprint No pino de execução. Então, vamos colocá-lo assim, colocá-lo aqui e dar a ele o pino de execução. Se você atropelar o jogo e ele usar o teclado, nada acontece. Este é o primeiro livro que isso está acontecendo. Se você for para o BPF 18, poderá ver que o valor padrão para Is gear open is false É por isso que nada acontece. Então, por padrão, a engrenagem está aberta. Assim, você pode vê-lo na janela de exibição. A engrenagem está aberta. É por isso que precisamos colocar a engrenagem Is aberta para a verdade no início. Não, vamos embora. Se você atropelou o jogo, tinha o Gian ou o teclado, não, você pode ver. A engrenagem está fechando e a porta da engrenagem também está fechando. E se você pressionar o íon ou o teclado, nada acontece, então isso é um problema. Eu quero te dar isso como um desafio. Tente descobrir qual é o problema e tente corrigi-lo sozinho, e nós o corrigiremos no próximo vídeo. Se você puder corrigir isso, significa que você não é iniciante e está ficando bom 39. 37 Engrenagens abertas e fechadas: Então, tivemos um problema no último vídeo. As engrenagens estão fechando, mas não estão abrindo depois disso Por quê? Porque temos a engrenagem aberta, é sempre verdade, certo? Não estamos tornando isso falso ou verdadeiro depois disso, certo? Essa linha do tempo tem um pino de execução finalizado. Sempre que essa linha do tempo termina de ser reproduzida, é uma linha do tempo, são quadros-chave Esse acabamento acontecerá todas as vezes. E depois disso, queremos verificar. Se as portas das engrenagens estiverem fechadas, significa que as engrenagens estão Então, a engrenagem aberta deve ser falsa, certo? Então, vamos usar um galho aqui e verificar com a porta da engrenagem Eu quero verificar. Se for igual a um, quando terminar o plano. Deixe-me ir aqui para te mostrar. Se for um plano acabado e a porta da engrenagem ou uma, significa que as engrenagens estão fechadas, certo Mas se for um plano inverso, começará daqui e irá para a esquerda. As portas de engrenagem serão zero aqui no momento zero, certo? Então, caso pegue o que você quer fazer, nós queremos verificar. Se for igual a um, se a porta da engrenagem for igual a um, significa que a engrenagem I aberta é falsa. Então, vamos abrir a engrenagem I e configurá-la como falsa. Mas em outros casos, queremos usar o controle C control V para colá-lo. Queremos dizer a verdade. Deixe-me explicar mais uma vez. Se o valor da porta de engrenagem nesta linha do tempo for um, significa que a porta de engrenagem está fechada Então, essa verdade acontecerá, e dizemos que não está aberta. Se a engrenagem aberta é falsa, certo? Não está aberto. Mas em outros casos, isso significa que a porta de engrenagem é igual a zero ou a um valor exceto um, essas falsas acontecerão e colocamos a engrenagem Es aberta como verdadeira. Agora, vamos testar isso. Se você atropelar um jogo e o G ou a palavra-chave, poderá vê-lo sendo fechado, tudo ficará bem. Se eu tivesse G novamente, ele se abrirá novamente e tudo ficará bem, certo? Digamos que, no meio dessa abertura e fechamento, ouçamos G novamente. Nada aconteceu porque esse acabamento não está acontecendo, mas depois que esse término acontecer, não, podemos abri-lo. Novamente, vamos apenas dirigir G. Você pode ver que está fechado e depois de esperarmos, podemos dirigir G novamente para abri-lo. Vamos testar isso mais uma vez. Se pressionarmos Shift em nosso teclado, você pode ver, eu posso subir e pressionar G em nosso teclado, a engrenagem será fechada. Tudo parece bom e está lindo. Nós podemos ir assim. E talvez possamos aprender isso? Se eu for um gongo ou teclado, ele será aberto. E acho que não consigo atendê-lo, mas talvez consigamos, certo? Então, vamos descer e aterrissar. Isso não parece bom. Também temos freio de mão quando estamos no chão Mas isso é uma simulação de um caça a jato em motor real. Isso não parece bom. Vamos calcular algumas coisas, então destruiremos o avião de combate sempre que esse tipo de coisa acontecer. Então não, ou o gás está funcionando bem. 40. 38 Verifique a altitude: Nenhum problema que temos é que, quando nosso avião de combate está no subsolo, podemos fechar as engrenagens, e isso não deveria acontecer Certo? Agora, estamos no subsolo. Se você tiver um teclado, poderá vê-lo. Isso não parece bom, certo? Então, como podemos corrigir isso. Vamos ver. Aqui, se tivéssemos G em nosso teclado e a engrenagem estivesse aberta, isso aconteceria, e essa linha do tempo fará com que as engrenagens sejam fechadas, certo e essa linha do tempo fará com que as engrenagens sejam fechadas, Mas caso isso seja verdade, queremos verificar se estamos no subsolo, não feche as engrenagens porque estamos no subsolo, certo? Então, para fazer isso, precisamos de algum espaço aqui. Para verificar se você está no subsolo ou no ar, existem alguns nós que devemos usar. É por isso que não quero adicionar todos esses nós aqui. Não temos muito espaço aqui, então é por isso que eu quero criar uma função. Então vá aqui, crie uma função, e eu quero chamá-la de verificar altitude. Está bem? Verifique a altitude. E aqui, nesta função, queremos ter uma saída do tipo booleano, e eu quero chamá-la de está no ar Está bem? E aqui, vamos criar um pouco de espaço. Há um nó chamado rastreamento de linha por canal, ok? Esse traçado de linha tem uma localização inicial e final. Ele começará desse local inicial até o local final com uma linha e, se atingir algo, será mostrado para nós. Então, o que eu quero fazer é adicionar uma linha do meio do nosso avião até baixo, por exemplo, 20 metros abaixo para verificar se ela atingiu o solo ou não. Se atingir o chão depois de 1 ou dois metros, significa que estamos no chão. Mas se não atingiu o solo, significa que estamos no ar, certo? Então, para fazer isso, precisamos de um local inicial e final. Como eu quero obter o local de partida? Eu quero que esteja no meio do nosso avião. Então, vamos clicar em Ormsh. A localização inicial de Ormsh é 00 aqui. Se eu clicar aqui, você pode ver. Isso não parece bom. Mas se você for até nosso braço de mola, poderá ver que a localização do braço de mola está no meio do plano. É por isso que eu quero usar isso. Então, aqui, eu quero superar Spring Arm, obter sua localização, obter a localização e obter a palavra localização dela. E esse é o ponto de partida. É isso mesmo. E para o ponto final, queremos apenas subtrair isso por um valor Z porque queremos verificar se você está no chão ou não Não precisamos mudar o X ou o Y para isso. Então, eu quero colocar 2000, por exemplo, ou 20 metros abaixo, conectá-lo ao final. E para que você veja melhor, quero mudar a devoção do desenho do meio-dia para persistência, para que você possa ver Se eu começar a compilar, não, posso usar essa função Então, vamos ao gráfico de ventilação. Eu quero mostrar isso a você passo a passo. Então pegue essa altitude de verificação e conecte o pino de execução a ela assim. Eu não quero fechar o equipamento agora. Quero apenas verificar a altitude, começar a compilar e rodar o jogo Então, se eu tivesse Jon ou teclado, você pode ver, há uma linha do meio ou do plano se eu avançar um pouco. Caiu no chão e caiu no chão. Isso significa que estamos no chão. Então, isso nos dará um valor. Vamos ver qual é esse valor. Como podemos obter o valor em que atingimos o solo, podemos simplesmente quebrar isso, tivemos que nos dar a distância. Então, deixe-me usar uma string de impressora aqui para mostrá-la a você. E eu quero mostrar a distância quando ele atinge o chão, certo? Nós atropelamos o jogo e apertamos Jon ou o teclado, você pode ver, é como dois metros, certo, dois metros abaixo. Então, se essa distância for menor que dois metros, significa que estamos no chão. Mas se for mais de dois metros, significa que estamos no ar, certo? Então, conhecemos esse valor, que é conectar esses dois aqui. Em primeiro lugar, queremos verificar se ele está atingindo algo com essa cabeça bloqueadora Então use um galho aqui. Se não bater em alguma coisa, essa queda acontecerá, e isso significa que estamos no ar. Então, verificamos se está no ar, certo? É isso mesmo. Mas se atingir alguma coisa, precisamos verificar a distância. Então, novamente, se atingir alguma coisa, podemos usar um galho aqui e verificar a distância. Se a distância fosse maior que, por exemplo, 250, ok? Isso significa que estamos no. Assim, podemos controlar o controle C para colar esse nó de retorno. E se não estiver atingindo algo depois 2,5 metros ou 250 centímetros, podemos dizer que não estamos no ar assim, passando por essa variável aqui, certo? Então, não, vamos testar isso, não. Se formos para o gráfico de eventos, não, eu quero usar um anel de impressora aqui, printesring para mostrar o valor do ar, certo Compile e execute. Se eu tivesse um teclado, diz falso. Estamos no subsolo. Então está funcionando bem. Nós seguramos o turno, avançamos e vamos para o céu, talvez, certo? Agora, se eu usar o teclado, você pode dizer que está caindo no chão, mas diz que é verdade Estamos no ar. Novamente, se não estiver batendo em nada, se eu tocar no teclado, não está batendo em nada e diz verdade Então, tudo está funcionando bem com nossa função. Podemos simplesmente usar uma ramificação nesta função que está no ar com a ramificação. Se estivermos no ar, isso acontecerá e poderemos fechar os carros. Vamos apenas compilar, salvar um jogo do Runo. Se eu tocar no Gon ou no teclado, você pode ver que estamos no chão É por isso que não está fechando os carros. Mas se avançarmos e formos para o céu. Mas esse jipe, não , fechará o acelerador Isso parece bom, certo? Então, não. Resolvemos outro problema. 41. 39 Mísseis e pontos duros: A próxima coisa que queremos fazer adicionar alguns mísseis ao nosso caça a Neste momento, nosso avião de combate pode ir para o céu, mas não pode atacar nada. Então, vamos ver como podemos fazer isso. Para fazer isso, se formos ao Viewport, você pode ver que, se formos até os bastidores, temos um ponto difícil Chamamos isso de ponto difícil onde podemos colocar alguns mísseis, E no lado direito, nós também o temos. Queremos colocar quatro deles lá, como em qualquer combate AS. Eles têm quatro, certo? Então, para fazer isso, precisamos encontrar o esqueleto. Vamos até a gaveta de conteúdo, acesse os ativos, vá até as malhas e, aqui no avião de combate, encontre o esqueleto Está escrito esqueleto nele. Vou clicar nele para abri-lo. Aqui, deixe-me resumir esta e em nossa junção ****, você pode ver se já temos algum ponto difícil Você pode ver o posicionamento deles. Isso parece bom, certo? Podemos testá-los para ver se estão bons, mas clique com o botão direito do mouse, adicione o recurso de visualização e escolha os esqueletos que você pode ver. Não, temos um lá dentro Novamente, temos outro ponto difícil. Temos R 0.1, dois, três, quatro, no chassi do nosso avião de combate, certo? Novamente, clique com o botão direito do mouse, vá para adicionar ácido de pré-visualização e escolha aquele que você deseja colocar lá. Agora, você pode ver, nós temos outro. Mas não queremos fazer isso assim. Podemos simplesmente clicar nele remover todos os ativos anexados. Como queremos fazer isso, queremos usar o ponto difícil para colocar alguns mísseis na fuselagem do nosso caça a Então, para fazer isso, precisamos malha esquelética interna sobre os componentes aqui Então clique na malha e clique em AD e pesquise por malha esquelética Este primeiro, eu quero chamá-lo de míssil zero, um. Ok. Controle D para duplicá-lo. Isso é bom. Novamente, controle D para duplicá-lo mais uma vez. Novamente, controle D para duplicá-lo mais uma vez. E segure a tecla Shift e selecione as outras também aqui ou segure Control e selecione-as e escolha uma malha esquelética Nesse caso, queremos usar nosso míssil. Agora, você pode ver que todos os mísseis estão aqui embaixo. Isso não parece bom. Podemos simplesmente clicar nos mísseis porque são filhos da malha, podemos escolher um soquete principal Então, aqui, clique nele. Eu quero colocá-lo no Hard 0.1. Não, você pode ver isso no lugar certo. Isso é bom. Míssil dois, novamente, clique nele, vá para o soquete principal e eu quero colocá-lo no HardPoint Agora, você pode ver isso. Isso parece bom, certo? Míssil três, queremos colocá-lo em HardPointT para poder E novamente, míssil quatro, eu quero colocar um soquete lá, Hard 0.4 Agora, com isso, vamos compilar o jogo save e o Runo. Você pode ver que temos alguns mísseis em nosso jogo. Podemos simplesmente seguir em frente. Vamos dar uma olhada certa e subir. Feche as engrenagens. Isso é bom. Agora temos alguns mísseis que podemos disparar Isso parece bom. Vamos ver como podemos atirar neles. 42. 40 Sistema de recarga de mísseis: Não, temos alguns mísseis no ponto difícil. Mas, no momento, não podemos demiti-los. Eu quero ir passo a passo para criar esse sistema de mísseis para que você o entenda melhor Começamos com a entrada. Então, vamos até a gaveta de conteúdo aqui, ir até a entrada, clicar com o botão direito do mouse aqui e ir até a entrada, criar uma ação de entrada, e eu quero chamá-la de IA fire, ok? Você não precisa mudar nada dentro dele. O booleano digital é mais do que suficiente. Você pode simplesmente salvá-lo e fechá-lo. E agora precisamos mapeá-lo no caça IMC ainda, certo? Adicione o mapeamento aqui, desça, para encontrarmos o vazio. Então clique nele, Ifire e novamente, vamos descer, AFire Sempre que pressionamos o botão mais à esquerda, queremos atirar, certo Então, vamos ver como podemos usá-lo. Se formos para o Blueprint, quero fechar alguns deles Nós não precisamos deles. Apenas um gráfico corrigido é mais do que suficiente. Aqui embaixo, o que eu quero fazer procurar corretamente o fogo da IA, certo? Então, o que queremos que aconteça sempre que pressionarmos o botão mais à esquerda, isso começará a Há algumas maneiras de fazer isso, mas o que eu quero fazer não criar matrizes, não quero criar mais nenhuma variável Eu quero usar apenas esse componente que temos aqui. Por exemplo, quero verificar a visibilidade do míssil. Você pode ver que há um visível lá. Então, o que podemos fazer com isso, sempre que temos o botão mais à esquerda, queremos verificar quais deles estão visíveis Se estiver visível, podemos dispará-lo. E depois de dispará-lo, nós o tornamos invisível, e depois de, por exemplo, dois segundos, nós os tornamos visíveis novamente, certo, como qualquer jogo de combate AC. Então, vamos ver como podemos fazer. Aqui, eu quero pegar o míssil Queremos que o visível fique visível dele. Está bem? Esse visível é exatamente o visível que temos aqui. Deixe-me mostrar para você. Se você descer, poderá ver algo visível. Estamos entendendo isso e estamos usando aquele booleano visível dentro de cada um desses mísseis para verificar se os disparamos ou Então, queremos verificar isso com a filial. Se estiver visível, se apertarmos o botão mais à esquerda e o do míssil estiver visível, isso acontecerá, e podemos usar uma E eu quero dizer, dispara o míssil um, dispara o míssil um. Depois disso, queremos mudar a visibilidade desse míssil Assim, podemos copiar e colar esse míssil ou tirá-lo daqui arrastando-o e soltando-o E aqui, podemos dizer definir visibilidade do nosso míssil Não precisamos da nova sensação de que ela está sendo criada automaticamente aqui porque arrastamos, soltamos e a colocamos lá, e transformamos a nova visibilidade em falsa, certo? Agora, com isso feito, precisamos criar um cronômetro. Então diga depois de 2 segundos, recarregue, certo, para que possamos dispará-lo novamente. Então, como podemos fazer isso, podemos arrastar e soltar aqui. Podemos dizer definir cronômetro por evento, certo? E o evento, eu posso arrastar e soltar e criar um evento personalizado para ele e quero chamá-lo de míssil 1, recarregar Ok. E sempre que depois de 2 segundos, vamos colocar dois aqui. Depois de 2 segundos, queremos mudar de volta a visibilidade. Podemos simplesmente copiar e colar essas notas aqui e alterar a visibilidade para verdadeira. Fizemos isso com o míssil 1. Vamos dar uma olhada nisso. Se você atropelar o jogo, poderá ver o míssil , está na ala direita Se eu tiver o botão mais à esquerda, não, você pode ver que ele está invisível e, após 2 segundos, ele ficará visível novamente Se tivermos o botão mais à esquerda novamente, você pode ver que diz disparar míssil um, e podemos atirar nele e ele será recarregado Então não, estamos tornando um dos mísseis invisível e depois de 2 segundos, nós o tornamos Não, vamos ver como podemos fazer isso com os outros mísseis. Se o míssil não estava visível, significa que o disparamos antes , certo? Então, essa falsa vai acontecer, e queremos fazer tudo isso os outros mísseis também. Eu quero que você faça isso para que possamos filmar outros mísseis também, mísseis dois, três e quatro, e faremos isso no próximo vídeo 43. 41 Outros mísseis feitos: Não por fazer isso pelos outros. Se o míssil não estava visível, significa que o disparamos Nós o tornamos invisível e devemos esperar 2 segundos para poder fotografá-lo novamente, certo? Então, em caso de quedas, o que eu quero fazer é pegar o míssil e, aqui, novamente, procurar visibilidade, obter o visível, certo? E, novamente, verifique com um galho como este. Use um galho. E se o míssil dois estivesse visível, queremos fazer tudo isso de novo. Então, vamos copiar tudo daqui para cá, certo? E precisamos criar algum espaço aqui, aqui, temos algum espaço, certo? Isso é para o míssil 2. Então, se o míssil dois fosse visível, isso aconteceria, e podemos dizer que disparamos o míssil dois, certo e podemos dizer que disparamos o míssil dois, E depois disso, queremos fazer com que a nova visibilidade do míssil dois não seja visível Então conecte o míssil dois a aqui. Agora, depois disso, haverá um evento e ele precisará de um evento personalizado, e eu quero chamá-lo de reload, missile 02 É isso mesmo. E agora queremos mudar a visibilidade do míssil dois para dois após 2 segundos. Agora, vamos ver o que vai acontecer. Se eu compilar e executar, você pode ver se eu vou para a esquerda duas vezes, você pode ver dois dos mísseis perdidos e depois disso, você pode ver se eu vou para a esquerda duas vezes, você pode ver dois dos mísseis perdidos e depois disso, eles serão recarregados. Isso parece bom, certo? É otimizado. É uma boa coisa a se fazer, então não se preocupe com isso. Poderíamos simplesmente fazer isso com matrizes, mas estamos complicando as coisas com matrizes, então não precisamos disso Precisamos fazer isso também para o Míssil 3 e o Míssil 4 E como podemos fazer isso, novamente, exatamente como antes, quero desta vez copiar tudo, copiar e colar aqui embaixo. E conecte as quedas desta com a ramificação desta. Basta trocá-los onde quer que haja o míssil dois. Você quer mudá-lo para o míssil três. É isso mesmo. Agora, aqui, você quer disparar o míssil três, então dizemos míssil Novamente, queremos mudar a visibilidade do míssil três para quedas assim, e ele precisa de um evento personalizado, podemos chamá-lo de recarga Árvore de mísseis, certo? E, novamente, aqui, queremos definir a visibilidade para dois após 2 segundos para a árvore de mísseis Conecte a árvore de mísseis aqui. Isso é bom. Agora, vamos fazer isso com o míssil quatro Controle C, Controle V para colar tudo e, em caso de quedas, nos conectamos a esse galho. Precisamos mudar a árvore de mísseis para o míssil quatro. Novamente, queremos fazer isso aqui também. Dizemos quatro, e míssil três, dois, míssil quatro aqui, evento personalizado, você quer alterá-lo para recarregar, míssil quatro, precisamos mudar esse míssil três, dois, míssil dois, míssil quatro aqui, evento personalizado, você quer alterá-lo para recarregar, míssil quatro, precisamos mudar esse míssil três, dois, míssil quatro. É isso mesmo. Agora, vamos testar isso. Se você atropelar o jogo, poderá ver o botão mais à esquerda e estamos disparando todos os mísseis Você pode ver que faz isso muito rápido. Depois de 2 segundos, todos eles vão atirar, certo? Então, agora, estamos fazendo a visibilidade de nossos mísseis corretamente, e estamos atirando neles um por um após o outro Mas o problema é que não estamos filmando nada. Estamos apenas mudando a visibilidade de uma machê esquelética. Agora, vamos ver como podemos criar um míssil real que podemos disparar para atirar em algo 44. 42 Plano do míssil: Até agora, o que fizemos foi fazer míssil desaparecer sempre que atingimos o fundo mais à esquerda, mas não há Não podemos bater em nada, certo? Então, esta é a hora de criar o míssil real. Para fazer isso, eu quero ir para a gaveta de conteúdo, ir para a pasta Blueprint no avião de combate e, aqui, clicar com o botão direito do mouse e criar uma classe de blueprint do tipo de ator Isso é mais do que suficiente. Eu quero chamá-lo de míssil BP. É isso mesmo. D clicará nele para abri-lo dentro desta planta. Primeiro, precisamos de uma malha esquelética. Então, vamos clicar no AD e adicionar uma malha esquelética. Eu quero colocar essa malha esquelética como raiz de cena padrão, para que tudo seja baseado nessa malha esquelética Agora, clique na malha esquelética e escolha o SK para esqueleto com míssil 26 Escolha isso. Agora, você pode ver isso aqui. É isso mesmo. Se você clicar em compilar, salvar e ir para o nível, podemos colocá-lo lá É aqui que o caça a jato surgirá e eu quero adicionar esse míssil aqui, certo? O que eu quero fazer é girar a 180 graus em torno do eixo Z, para que ele fique voltado para frente como nosso caça a jato, certo? Agora, se você atropelar o jogo, você pode ver que o míssil está lá Quero falar um pouco sobre isso para que não caia no chão, certo? Novamente, vamos atropelar o jogo e você pode ver há um míssil no céu Não está se movendo. Vamos ver como podemos fazer com que ele se mova. Se você for ao nosso míssil BP, podemos clicar em Adicionar e pesquisar o componente de movimento do projétil É como qualquer componente que usamos, como o movimento do personagem, componente de movimento do veículo e tudo mais. E isso nos dá muitas opções. Por exemplo, a velocidade do inicializador que eu quero colocar em 1.000, certo E a velocidade máxima, eu quero colocá-la em 2000. Você decide o que quer fazer. Podemos ver, podemos vê-lo porque está submerso. Por que está submerso? Porque a velocidade do nosso míssil não é muita Então, vamos adicionar zero para dois deles. Velocidade inicializada e velocidade máxima de 10.020 mil. Agora, vamos compilar , ir para um nível e executar. Novamente, podemos ver isso. A melhor maneira de ver esse tipo de coisa é sem adicionar gráficos, fumaça, certo? Mas, por enquanto, deixe-me mostrar outro caminho. Se você for até nossa planta, voltar para a parte de trás do nosso míssil e simular Não, você pode ver que está funcionando Novamente, podemos clicar em Simular e você pode ver que está funcionando Mas o problema está dentro do nosso nível, quando o executamos, podemos vê-lo. Está indo muito rápido, certo? Então, para você ver melhor, quero começar esta simulação e adicionar um efeito Niagara Então clique na malha esquelética em um componente do sistema Niágara do sistema de partículas do Niágara, e eu quero que seja como uma malha esquelética. Isso é importante. Depois disso, escolha NS west Missile 26, o Niagara Effic para este míssil. Clique nele. Agora, você pode ver que temos algum efeito. Mas o problema com isso é que está virado para o lado errado. Se você clicar em nosso sistema Nagar, podemos criá-lo como filho de um soquete, e há um soquete nessa malha esquelética que é chamado de soquete é chamado Se você escolher isso, não, você pode ver que está no lugar certo. Essa mese esquelética tem ossos, e há alvéolos onde podemos colocar alguma coisa lá Se tivéssemos que salvar a compilação e saber se rodamos o jogo aqui, não, você pode ver melhor A próxima coisa que eu quero fazer dentro desse movimento do projétil, existe a opção de rotação seguindo a velocidade Então, em algum momento, esse míssil pode virar e não sabe para onde ir, certo? Não sabe para onde deveria apontar. Com esta opção, a rotação segue a velocidade, garantimos que ela sempre valha a pena. Você não verá nada aqui, mas resolverá muitos problemas no futuro. Agora, com isso, temos um míssil para você ver melhor O que eu quero fazer é subir nível e girar um pouco, para que avance assim Agora, se você atropelar o jogo, não, você pode vê-lo melhor. Vai subir e depois disso, vai descer. É isso mesmo. Agora, a próxima coisa que você deseja adicionar é adicionar um pouco de som. Vamos ver como podemos fazer isso. 45. 43 Meta som do míssil: Não, pelo som. Queremos usar o metasundo porque ele nos dá muitas opções para realmente tocar o som certo na hora certa Então, para fazer isso, eu quero ir para a gaveta de conteúdo, e se você for para Fighter Jet Assets Sounds, você pode ver que há alguns sons aqui Nós usávamos motor a jato antes, mas eu quero usar esses dois sons. Em primeiro lugar, há uma árvore de MP de foguetes, essa. Se você jogar. Isso é para o início do som. E depois disso, o míssil está longe. Queremos jogar esse. Essa. Consegue ouvir isso? Então, no começo, jogamos isso e depois disso, jogamos esse. Para fazer isso, eu quero ir para a pasta Sounds no avião de combate, pasta Sounds, e clicar com o botão direito aqui, ir para o áudio e criar uma fonte de metasundo Eu quero chamá-lo de s para metasound Missile. Está bem? Vou clicar nele para abri-lo. E aqui, primeiro, eu quero criar um player de ondas. Desta vez, eu quero usar estéreo, certo? Você pode fazer isso. E saiba o que vai acontecer, isso nos dará uma carona e sairá Mas na saída, temos apenas Omano, certo? Como podemos mudar esse metassom de mono para estéreo, você pode simplesmente acessar o metassom aqui e alterar o saída de mono Agora temos a esquerda e a direita. OK. Então, em primeiro lugar, o que queremos jogar, queremos jogar o foguete MPT, este, certo Aquele que vai começar. É isso mesmo. Vamos clicar nele. Ele o reproduzirá para nós porque está conectado ao n play. Então não, só isso, se você conectar esses 20 à esquerda e à direita e tocarmos, verá que ele tocará o som para nós, e depois disso, ele terminará e tudo estará pronto, certo? Mas depois que este terminar, queremos tocar outro som. Mas como podemos jogar adicionar outro jogador de ondas, certo? Wave player do tipo de aparelho de som desta vez, quero escolher o motor do foguete. É isso mesmo. E o problema é que não podemos conectar esses dois juntos, certo? Precisamos misturar esses dois. Como podemos fazer isso, podemos usar um mixer. Vamos apenas pesquisar o mixer porque o tipo de áudio é mixar um estéreo, escolhemos um mixer estéreo É isso mesmo. Não, podemos conectar a saída da esquerda para a esquerda, da direita para a direita e misturar essas duas. Esse nodo fará isso por nós. Não, conectado assim. Não, se você correr, veja, os dois estão jogando. Você pode ver isso, é claro, aqui. Depois disso, isso estará lá. Mas o problema, novamente, é que os dois estão jogando juntos. Essa, queríamos esperar por um segundo. E depois disso, comece a jogar. Como podemos fazer isso, se você arrastar e soltar daqui e pesquisar por atraso, há uma nota trigonométrica de atraso que podemos usar Depois de 1 segundo, queríamos jogar esse, certo? Então, agora, vamos jogar. Se clicarmos em play, o primeiro, este será jogado. Após 1 segundo, este será jogado. Você pode simplesmente olhar essas linhas para entender qual delas está tocando primeiro. Cabeça, corra, primeiro, e depois disso, este será jogado. Novamente, mostramos essas linhas para você também. Depois de 1 segundo, um. Vê isso? Então, agora, temos um meta-som que podemos usar. E outra coisa que eu quero fazer desta vez, a partida do motor, eu não quero que ele fique ligado. Eu quero que seja jogado apenas uma vez. Mas este eu quero que seja jogado continuamente até que o foguete alcance alguma coisa Então, colocamos isso em loop assim apenas verificando isso. Não, com isso feito, podemos adicioná-lo ao míssil. Para fazer isso, eu quero ir até o BP Missile, e aqui, clicar na malha esquelética em um áudio Temos áudio aqui que, como escolhemos o míssil MS aqui, ele o escolherá automaticamente lá Mas se você desmarcar e clicar em, temos apenas áudio Clique no áudio para adicionar o áudio e, aqui, podemos escolher o som. O som que usamos é o MS Missile, o meta-som que criamos juntos Agora, se você clicar em compilar, salvar passar de nível e executar, veja como é lindo Mas você ouvirá um problema. Se você correr novamente e ver que ele pode atirar e sumirá. Mas o volume do som não está diminuindo em nada. É como se estivesse perto de nós, certo? É por isso que queremos usar a atenuação para o excesso de som. Vamos ver como podemos fazer isso a seguir. 46. 44 Atenuação do som do míssil: No momento, o problema com nosso som é que, quando eles o tocam, se ele se afasta de nós, novamente, não conseguimos ouvi-lo É como se estivesse perto de nós. É por isso que precisamos criar uma atenuação. Eu quero ir para a gaveta de conteúdo na pasta de sons na pasta Fighter Com o botão direito, vá para áudio e aqui, crie uma atenuação sonora Quero chamá-lo de SA para atenuação de som e quero chamá-lo Vou clicar nele para abri-lo. E aqui, há algumas opções que eles querem mudar. Por exemplo, em um raio, o que isso significa? Se você passar o mouse sobre ele, será o raio que define quando a atenuação do som começa Então, agora, por quatro metros, podemos ouvi-lo completamente, certo? E depois disso, começará a decair. O volume diminuirá, certo? Novamente, há uma queda de distância, a distância na qual ocorre a atenuação do volume, certo Então, não apenas com esses valores padrão, vamos colocá-los lá. Se você for para o nosso míssil BP, vá para o áudio, se você cair, temos uma configuração de atenuação que podemos colocá-lo lá Não, você pode ver que há um círculo interno que você pode ver aqui Se você estiver dentro desse círculo interno, podemos ouvi-lo completamente. Mas depois disso, ele começará a diminuir seu volume. Agora, vamos dar uma olhada no jogo para testá-lo. É isso mesmo. Não conseguimos ouvir nada disso. Por quê? Porque onde o som é atenuado, a esfera é muito pequena. Então, vamos aumentar isso para 10.000, por exemplo, para este, e 80.000 para este, certo? Assim, podemos ouvi-lo completamente. Se voltarmos para o BP Missile, não, você pode ver quando estamos perto dele, podemos ouvi-lo e, mais longe de nós, não podemos mais ouvir Então, sem pista. Não, você pode ver que o som está diminuindo e diminuindo. E não está destruído. Está indo para frente e para frente. Você pode ver, não, você não consegue ouvir nada. Você pode ouvir o motor a jato, mas não consegue ouvir os mísseis novamente. Deixe-me executá-lo novamente. No começo, podemos ouvir, mas depois de algum tempo, não conseguimos mais ouvir. Isso era para atenuação de som que precisávamos para um 47. 45 Explosão de míssil: Não, ou o míssil pode avançar, mas não pode atingir nada Então, vamos correr. Você pode ver que está subindo e caindo no chão, mas não foi destruído nem atingiu nada, Então, para fazer isso, eu quero ir ao BP Mest. A primeira coisa que quero fazer aqui é clicar na malha esquelética e ir para colisão Deixe-me encontrar a colisão. Depois do equipamento de física e animação, queremos entrar em colisão E aqui, neste momento, não há colisão. Queremos mudar isso para que colida com algo com o solo, por exemplo A única coisa com a qual eu não quero que isso colida é com o peão Então eu vou dizer, ignore apenas o peão. Então escolha Ignorar somente o pwd. Agora, se você atropelar um jogo, ele está crescendo e ele cairá no chão e você pode ver que ele permanecerá lá. Podemos ir para So leave. Desça, desça. Não, você pode ver isso. Vai parar por aí, certo? Então, quando colide com alguma coisa, ela para, mas isso não é suficiente para nós Queremos ter alguma explosão. Para fazer isso, acesse o gráfico de eventos e, aqui, temos algumas coisas que podemos fazer. Nesse movimento de projétil, há um evento chamado Unprojectile Quando atinge alguma coisa, ela para. Então clique em Unprojectile Stop plus aqui, para que ele crie isso para nós Vamos testá-lo com o anel de teste de impressão. E é isso. Diga olá, certo? Se deveria, você pode ver quando atinge o chão, diz: Olá. Eu não quero dizer olá, o que eu quero fazer. Eu quero uma explosão de spa. Que explosão? Deixe-me ir para a gaveta de conteúdo em VFX, vá para prefabs. E aqui, temos um sistema augúrio que é apenas uma explosão Deixe-o compilar e ele mostrará para você. Você pode ver que essa é a explosão que queremos usar, certo? Então, vamos ver como podemos usá-lo. Feche isso. Você não precisa disso. Podemos simplesmente ir até ou BP Missa parar um projétil aqui. Podemos dizer sistema de desova no local, certo? Então, esse sistema de desova no local, podemos dizer a ele para gerar a explosão de poeira, certo Não tínhamos nenhum gráfico, certo? Só com aquela compilação viciosa. Agora, se você correr até lá, você pode ver, quando atinge o solo, se você adiciona explosão, mas está acontecendo na parte inferior do nosso avião de combate, e isso não é bom. Como podemos mudar a localização. Temos uma localização aqui. Lá, podemos dizer: obtenha a localização do ator, então obtenha a localização do míssil quando ele parar Então, vamos fazer isso. Obtenha a localização do ator. É isso mesmo. Não, vamos testar isso ou dar uma dica de que funciona, espere, e há uma explosão lá. Legal, certo? Mas eu não quero fazer isso assim. resultado do impacto é que podemos quebrá-lo e usar seu material. Por exemplo, o ponto de impacto. Então, vamos escolher o ponto de impacto para nossa localização. E é isso. Se você atropelar um jogo, você vê quando ele cai no chão, temos uma explosão e você pode ver bem, certo? Mas outro problema que temos é que ele não está destruindo depois disso Então, precisamos adicionar um nó de destruição aqui. Destrua o ator. Não, vamos apenas compilar e executar o jogo. Vou atirar, criar uma explosão e, depois disso, ela será destruída. A próxima coisa que você quer fazer é tocar um som de explosão. Então, vamos ver como podemos fazer isso. Para fazer isso, antes de destruir esse ator, eu quero dizer que amplie o som no local, certo? Temos a localização aqui. Podemos simplesmente conectá-lo assim ao local, e o som que eu quero usar é chamado ES Generate Explosion. Isso é bom. Gere explosão, certo? Vamos apenas compilar e executar. Então você pode ver se você avança e ela atinge o chão e agora você pode ver que também há um som de explosão. Vamos testar esse tempo. Y, e quando atinge o chão, há um som de explosão. Isso é bom. Portanto, nenhum míssil excessivo pode ser disparado e pode explodir quando atinge alguma coisa Agora, vamos ver como podemos realmente usá-lo. 48. 46 Atire mísseis: Não, por usá-lo. Na verdade, é fácil. Vamos ao nosso BPF 18 quando lançarmos o primeiro míssil Por exemplo, míssil um. Vamos apenas ir até aqui. Quando ajustamos a visibilidade do nosso míssil para cair antes de recarregá-lo, antes realmente iniciar o cronômetro para recarregá-lo, eu quero gerar Podemos simplesmente dizer que geram um ator de uma turma. Você sabe que o míssil ou BP é apenas um ator, certo? Para que possamos gerá-lo. Portanto, a classe que você deseja gerar é chamada de míssil BP. É isso mesmo. Ela precisa de uma transformação. Então, como podemos obter a transformação. Podemos pegar nosso míssil e tirar dele a palavra transformar , certo? Porque estamos lançando o míssil 1 aqui, o míssil É por isso que pegamos a palavra transformação do míssil um e dizemos para ela gerá-la a partir daí Não, é expandir isso, existem algumas opções. Por exemplo, anulação do tratamento de colisões . Eu quero clicar aqui. Quero mudar isso para tentar ajustar a localização, mas sempre o intervalo. Então, sempre que pressionarmos o botão mais à esquerda, ele sempre será disparado E isso é tudo o que precisamos fazer. Agora, com isso, vamos compilar, salvar e ir para o nosso nível e excluir esse míssil porque queremos fazer isso automaticamente Agora, se você atropelar o jogo, você pode ver o míssil Se eu apertar o botão mais à esquerda, você pode ver que não, ele está funcionando e está recarregando também Novamente, vamos filmar. Legal. Vamos apenas para o céu. Atire. E então você pode ver o míssil, eu vou cair no chão Vamos fechar as marchas e voltar e atirar ou lançar um míssil Veja, ele deve ser destruído. Novamente, nesta propriedade, podemos subir e disparar um míssil E vamos testá-lo mais uma vez. Atire bem, certo? O avião não está destruído porque ainda não terminamos com ele, certo? Dois n e está funcionando bem. Não, é hora de adicionar esse míssil a outros mísseis também. Temos mísseis dois, três, quatro e tudo isso, certo? Devemos fazer isso por todos eles. Precisamos de um pouco de espaço. Então, vamos pegar tudo isso e criar algum espaço aqui. Isso é para o míssil 4. Isso é para o míssil três. Claro, eu disse que você poderia usar uma matriz aqui, mas como temos apenas quatro mísseis, eu não queria complicar as coisas É por isso que estou usando isso, certo? Então isso é bom. Agora, vamos copiar isso e colar em todos os lugares, certo? Precisamos de um pouco de espaço aqui, cole para este, como este. E a única coisa que precisamos mudar é essa palavra ser transformada de míssil dois porque isso é para o míssil Vamos fazer isso por este. Novamente, controle V para colá-lo aqui e conectar o pino de execução, conectar o pino de execução aqui e o míssil três, certo? Então conecte o míssil três aqui. É isso mesmo. Novamente, crie algum espaço aqui, controle V para colá-lo aqui. E conecte o pino de execução aqui e aqui, e este é para o míssil quatro. Agora, vamos testar isso. Se você estiver ligado, estamos prontos. Botão mais à esquerda, botão mais à esquerda, botão, botão esquerdo do mouse. Você pode ver que ele também será recarregado. Devemos seguir em frente um pouco. Vá para o local. Agora podemos disparar todos os nossos mísseis. 49. 47 Kill camera: Agora, quero tornar nosso jogo um pouco mais interessante adicionando uma câmera como câmera mortal ao nosso míssil Vamos ver como podemos fazer isso. Para fazer isso dentro do nosso míssil, quero clicar na malha esquelética e adicionar o braço de mola, como fizemos com nosso caça Depois disso, clique em um braço de mola, adicione a câmera a ele, certo? Procure a câmera e adicione a câmera lá. Agora, você pode ver a câmera onde ela está. Quero posicioná-lo em algum lugar para que possamos vê-lo melhor. Para fazer isso, quero clicar em ou em um braço de mola. Eu quero mudar o comprimento do braço alvo para 850 assim. Então, podemos ver a câmera, na verdade. Depois disso, quero adicionar algum deslocamento, por exemplo, deslocamento ao X positivo, 230 Ok. E para o Y 150, eu detesto todas essas coisas, então você pode ver melhor Então, ficará muito melhor, mas você pode colocar a câmera onde quiser. Você pode colocá-lo aqui. Você pode colocá-lo de volta onde quiser, você pode colocá-lo lá, certo? Basta testar com ele. Agora, temos uma câmera interna ou um míssil. Vamos apenas compilar, salvar. Eu quero colocá-lo aqui. Não, eu quero ir para o BPF 18. Há um nó para alternar entre a câmera. Por padrão, a câmera que nosso jogo está usando é essa câmera interna ou BPF 18 Podemos mudar isso, certo? Então, aqui, criamos nosso míssil e há uma câmera dentro ou míssil em uma janela de visualização dessa Como podemos fazer isso. Há um nó chamado set view Target. E com a pesquisa sem que nada apareça, você deve desativar esse contexto sensível. E não, se você cair, temos uma meta de visualização definida com o blend, certo? Esse é o nó que queremos. Deixe-me criar mais espaço aqui. Isso é para o Míssil 4. Então, farei isso para outros também. Primeiro, ele precisa do controlador. O alvo deve ser o controlador do jogador. Se você tiver revelado, ele lhe dirá. Então, com isso, podemos dizer: pegue o controle do player, certo? É isso mesmo. E o novo alvo de visão, podemos simplesmente ultrapassar o míssil BP que geramos aqui, ok Nós o geramos aqui, Míssil 4. E precisamos adicionar um tempo de mesclagem, para que ele passe sem problemas para a nova câmera Por exemplo, eu quero colocá-lo em dois. Existem algumas funções de mistura. O que eu quero usar, eu quero usar está dentro para fora, certo? Você também pode tentar outras coisas. O expoente de mesclagem, se você passar o mouse sobre ele, indica o uso de determinada função de mesclagem para controlar a forma da curva Então, por exemplo, isso é entrada e saída precisa desse expoente de mistura. Eu quero colocar cinco lá, mas, novamente, você pode tentar outras coisas também. Saiba o que acontecerá se você compilar, salvar e executar um jogo para testar isso Vamos para o céu para que você possa ver melhor. O primeiro, se você filmar, acontece, mas o 41, no meio da distância, você pode ver que a câmera está mudando para aquele míssil Agora, vamos testá-lo mais uma vez aqui. Eu quero ir para o céu. Eu quero seguir em frente e voltar. Então, o que eu quero fazer é diminuir o acelerador Não, eu quero apertar o botão quatro de movimentos para a esquerda. Você pode ver por dentro temos a câmera, você pode ver como está. Vamos ver até você conseguir alguma coisa, e é linda. E está destruído, você pode vê-lo lá embaixo, certo? Então, temos uma câmera interna ou uma bagunça da BP que podemos mudar para ela, certo Devemos fazer isso para os outros também. Podemos simplesmente controlar C para copiá-lo e controlar nós para colá-lo aqui, certo, assim. E assim, queremos fazer isso para este também. Novamente, controle V para colá-lo aqui, conecte o pino de execução. Certifique-se de conectar o valor de retorno desse míssil spawn, actor BP, ao novo alvo de visualização, e devemos fazer isso com este Temos apenas mais um para adicionar aqui. Controle V para colá-lo aqui. Agora, precisamos conectar isso. Eu preciso do pino de execução aqui e aqui. Agora, se você executar novamente, podemos testá-lo melhor agora. Então, daqui para frente, você vê que parece útil e também explodiu Vamos filmar dessa maneira. Atire. Você vê? O avião está subindo, você pode e você pode ver que ele vai subir. Tem um arco. Depois disso, você começa a descer. Eu vejo se caiu no chão ou não. Então é isso, temos uma câmera que torna nosso jogo muito mais bonito. 50. 48 Rotação do míssil: Nenhum tamanho maior do que eu parece bom, mas eu quero melhorá-lo. H, eu quero que ele gire quando estiver se movendo, certo? Vamos ver como podemos fazer isso. Para fazer isso, você sabe, eu quero girá-lo em torno do eixo X. Você pode ver nessa direção, eu quero que ele gire assim Então parece mais um míssil real, certo? Para fazer isso, há muitas maneiras de fazer isso, mas eu quero fazer isso com um plano de animação Como esse míssil é apenas mais uma malha esquelética, podemos animá-lo, certo Então, se você clicar em uma imagem esquelética, podemos decidir a classe anim para Então, vamos criar um plano de animação para nosso míssil Então, vamos entrar aqui no avião de combate Blueprint, clicar com o botão direito aqui, ir para a animação e criar o plano de animação Ele dirá para qual esqueleto você deseja criar um plano de animação, queremos fazer isso para mais de um míssil, selecioná-lo, criar a cabeça e eu quero chamá-lo criar a cabeça e eu quero chamá-lo Ok. Não clique nele para abri-lo a primeira coisa que você quer fazer aqui. Queremos pesquisar o espaço da malha, f pose, para que ele nos forneça todas as informações sobre os ossos. Depois disso, eu quero usar o Modify Bone, certo. E depois disso, podemos simplesmente conectá-lo ao OTWoodPose. Com esse osso modificado, queremos girar sobre Missi Já fizemos isso antes, certo? Então, primeiro, precisamos escolher o osso a ser modificado. Clique aqui. O osso que eu quero modificar é chamado de esqueleto GRP, grupo esquelético, certo? Então selecionado. E a próxima coisa, não queremos mudar a tradução. Então, vou clicar aqui. Não o exponha como alfinete, certo. Também queremos fazer isso para a escala. Não queremos alterar a escala, então não a exponha como alfinete Mas para a rotação, queríamos adicioná-la à existência, e pronto. Agora podemos modificar o osso. Clique com o botão direito aqui, divida um pino de traçado, para que possamos mudar a função. Por exemplo, se eu tivesse compilado e colocado dez aqui no início da compilação, você pode ver que ele girou você pode ver que ele girou Se eu colocar 20 aqui e começar a compilar, novamente, você pode ver que está girando corretamente, então se você colocar 360, ele girará um completamente, certo ele girará um completamente É isso mesmo. Eu quero colocar zero aqui. Eu quero fazer isso com uma variável. Então, aqui, vamos criar uma variável. Eu quero chamar isso de rotação. É isso mesmo. E do tipo, eu quero que seja um carro alegórico, e eu quero trazê-lo aqui E com isso, vamos conectá-lo aos ovos de rotação, certo, compilar a cabeça e, com isso, vamos testar o sapo, certo Se aumentarmos, você pode ver que está girando com essa variável, mas eu não quero mudar muito essa variável para ver o efeito aqui É por isso que eu quero multiplicar isso por algum valor, por exemplo, 1.000, certo, e conectá-lo aqui Por que estou fazendo isso porque essa variável flutuante tem uma limitação Queremos poder alterar um pouco esse valor e ver muitos efeitos na rotação. Então, por exemplo, se eu colocar 0,1 aqui e começar a compilar, você pode ver que ele está se movendo apenas mudando para 0,1 Depois desse 0,2, algo acontecerá. Você pode ver que não precisa mudar muito para ver o efeito, certo? Mas se você conectá-lo diretamente à rotação, o que acontecerá, você precisará alterar muito essa variável de rotação para poder ver a rotação, certo? Dito isso, saiba onde queremos mudar essa rotação. Queremos trocá-lo por dentro do míssil BP. Mas antes de fazer isso, precisamos clicar em nossa malha esquelética e colocar nossa classe anim que criamos aqui, um míssil BP. Então coloque isso aí. Agora eu quero ir para o gráfico de eventos, e no evento Tov aqui, quero criar uma variável E eu posso chamar isso de rotação, certo? E do tipo, como você sabe, eu quero que seja um carro alegórico. E aqui, queremos mudar isso. Então, o que eu quero fazer, eu quero obter essa rotação, adicionar a ela por segundo Delta, será um valor pequeno, certo, e salvá-lo dentro da rotação novamente. Portanto, defina a rotação com esse novo valor. Então, a cada quadro, essa variável de rotação será aumentada um pouco em milissegundos, certo? Então, vamos compilar, salvar e acessar nosso míssil ABP. E no gráfico de eventos aqui, queremos obter esse valor. Então, primeiro e primeiro, quero criar uma jogada inicial aqui, começar a jogar, um plano de evento começar a jogar E com isso, queremos lançar isso para o BP Missile, mas ele não consegue encontrá-lo Por quê? Porque este não funciona com aulas de atores porque BP Missile é só um Não é um peão, certo? É por isso que esse nó não funcionará, mas existe um nó para esse ator dono de criança Sabemos que o proprietário desse projeto de animação é o BP Nós o usamos no BP Missile aqui, e o tipo dele é ator É por isso que precisamos usar get on in actor e, com isso, podemos lançar isso para a BP Missile É isso aí, que está conectado ao pino de execução. Podemos clicar com o botão direito do mouse nessa, promovida a uma variável, e pronto. Podemos chamá-lo de algo melhor. Por exemplo, apenas o BP Missile. Isso é não, podemos obter os valores desse míssil BP em nossa animação de atualização, certo Então, aqui, podemos obter a rotação, obter a rotação. E, novamente, podemos definir a rotação que está aqui com o valor que obtemos do nosso míssil BP desta forma, em cada quadro É isso mesmo. Não, vamos testar se atropelamos o jogo. Não, vamos subir. Para que você possa ver melhor. Se eu apertar o botão mais à esquerda, não. Veja, está girando e está lindo, certo? Olha isso. Isso está lindo. Mas um problema que temos aqui é que, se eu apertar o botão mais à esquerda, a câmera vai para o lado esquerdo e fica lá, o que não parece Ele estará lá continuamente. Então, precisamos encontrar uma maneira de cancelar o carregamento dessa troca de câmera, certo? Mas veja, podemos fazer isso a seguir. 51. 49 Cancelamento da câmera de faixa: Um problema que tivemos foi esse. Sempre que trocamos a câmera, ela fica no míssil até atingir alguma coisa Mas e se nosso míssil não atingir nada? O que deveria acontecer? Precisamos encontrar uma maneira de fazer esse tipo de coisa para trocar manualmente a câmera de volta para um avião de combate. Como podemos fazer isso. Você pode encontrar seu próprio caminho, mas o que eu quero fazer. Quero dizer que, se o jogador segurar o botão mais à esquerda, basta trocar a câmera e rastrear o míssil Mas se eles soltarem o botão mais à esquerda, volte para a câmera padrão que está em nosso caça Então, como podemos fazer isso quando estamos disparando mísseis com o IIFre e começamos e concluímos Sempre que soltarmos o botão mais à esquerda, essa conclusão acontecerá e, com isso, podemos mudar o alvo de visualização, certo Como estamos trocando a câmera, estamos mudando assim com essas duas notas, vamos apenas usar o controle, veja o controle, para colá-la aqui. Com o objetivo de visualização definido, misturamos sempre que soltamos o botão mais à esquerda, e eu não quero misturá-lo Eu quero simplesmente colocá-lo em zero, para que isso aconteça instantaneamente, certo? E, novamente, essa função de mesclagem não acontecerá porque o tempo de mesclagem é zero. É isso mesmo. Mas qual é a nova meta de visualização? Queremos que seja sobre um avião de combate, para que possamos simplesmente usar o ego, criar uma referência para nós mesmos. É isso mesmo. Agora, vamos compilar, salvar e executar Eu vou em frente, vou para o céu. E se eu apertar o botão esquerdo do mouse em nosso teclado e segurá-lo, você pode ver que está indo para aquela câmera. Mas se você soltar o botão esquerdo do mouse, você pode voltar para o nosso lutador. Novamente, se eu apertar o botão esquerdo do mouse apenas uma vez, você pode ver que está funcionando, mas não vamos mais até aquele míssil, certo? Então, volte. Mais uma vez, quero testar isso mais uma vez. Atire. Eu não aguentei, mas desta vez vamos segurar para ver o que vai acontecer. Você pode ver, eu o segurei, e depois de soltá-lo, tudo está funcionando bem. Novamente, se eu o segurar aqui, até que eu o segure, você pode ver que tudo deve funcionar bem. E depois de cair no chão, se você trocar a câmera automaticamente, tudo ficará bem Deve ir para o próximo tópico. 52. 50 Curso-alvo: Não, nossos mísseis funcionam bem e têm boa aparência, mas queremos ser capazes de atingir um alvo Se nosso míssil simplesmente avançar, não parece bom. Ele precisa ir até o alvo. Ele precisa travar um alvo e atingi-lo como qualquer caça a jato. Vamos ver como podemos fazer isso. Para fazer isso, primeiro de tudo, eu quero criar um alvo. Então, eu quero clicar com o botão direito aqui e na pasta Fighter Jet Blueprint, criar uma classe de blueprint do tipo de ator, e eu quero chamá-la Alvo. Não precisa ser só isso. O importante sobre essa meta de PP é que, se você for para a classe padrão, poderá descer com antecedência. Nas tags, podemos adicionar uma tag aqui e chamá-la de target. Então, qualquer que seja o modelo que você tenha, se você for para a classe padrão e adicionar uma tag chamada target, podemos direcioná-la no futuro, certo? Então é isso. Agora, o que queremos que seja. Vamos usar um Mish estático, por exemplo, quero colocá-lo como raiz syn padrão E aqui, vamos escolher uma máquina estática. No momento, não há nenhuma máquina estática aqui. Podemos simplesmente clicar aqui e pedir que ele mostre o conteúdo do motor também, para que possamos escolher algo aqui, certo? Então, deixe-me descer. Eu quero procurar um cubo. Também está no motor. Então escolha um cubo e você poderá vê-lo aqui. Você pode colocar o que quiser aqui. O importante com isso é que você vá para a classe padrão e antes dessa categoria de ator, vá para as tags, adicione a tag e a chame de target. Com isso, temos como alvo as coisas, certo. Então, não com isso, eu quero ir para o gráfico de eventos. Eu quero que essa imagem estática seja atingível. É por isso que eu quero entrar em colisão e quero dizer a ela para simular a geração do evento de impacto, certo Basta verificar isso e pedir para bloquear todas as dinâmicas. Por padrão, é isso, certo? Então, podemos acertá-lo e ele gerará um evento de sucesso, certo? Depois disso, basta descer e temos o componente atingido. Se algo atingir essa malha estática, queremos que ela a destrua, certo? Por exemplo, se o míssil atingir essa malha estática, queremos destruir essa classe completamente Com isso, tudo está feito. A meta da BP é mais do que suficiente. Vamos até o Viewport. E aqui, vamos colocar um deles aqui, por exemplo. Acesse aqui BP Target. Queremos colocá-lo aqui. Vamos falar sobre isso. Claro que, de longe, podemos ver isso, mas tudo bem. Agora temos um alvo que podemos bloqueá-lo. A seguir, vamos ver como podemos realmente logar em um alvo. 53. 51 míssil de orientação: Não, temos um alvo. Vamos ver como podemos usar nosso míssil para atirar nele, certo? Uma maneira é alinhar o tiro e disparar o míssil. Mas o míssil real em qualquer caça a jato, não é assim Ele rastreará o alvo, fixará nele e o atingirá, certo? Isso é o que queremos fazer. E dentro do nosso míssil BP, temos essa opção. Se você clicar no movimento do projétil, existe uma opção chamada Projétil Homing, categoria de localização que podemos usar para dizer qual alvo rastrear, bloquear e perseguir Então habilite isso, e há uma magnitude de aceleração direcionada que, se você aumentar isso para um valor maior, significa que nosso míssil pode manobrar muito para Então você não quer aumentar muito isso. Mas você deve testar com ele. Eu quero testá-lo com 100.000, certo? E vamos apenas compilar. Não, esse míssil teleguiado precisa de um alvo para atirar, e como podemos definir isso, se colocarmos o componente de movimento do projétil aqui, há uma casa no há uma casa Se procurarmos um míssil teleguiado, podemos definir o componente alvo de localização Podemos dizer qual é o seu alvo com esse nodo que está dentro ou com o movimento do projétil, certo? Mas o que é isso? Se você passar o mouse sobre ele, é um componente SN, certo? Portanto, precisamos colocar um componente SN como alvo. Eu também preciso de execução e alfinete. Como podemos fazer isso, posso simplesmente criar uma variável e quero chamá-la de target. Ok. E o tipo disso, eu quero que seja ator. Então pesquise por ator, escolha um ator aqui, referência de objeto. E o que eu quero fazer é que seja editável por instância e exposto em um intervalo para que possamos configurá-lo em qualquer lugar, certo Agora, com essa variável-alvo que podemos definir posteriormente, não se preocupe com isso. Mas, por não, acertamos o alvo. E como eles precisam de um componente de cena, podemos dizer isso, obter o componente de cena. Recebemos componente por classe. E a classe componente, como você pode adivinhar, é um componente de cena. Então me dê esse alvo como um componente de cena, para que eu possa usá-lo com mísseis teleguiados Então é isso, se você clicar em compilar, salvar. E não, vamos para o nível e temos um alvo lá. Vamos até a gaveta de conteúdo. Agora, vamos até os jogadores que começam aqui, vão aqui, porque queremos ver, não sei onde está o alvo da BP Vamos dar uma olhada nisso. Não, está aqui. Você pode ver que o avião estará aqui e o alvo estará lá. Agora, vamos adicionar nosso míssil novamente, assim. Queremos girar a 180 graus, então vamos fazer isso e aumentar um pouco Não, se você executar nosso jogo, vá em frente. Você pode ver que nada aconteceu e isso nos dará alguns erros, certo? Portanto, não se preocupe com os erros. Nós vamos consertar isso. Mas não, ao selecionar nosso míssil, há uma variável alvo Essa variável alvo é exatamente essa variável-alvo que temos aqui, e nós a usamos para nosso componente de alvo teleguiado, míssil teleguiado, Então, ele sabe para onde mirar, certo? Então, como clicamos no alvo, dizemos que ele é insensível e o expomos em uma extensão, é por isso que temos acesso a Não, vamos escolher o BP Target como alvo. Então, aqui, vamos colocar o alvo da BP aqui, não, ele tem um alvo Vamos apenas atropelar o jogo. Então você pode ver que foi assim até atingir o alvo, a meta de BP que colocamos lá Você pode ver que isso nos dá alguns erros porque o míssil é destruído, o alvo é destruído quando o atingimos, certo? É por isso que isso nos dá alguns erros. E para corrigi-los, sempre que você obtiver algo de outro modelo ou fora de um plano, você precisa verificar se é válido ou Por exemplo, essa variável alvo, estamos definindo-a fora do esquema aqui, certo? Então, por segurança, verificamos se é válido. Então, verificamos se é válido, é válido, certo? Se for válido, podemos defini-lo como alvo, certo? É isso mesmo. E queremos fazer o mesmo dentro do míssil ABP. Quando conseguirmos a rotação, certo, primeiro, queremos verificar se esse míssil BP é válido, ok Porque você está obtendo isso fora deste plano. Portanto, precisamos verificar se é válido. E isso corrigirá todos os erros e bugs. Não, vamos correr novamente. Ele está indo embora e atingirá o alvo. E se você fechar o jogo, não haverá mais erros. 54. 52 Sistema de alvo: Não, para um sistema de mira, o que eu quero fazer é usar uma colisão de caixas Então, com essa colisão de caixa, eu quero ver o que está na frente de um avião de combate para fazer isso Vamos clicar em ou mesclar, adicionar e pesquisar a caixa, a colisão de E se você for ao Viewport, poderá vê-lo. É pequeno aqui embaixo. Eu quero trocar a caixa e estender para 50.000 por 50.000 por 50.000 , certo É isso mesmo. E eu também quero trazê-lo em sua direção em 50.000, assim Então, ele verá tudo o que esse avião de combate vê à sua frente. E você pode dizer que não está visível. É isso mesmo. Sabemos que está lá porque é uma caixa muito grande. Quero torná-lo invisível, não visível, para que seja mais fácil trabalhar com ele. Não, com isso, eu quero ir para o gráfico de eventos, clicar na caixa e descer aqui até chegarmos ao componente começar a se sobrepor aqui, o que você quer fazer? Deixe-me trazê-lo até aqui. Queremos verificar se o outro ator tem uma etiqueta que diz: Alvo, é um alvo, você pode entrar nela, certo? Então, vamos ver. Podemos arrastar e desenhar a partir desse outro ator que começa a se sobrepor a essa colisão de caixas E podemos dizer se o ator tem etiqueta de alvo. Então coloque o alvo aqui, pode verificar com o galho com o galho. E se for verdade, significa que é um alvo válido e podemos salvá-lo em algum lugar, certo? Então, podemos clicar com o botão direito nessa e promovê-la para uma variável, certo? O tipo é ator e eu quero chamá-lo de alvo. Alvo que este avião tem. E queremos salvá-lo caso esse ator, esse outro ator tenha a etiqueta de alvo. É isso mesmo. Saiba com isso feito, como podemos dizer ao míssil que estamos atirando que esse é o seu alvo Como podemos fazer isso, subimos, por exemplo, o míssil 1 Deixe-me trazer tudo isso para a direita assim. E aqui, não, se você for gerar o míssil Actor BP, você pode ver que há uma nova entrada chamada alvo Essa entrada de alvo é exatamente esse alvo valioso que criamos aqui em nosso míssil, certo? Ele mostrou isso para nós aqui, certo? Então, podemos defini-lo com essa meta, certo? Queremos fazer isso para os outros também. Todos eles têm isso. Então, conecte o alvo a esse alvo, e queremos fazer isso com o míssil T também Alvo, conectado ao alvo. Então, passamos o alvo que encontramos com colisão da caixa de ar para o míssil BP Então, o míssil da BP sabe qual é o alvo, certo? Então, vamos passar isso para todos eles. Agora, se tivéssemos que compilar, salvar e executar o jogo, haveria um alvo lá Eu deveria, se você apertar o botão mais à esquerda, você pode ver? Não, está indo para lá e vai destruí-lo. Depois disso, não temos nenhum alvo, então ele pode seguir em frente, certo? Mas agora, se você jogar nosso jogo, você pode ver que não há nenhum indicador que haja um alvo lá, certo? Mas se você apertar o botão mais à esquerda , ele vai para esse alvo. Isso é bom. Mas precisamos de um indicador e queremos usar uma interface de usuário para isso. Vamos ver como podemos criar uma interface de usuário de indicador de destino. 55. 53 UI do sistema de alvo: Não, estamos mirando em um alvo, rastreando um alvo e atingindo um alvo, mas não há interface de usuário para indicar o que estamos alvejando Então, para fazer isso, o que eu quero fazer é ir para a gaveta de conteúdo, ir para a Widgets dentro da pasta do caça a jato, clicar com o botão direito do mouse, acessar a interface do usuário aqui e criar um esquema de widget E eu quero criar um tipo de widget de usuário, imediatamente chamado de WBP Ou como você quiser chamá-lo. Vou clicar nele para abri-lo. Aqui, a única coisa que eu quero adicionar é apenas uma borda. Então, dragão, coloque uma borda aqui e você poderá vê-la. Em primeiro lugar, o alinhamento, quero que fique no meio assim Para que você veja melhor, não quero que ela preencha a tela. É só para mostrar. Eu quero colocar isso em desejo. Você pode ver isso. Agora é pequeno assim. Vamos alterá-lo em nosso plano mais tarde. Em seguida, não quero que seja imagem. Eu quero que seja apenas em uma fronteira, certo? Apenas uma borda. Quero que a margem para todas as direções seja uma como esta. Basta colocar um lá. Direita, esquerda, inferior, todas elas, queremos que seja uma. Ele deve colocar automaticamente todos eles em um quando colocamos um aqui, mas vá lá e faça isso. Na cor do pincel, quero colocá-lo em verde, como As combat. É verde, certo? Coloque-o em verde. E isso é tudo o que precisamos fazer por aqui. Agora, vamos ver como podemos usá-lo. Se você for para o BPF 18, clique na malha em um Widget Blueprint clique na malha em um Widget Blueprint, certo? Pesquise por Widget É isso mesmo. O widget que queremos usar GetClass, queremos configurá-lo como E o espaço que eu quero que seja uma tela. Portanto, sempre estará na tela, não atrás de algumas paredes ou qualquer outra coisa. E não, o tamanho dele, eu quero que seja 100 por 100. É aqui que decidimos o tamanho dessa borda. Agora, com esse widget lá, se você atropelar o jogo, você pode ver que há uma caixa verde lá Você pode ver isso? Não, queremos mudar a posição dessa caixa verde ou quadrado verde para o alvo. Vamos ver como podemos fazer isso. Para fazer isso, eu quero encontrar o eventiq onde ele está aqui, certo? E o que eu quero fazer porque preciso de muito espaço com esse evento, eu quero colocá-lo aqui E depois disso, eu quero criar um nó de sequência, então eu tenho vários pinos de execução na execução zero, o que eu quero fazer é verificar se esse alvo que encontramos era válido, então verificamos o que é válido. Se fosse válido, precisaria de um pino de execução. Então, vamos colocá-lo lá. Queremos obter esse widget assim e ativar a palavra localização Ele definiu a localização da palavra. Para a localização desse alvo. Então, novamente, vamos pegar o alvo e obter a localização do ator e conectá-lo a esse local, certo? É isso mesmo. Agora, se compilarmos, salvarmos e executarmos o jogo, não, você poderá vê-lo A posição do nosso widget é desviar o alvo. Vamos começar, certo? Vê? Não, você verá um problema. Quando é destruído, novamente, a posição não muda. Está mudando com o jato de combate, mas não deveria ser assim. Deixe-me testá-lo mais uma vez. Neste momento, o que quer que mudemos nosso avião de combate, movamos ou qualquer outra coisa, a posição será a mesma. E se você atirar nele, quando for destruído, se você ficar lá, verá que não parece bom. Então, o que queremos fazer verificar se o alvo não é mais válido, queremos definir que a visibilidade desse widget diminua. Ou podemos fazer isso. Pegamos o widget e dizemos que definimos a visibilidade como falsa se o alvo não for válido Mas se a meta for válida, precisamos defini-la novamente como verdadeira. Controle C control V para colá-lo aqui e definir a visibilidade do nosso widget como verdadeira Portanto, caso o alvo seja válido, definimos a posição do nosso widget e dizemos que ele fique visível Mas se o alvo não era válido e foi destruído, defina a visibilidade do nosso widget como falsa. Não. Vamos tirar isso. Se você executar nosso jogo, verá que tudo está funcionando bem. E se você passar por cima de um avião de combate, tudo de novo está funcionando bem. Se ele o destruir, você será destruído e agora você pode ver que o espartilho está destruído, não há mais caixa verde Mas um problema, um, outro problema. Digamos que temos vários alvos. O que vai acontecer? Se você for para um nível aqui, basta clicar em BP Target e criar outro deles, certo? Segure, arraste um desses eixos e crie outro Agora temos dois deles, um aqui e outro aqui. Nós temos dois deles, certo? Agora, se você executar o we game, podemos exibir o primeiro. Vamos ver o que vai acontecer na segunda. Agora, você pode ver que isso não está mais acontecendo. Não é mudar o alvo para outro. Você pode ver que está lá, mas não estamos colocando um alvo 56. 54 Destrua um evento-alvo: Não, temos um problema. Sempre que destruímos um alvo, ele não bloqueia automaticamente outro alvo, e queremos fazer isso. Sempre que destruímos um alvo, ele deve bloquear automaticamente outro alvo e como podemos fazer isso. Em primeiro lugar, quando entramos em um alvo, o que acontecerá é que o alvo será válido e definimos posição da interface do usuário de Amin para essa posição, para aquele ator ou alvo, e definimos a visibilidade Nesse caso, queremos verificar se o alvo foi destruído e alterá-lo automaticamente. Como podemos fazer isso. Devemos descobrir quando esse alvo será destruído. Então pegamos o alvo e vinculamos o evento ao evento de destruição, certo? Então, vincule o evento a uma forma indestrutiva, assim. Então, com esse evento, sempre que o alvo for destruído, esse evento acontecerá, certo? E o que é esse evento? Quero criar um evento personalizado para ele e chamá-lo de mudança alvo porque o último alvo foi destruído. Vamos testá-lo com o anel da impressora, e eu quero dizer que o alvo foi destruído. Não, vamos testar isso. Se compilarmos, salve e execute. E se passarmos por cima do alvo, você pode ver que, quando destruído, diz: alvo, destrua-o. Então, com isso, descobrimos quando o alvo é destruído e quando devemos mudar o alvo. É isso mesmo. Agora, vamos ver como podemos realmente mudar o alvo. 57. 55 Altere o objetivo: Saiba que quando o alvo é destruído, queremos bloquear outro alvo, mas podemos fazer isso. Como temos uma caixa aqui, essa caixa, podemos obter todo o ator sobreposto com essa caixa com o nó chamado obter atores sobrepostos Então, com isso, ele nos dará todos os atores que estão dentro dessa caixa, certo? A caixa que criamos é muito grande. Se você torná-lo visível, é claro, você será capaz de vê-lo, certo? Você pode ver que é muito grande. Qualquer ator que esteja dentro dessa caixa, esse nó o fornecerá para nós e nos dará uma matriz que podemos usar para verificar todos os atores. Se eles tiverem uma tag chamada target, podemos mudar para ela. Podemos mudar o alvo para isso. Então, o que precisamos, precisamos para cada loop, para cada loop com uma pausa, por exemplo, certo? Ele examinará todos os itens dentro dessa matriz e, com isso, podemos verificar se esse ator tem tag ou não, tag off target. Então coloque o alvo aqui. Se tiver essa tag de destino, podemos verificá-la com a ramificação. Se tiver, essa verdade acontecerá, certo? E se isso acontecer, podemos definir o alvo, definir esse alvo com o elemento R com o alvo que estamos verificando, certo? E quando definimos a meta, precisamos quebrá-la para cada loop. Não precisamos seguir em frente. Então, conectamos esse pino de execução a essa quebra para que ele quebre. Precisamos adicionar um nó de redirecionamento com o mouse duplo no meio, para colocá-lo aqui para que fique melhor assim Saiba o que vai acontecer. Nesse loop de forragem com uma pausa, verificamos todos os atores que estão dentro da caixa, e se um deles tiver uma etiqueta de alvo nela, essa verdade acontecerá e trocamos o alvo com esse ator que está dentro dessa caixa, certo? Agora, com isso, vamos resolver isso. A primeira parte que você escolhe, certo? Você vê. E, novamente, ele vai para o próximo alvo, mas se destruirmos esse alvo, ele não vai para o próximo alvo. Há um problema. Na próxima etapa, mostrarei como você pode resolver esse problema. 58. 56 Terceiro problema alvo: O problema que tivemos com três alvos foi que o primeiro alvo foi completamente destruído. Ok, mudamos para o alvo dois. Mas quando destruímos o alvo dois, não estamos estabelecendo o novo alvo. Estamos estabelecendo apenas a meta dois porque a prioridade de que essa destruição tenha acontecido não está nos ajudando Você sabe, que em nosso alvo de BP, estamos destruindo o ator Mas esse agente destruidor está acontecendo depois de estabelecermos o novo alvo. É por isso que isso vai acontecer Para cada loop, é definir o alvo para o mesmo alvo, para o mesmo ator que sempre está fazendo. Então, o que queremos fazer, queremos verificar. Se o alvo que estamos verificando aqui é o mesmo que temos aqui, não o defina. Em outro caso, podemos dizer que se esse alvo que estamos verificando e tem a tag de alvo não era igual ao alvo que temos aqui, podemos verificá-lo com uma ramificação. Deixe-me abrir um espaço aqui. É com o galho, certo? Caso verdadeiro. Se esse alvo que tem essa tag aqui não fosse igual ao alvo que já tínhamos, isso acontecerá, e agora podemos definir o alvo com esse ator que tem essa tag, certo? Que está conectado aqui. Não, vamos correr. Se atirarmos no primeiro, veja, ele deve ir para o próximo alvo. Se atirarmos nesse também, não, ele deve ir para o próximo alvo. Não, você pode ver que está funcionando. Tudo bem. Se você adicionar vários alvos, deixe-me adicionar outro. Guarde tudo e crie outro aqui. Não, temos quatro alvos. Devemos pegar este, depois de ser destruído, se você for para o próximo alvo, este é o segundo. Você pode destruir isso. Novamente, se você for para o próximo alvo, também será destruído. O próximo alvo novamente, podemos destruí-lo também. Depois disso, não há um novo alvo, então é por isso que ele não mirará em nada. Então, isso parece bom, mas também queremos poder alternar entre o alvo com uma entrada. Por exemplo, sempre que pressionamos R no teclado, queremos mudar o alvo. 59. 57 Alterar o alvo com entrada: Não para alterar o alvo com uma entrada. Como podemos fazer isso. até a gaveta de conteúdo nas entradas Precisamos criar uma ação de entrada. Então vá para a ação de entrada de entrada. Eu quero chamá-lo de IA, mudar de alvo, certo? É isso mesmo. Você não precisa mudar nada dentro dele. Precisamos apenas mapeá-lo, certo? Adicione um mapeamento em nosso caça a jato IMC. Desça porque isso o criará aqui embaixo. É chamado de meta de mudança de IA. Novamente, ele vai subir, é uma atualização, certo? Aqui, eu quero clicar aqui, cabeça R. Então, sempre que pressionamos R no nosso teclado, queremos mudar o alvo. Agora com isso. Vamos até o BPF 18. Temos um evento para mudar o alvo. Vamos apenas usá-lo. Desça até aqui. O que eu quero fazer é clicar com o botão direito do mouse em Pesquisar por IA Change Target e, com isso, sempre que clicarmos em ou pressionarmos R no teclado Isso começou uma vez e queremos mudar a meta. Então, o que isso fará, isso encaminhará aquele evento alvo de mudança que temos aqui, certo? Esses eventos. Então, tudo isso vai acontecer. Agora, com isso, vamos testá-lo, certo? Nós podemos em R. Você pode vê-lo, ir para o próximo alvo, e ele está acima do alvo. Vamos apenas um deles em R, outro, novamente cabeça R, novamente R. Novamente tem R. Podemos atirar em outro alvo. Vamos testá-lo mais uma vez. Eu quero segurar feixes para entrar na gravata e atirar neles. E eu quero segurar o botão mais à esquerda desta vez. Então você pode ver e acertar o alvo. Essa. Em seguida, está atingindo o alvo. Não, basta voltar e fotografar esta, aperte G no teclado para fechar a engrenagem, fica muito melhor. Você pode ver que estamos perdendo o alvo agora. Se formos, podemos encontrá-la. Segure o botão mais à esquerda e veja se estamos filmando outro Temos outro aqui que também muda automaticamente de alvo. Novamente, retrocedemos assim e. Fm e todos os alvos são destruídos. Então, estamos criando um jogo, mas eu quero adicionar mais a este jogo. Estamos destruindo algumas coisas agora, certo? Não temos mais alvos, então tudo parece bem. 60. 58 UI de mísseis: Não, queremos adicionar mais interface de usuário ao jogo. Por exemplo, quanto míssil nos resta. Queremos ter uma interface de usuário disso porque às vezes não conseguimos ver o que está por baixo das asas, certo? Então, para fazer isso, eu quero ir até a gaveta de conteúdo, acessar os widgets e, aqui, abrir a interface do usuário do WBPFeten Nós adicionamos aceleração lá, mas não, eu quero adicionar mísseis Então, para fazer isso, porque eu quero ter quatro desses mísseis em uma fileira, eu quero usar uma caixa horizontal Então, adicione uma caixa horizontal ao nosso painel de tela como esta. Eu quero ancorar isso no canto inferior direito, assim. Agora, com os pontos de ancoragem definidos no canto inferior direito, o que eu quero fazer é colocar a posição X e a posição Y em zero Agora, você pode ver isso aqui. Quero que o alinhamento seja alinhado com o canto inferior direito disso Portanto, o canto inferior direito deve estar no ponto de ancoragem sempre que a posição e Y forem zero Então, colocamos um e um, para que você possa ver que o canto inferior direito está no ponto de ancoragem Não, eu quero posicioná-lo ao lado deste acelerador, certo? Então eu posso colocar -150 e -54 Y. É isso. Para o tamanho, eu quero colocar um 264 e o tamanho Y. Nele, coloque em 194 Eu acho que é uma boa, certo? Não, eu quero adicionar algumas imagens para mostrar o míssil. Então, aqui, adicione uma imagem aqui. E a imagem que eu quero escolher: busca por míssil e o míssil, quero colocá-la lá Agora, com isso, precisamos de quatro deles. Então clique neste. Controle D para duplicar, duplicar, duplicar. Agora, você pode ver que parece bom. Selecione todos eles. E eu quero adicionar um pouco de preenchimento aqui. Então, vamos usar o preenchimento e o teclado para a esquerda, como cinco unidades Não, você pode ver isso. É bonito e apertado lá. E temos um pouco de acolchoamento ao redor deles à esquerda, certo? Não, eu quero nomeá-los porque é importante. A imagem do lado direito, quero chamá-la de míssil 1 A imagem depois disso, eu quero colocar duas lá. Para os outros, eu quero ir aqui para vê-los, certo? Então você pode ver que isso na ala direita é um ou um míssil Depois disso, temos o míssil dois. Não, no lado esquerdo, o míssil três é o esquerdo Então é isso que queremos fazer aqui. Então, se eu clicar aqui, esse é o M três, certo? E isso é quatro ou míssil quatro. E precisamos selecionar todos eles e torná-los variáveis. Então, podemos escrever código para eles, certo? Vamos apenas compilar, salvar. Não, vamos ver o gráfico. E aqui, eu quero criar uma função para definir a visibilidade da Missi Então, quando fotografamos, queremos torná-los invisíveis e, quando recarregados, queremos torná-los visíveis Crie uma função. Eu quero chamar isso de definir mísseis, definir visibilidade de mísseis E essa função, eu quero ter uma entrada. Então, vamos colocar uma entrada. O tipo eu quero que seja inteiro, então dizemos qual visibilidade do míssil deve ser alterada, chamando esse número de míssil. OK. Com isso, podemos ativar esse número de míssil como esse interruptor t para que tenhamos quatro mísseis, então vamos adicionar quatro deles Sabemos que temos o míssil um, dois, três, quatro. Não precisamos desse zero, mas vamos deixá-lo lá e não precisamos desse padrão. Você pode simplesmente deixá-lo lá. Não, com isso, queremos tornar as coisas visíveis ou invisíveis, certo? Então, novamente, precisamos de uma entrada. Aqui, clique na função como entrada desta vez, quero que seja um lingote E eu quero chamar isso de visibilidade T, certo? Visibilidade. Agora, se quisermos mudar a visibilidade do míssil, podemos obter o míssil assim Queremos mudar a visibilidade. Então, pesquise a visibilidade definida, certo, e queremos verificar a entrada de visibilidade, certo? Então, queremos verificar com uma filial como essa. E caso a visibilidade fosse verdadeira, podemos obter uma visibilidade como essa, visibilidade. É exatamente como conectar esses dois aqui porque estamos em função, podemos fazer esse tipo de coisa. Isso é uma entrada de função, certo? Então, se a visibilidade fosse verdadeira, queremos torná-la visível. E se não for verdade, o falso acontecerá e, nesse caso, queremos fazer com que seja uma galinha. Então escolha galinha, certo? É isso mesmo. Podemos simplesmente pegar tudo isso trazê-los um pouco para cima. Então, temos um pouco de espaço, controlamos, copiamos, controlamos Weed e colamos. Queremos fazer isso para o Missile 2. Então substitua o míssil um míssil dois e conecte o número dois aqui, pelo míssil dois e conecte o número dois aqui, certo? Exatamente como antes. Controle e cole duas vezes mais. E este é para o míssil três, então conecte o míssil três aqui, e este é para o míssil Então, vamos conectar o míssil quatro. Isso é para o míssil três, então coloque 23, e isso é para o míssil quatro conectado ao míssil quatro É isso mesmo. Temos uma função que permite alterar a interface do míssil Se corrermos, você pode ver todos os mísseis estão lá e, se você atirar, nada muda, mas podemos ir para o BPF 18 no gráfico de eventos descer quando estamos alterando a visibilidade dos O que podemos fazer é criar um espaço como esse aqui e obter a FATNUI que eu quero função que é chamada de definir visibilidade de mísseis Então, vamos chamar esse conjunto de visibilidade de mísseis. Isso é para o míssil 1. Então, vamos conectá-lo assim. Isso é para o míssil 1. Então, coloque uma aí, a nova visibilidade, queremos que seja invisível, então isso é bom. Não, podemos simplesmente copiar e colar isso e , depois de recarregado, podemos fazer com que a visibilidade volte a ser verdadeira, assim Não, vamos testar isso. Nós atropelamos o jogo, olha o míssil, se eu tivesse mais à esquerda, espere depois de 2 segundos, estará lá Isso é bom. Queremos fazer o mesmo com os outros também. Então, precisamos de algum espaço. Crie algum espaço para todos eles assim, assim, e para este também, crie algum espaço. E não, com isso, podemos simplesmente copiar e colar isso aqui, eu preciso do pino de execução, então vamos dar isso. Isso é para o míssil 2. Então, basta colocar dois aqui e precisamos recarregá-los também Portanto, controle para colar o conjunto aqui também. Isso é para o míssil dois, e queremos que a visibilidade seja verdadeira, como o míssil sob as asas, O míssil dois está bem. Vamos fazer isso com o míssil três, cole com o controle. Isso é para o míssil três. Então coloque três lá. E na recarga, queríamos mudar a visibilidade para verdadeira novamente. Isso é para o Míssil 3. Coloque a visibilidade em dois. É isso mesmo. Agora, vamos fazer isso para o Míssil 4 Nós apenas controlamos V para colar e outras coisas, certo? Você deve aprender a copiar e colar para usá-lo muito, certo? Nós o tornamos invisível e, depois de recarregá-lo aqui, queremos usar o Control V novamente para torná-lo visível para o Míssil 4, torná-lo visível e pronto Vamos apenas compilar, salvar e executar, filmar tudo isso Veja tudo isso. Trabalhando. Isso é bom. O que eu quero saber aqui no set desta vez com uma variável. Neste momento, é um dois, dois é só para testar. É por isso que eu quero criar uma variável do tipo float, e eu quero chamá-la de tempo de recarga. Está bem? E eu quero começar a compilar e colocar cinco lá, certo, e conectar o tempo de recarga a esse tempo, certo, para todos eles Então, vamos fazer isso. Com isso, sempre que quisermos alterar o tempo de recarga, podemos ir até essa variável e alterá-la bem rápido Não precisa ir a qualquer lugar, certo? Não, leva 5 segundos para recarregar o processo. Dois, três, quatro, cinco, e está lá, certo? Veja depois de 5 segundos. Ah. É isso mesmo. Depois de cinco segundos não, os mísseis serão recarregados E sempre que quisermos, podemos alterar aqui o tempo de carregamento. 61. 59 Como calcular o GForce: Não, acho que tudo está lindo. Mas sempre que atingimos algo, o avião, o avião de combate não são destruídos, e isso é um problema. Eu quero te mostrar como você pode consertá-lo. Para corrigir isso, quero clicar com o botão direito do mouse aqui, fechar outras guias para que tenhamos uma ficha mais limpa aqui e, para decidir quando destruir um caça a jato, precisamos calcular a força G e como podemos fazer isso Eu pesquisei na Internet, como calcular o GFCE ou você pode simplesmente pesquisar a calculadora GFoce E está na calculadora Omni. Isso explicava tudo. Se você descer, verá que isso nos dará a equação para isso. A diferença entre a velocidade, dividida pelo tempo multiplicado pela gravidade, e ela nos dará algum valor Por exemplo, se o V zero é 60 quilômetros e v10 quilômetros, e o tempo que leva entre V zero a velocidade zero e a velocidade um foi de 1 segundo Podemos calcular isso com essa equação que temos aqui. Então, saiba o que precisamos. Precisamos do tempo, precisamos da gravidade e precisamos da velocidade, duas velocidades de dois referenciais separados . Como podemos fazer isso. Vamos até Eventiq. Queremos fazer isso com o eventiq porque isso nos dará o segundo Delta Então, podemos salvar a velocidade do último quadro e deste quadro, e temos o segundo Delta que ele ocupa entre cada quadro, e também temos a gravidade Com isso, podemos calcular a força G, certo? E se o G quatro obtiver mais de dez, 12, 20 ou qualquer outra coisa, podemos destruir o caça a jato. Então, para fazer isso, precisamos de algum espaço. Vamos pegar tudo isso, abrir o assunto, tocar C para adicionar um comentário. E aqui, eu quero chamá-lo de sistema de segmentação, ok? Isso é para esse. Agora, temos um ruído que, aqui, queremos calcular a força G. Para fazer isso, quero adicionar primeiro uma variável para a velocidade Não quero chamar isso apenas de velocidade. Eu quero chamá-la de velocidade atual do quadro. Eu quero duplicar isso, e desta vez, eu quero chamá-lo de velocidade do último quadro, certo Então, precisamos de duas velocidades. Um para a velocidade do quadro atual e outro para a velocidade do último quadro, certo Então, como podemos obter a velocidade atual do quadro, na verdade, podemos clicar em Pesquisar por Obter velocidade e pronto Essa é a velocidade do quadro atual que, se obtivermos o comprimento vetorial desse comprimento vetorial, ela nos dará a velocidade do quadro atual e podemos salvá-la na velocidade do quadro atual É isso mesmo. a velocidade atual do quadro, e aqui, deixe-me criar um comentário aqui, calcular a força G. E vamos colocá-lo aqui. Então, o que estamos fazendo, primeiro, salvamos a velocidade do quadro atual e, depois disso, calculamos a força G, mas a velocidade do último quadro, o que é? Por padrão, é zero. Quando jogamos nosso jogo, a velocidade do último quadro é zero Então, calculamos a força G com a velocidade do último quadro zero e a velocidade atual do quadro que obtemos de get velocity E depois de calcular a força G, o que queremos fazer, queremos salvar a velocidade para o próximo quadro dentro da velocidade do último quadro Então, nós o colocamos aqui. Com novamente esse valor, obtendo o comprimento do vetor de velocidade, certo? Então, depois de calcularmos a força G, precisamos salvar a velocidade para o próximo quadro e faremos isso aqui, certo? Não queremos fazer isso agora, tornamos isso maior porque precisamos de mais espaço. Primeiro aqui, com base nesse cálculo, precisamos subtrair V zero de V um, certo? Então, vamos fazer isso. O V é a velocidade atual do quadro, então vamos entender. Queremos subtraí-lo por zero, que é o último quadro perdido Não, queremos dividir isso, dividi-lo por, vamos ver. T multiplicado pela gravidade. Como podemos obter a hora, a hora em que podemos obtê-la da Delta em segundo lugar. Ou podemos fazer isso assim, mas eu não quero pegar isso daqui até aqui. Eu posso pesquisar corretamente por Get word, Delta second. É isso mesmo. Agora, queremos multiplicar isso pela gravidade, certo? E como podemos obter a gravidade, podemos obtê-la do componente de movimento do veículo. Há uma gravidade z aqui, conecte-a assim a aqui e conecte-a aqui. Agora estamos dividindo a subtração da velocidade do quadro atual pela velocidade do último quadro dividida pelo tempo multiplicado pela gravidade É isso mesmo. O que isso nos dará, nos dará força D G. Então, promovido a variável, e eu quero chamá-lo de força G. Está bem? Força G? Eu o criei aqui embaixo. Não, não podemos conectar os pinos de execução. Vou explicar mais uma vez porque sei que pode ficar um pouco confuso em algum momento Vamos pegar tudo isso, falar assim e tornar esse comentário um pouco maior. Então, o que estamos fazendo, primeiro, estamos obtendo a velocidade atual do quadro obtemos o comprimento do ator de velocidade, certo E o último quadro, então temos a velocidade do quadro atual, e a velocidade do último quadro no início será apenas zero, certo Não, precisamos unir esses dois e dividi-los pelo tempo que leva da velocidade do último quadro até a velocidade do quadro atual multiplicada E isso nos dará a força G, certo? E depois disso, estamos salvando a velocidade para o próximo quadro Portanto, também podemos calcular a força G no próximo quadro. Não, eu quero apenas imprimir a força G. Use uma string de teste de impressão, e aqui, eu quero conectar a força G a aqui. É isso mesmo. Não, se você atropelar o jogo, você pode ver, porque ele está um pouco se movendo, ele nos dará um pouco de força G. Mas se você se mover, verá que a força G está ficando cada vez maior. Isso é exatamente como no mundo real. E se eu for assim e cair no chão. Digamos que você queira cair no chão. Agora vamos ver o que vai acontecer. A força G está ficando maior. Não, você pode ver que isso nos deu um grande valor. Você pode ver, mas eu posso ir para o Registro de Saída e subir. Você pode ver que nos dará 130 quando atingirmos o chão. Então, podemos usar a força G para quando destruir o avião de combate, certo? Outra coisa. Essa força G pode ser um valor negativo, então podemos obter o valor absoluto dela e depois mostrá-la. Então você pode ver, não , está sempre positivo, podemos decidir se ficar mais de dez, será destruído, por exemplo, você pode ver como está mudando. E você pode ver o grande valor que ela pode obter. Se você for até o Wood Log, poderá vê-lo aqui, mas aconteceu apenas um quadro, por exemplo, temos sete aqui. Novamente, se você subir, temos seis aqui. Quando estamos fazendo algumas curvas, temos 34, 28, quando atinge o chão, é mais. Temos 33, 34. Então, podemos dizer que, se for mais de dez, destrua o avião, certo? Como no mundo real. Não precisamos dessa string de impressora. Não, estamos calculando a força G, vamos ver como podemos destruir o avião de combate com isso 62. 60 Destruir o jato, parte 01: Não, com a força G calculada, queremos verificar. Se obtiver mais do que um valor certo, queremos destruir o lutador ainda queremos destruir o lutador. Vamos ver como podemos fazer isso. Onde eu quero fazer isso sempre que estivermos calculando a velocidade, certo Então, no final, quero verificar com a filial. Está bem? Eu quero verificar com o ramo, a força G, certo, pegar a força G, e aqui, primeiro, obter o absoluto dela para que não tenhamos nenhum valor negativo. E depois disso, verificamos se são mais de dez, por exemplo, podemos destruir o caça a jato. Então, vamos colocá-lo lá. Em primeiro lugar, se a força G for maior que dez, a verdade acontecerá, certo? E eu quero criar uma variável para dizer que o jato foi destruído. Então, vamos criar uma variável do tipo booleano. E aqui, eu quero chamá-lo de jato, destruí-lo. jato foi destruído e queremos colocá-lo aqui, logo de cara, certo? TT. Mas, por padrão, o jato destruído deveria ser falso. Agora, quando o jato foi destruído, primeiro, queremos que haja uma explosão, para que possamos gerar o sistema, o sistema desova no local A explosão que eu quero ter é apenas essa explosão de poeira, certo? Estamos no local de mais de um ator. Obtenha a localização do ator, certo? É isso mesmo. Não, vamos testar isso. Se rodarmos nosso jogo, deveríamos subir e bater em alguma coisa, certo? Suba e não caia no chão. E não, você pode ver, temos uma explosão. Podemos ter mudado o progresso, certo? Você pode ver. Novamente, tivemos outro. Mas também queremos fazer outras coisas. Então, quando ele é destruído, você pode ver toda vez que o G quatro recebe mais de dez, temos uma explosão, certo? Mas queremos fazer outras coisas. Então, não queremos deixar o lutador se mover tanto, certo? Então, a próxima coisa que eu quero fazer é desligar os motores. Como eu posso fazer isso, eu posso obter o motor direito e o motor esquerdo assim. E esses são apenas alguns sem gráficos, certo? Podemos definir a visibilidade deles, definir a visibilidade para não ser visível, certo? Conectado assim. Em ambos, queríamos ajustar a visibilidade para Fox. Em seguida, o motor soa MS jet sound. Eu quero trazê-lo aqui, e eu quero mudar o volume dele. Portanto, defina o multiplicador de volume para zero. Então, não temos mais nenhum som de jato porque ele é destruído, certo? Certo? Agora, vamos compilar e passar isso para casa Suba e desça e jogue de lutador, basta olhar para isso. É isso mesmo. O motor desapareceu e o som também desapareceu. Isso é bom. Mas outra coisa depois desse sistema de desova no local, precisamos de um som de explosão Então eu quero pegar tudo isso, trazê-lo para a direita, e aqui, eu quero gerar um som no local, certo? O som que você quer tocar, clique aqui, já está. Podemos simplesmente desativar o conteúdo do show engine, para que possamos ver apenas o que precisamos. Gere explosão, isso é mais do que suficiente. E localização, podemos copiar e colar isso aqui e conectá-lo ao local. Agora, também teremos um som de explosão. Então você sobe e pronto. Sim, isso está lindo. Você pode ver que não, tudo está bem. Não há próxima coisa que queiramos fazer. Queremos parar o movimento do nosso veículo. Assim, podemos pegar o componente de movimento do veículo e pedir que ele pare de se mover imediatamente porque você será destruído, certo? Agora, vamos novamente compilar, salvar e executar o jogo, segurar o navio e continuar Depois disso, desça. Você pode ver, ele parou de se mover. Mas se mantivermos o turno, novamente, podemos nos mover. Então, outra coisa que queremos fazer é evitar que nosso avião de combate se mova completamente. Para fazer isso, temos várias maneiras de fazer isso. Por exemplo, como se adicionássemos um mapa no contexto, certo? Recebemos a entrada aprimorada do nosso controlador Git player. Vamos colocá-lo aqui também, colá-lo aqui com o Control V. E desta vez, digamos que remova o contexto de mapeamento. E o contexto de mapeamento que você deseja remover é o jato de combate IMC. É isso mesmo. Vamos conectá-lo aqui. Não é um jogo de fugitivo. Nós seguramos o lençol esquerdo. Podemos mudar o acelerador, subir e saber se descermos, vamos ver Não, não podemos ter mais nenhum movimento, certo? Não importa o que fazemos. Não podemos ter mais nenhum movimento. Essa foi uma maneira de fazer isso, e é bom. 63. 60 Destruir o jato, parte 02: Não, também temos outras formas. Se você não quiser fazer isso assim, você pode simplesmente usar esse jato destruído para fazer com que as entradas não aconteçam Por exemplo, queremos poder dar uma olhada, mas não queremos mudar a confiança da IA. Então, aqui, podemos usar um galho, ok? E nós verificamos. Se o jato destruído era falso, você pode mudar a confiança em caso de falso como esse. Também podemos fazer isso para outros. Por exemplo, o freio. Não queremos que seja capaz de fazer isso se o jato for destruído, certo? Então, se o jato não foi destruído, você pode fazer isso, certo? Novamente, temos um freio de mão aqui. Novamente, queremos verificar se o jato foi destruído ou não. De novo, vamos descer. Para o IA Pitch, novamente, queremos fazer o mesmo aqui. Tão conectado assim a aqui. Em caso de falso, você pode alterar o valor do tom. Novamente, aqui, queremos fazer o mesmo com o Jet destruído. Conectado assim, se o Jet não foi destruído, você pode alterar o valor da função. Novamente, vamos descer, abrir um espaço, controlar V para colá-lo aqui e saber que, em caso de falso, você pode alterar o valor de ya, faça isso para tudo. Por exemplo, eu engrenagens. Queremos verificar. Se o avião de combate não foi destruído, você pode fechar as marchas Novamente, para a demissão, queremos verificar isso também Assim, em caso de quedas, você pode disparar um míssil, temos outro Mude o alvo. Novamente, queremos que essa mudança de meta aconteça se o jato destruir o que era falso, certo? Então, agora com isso, não precisamos fazer esse mapa de remoção no contexto. Vamos testar isso, não. Podemos decidir qual entrada deve ser ativada e qual entrada não deve ser ativada. Com a remoção do mapa no contexto, tudo será desativado. Mas desta vez, ele será destruído, mas podemos dar uma olhada, certo? A próxima coisa que você quer fazer, deixe-me remover isso. Eu só quero te mostrar algumas outras maneiras de fazer as coisas. Queremos mudar a malha do nosso avião de combate, o material nele contido. Então coloque a malha aqui e coloque o material nela, porque agora, é como se ela não estivesse destruída de jeito nenhum. Coloque um material aqui. O material zero será o material principal, mas o material que você quer usar é chamado colete de caça a jato F 18 damage, certo? Basta colocá-lo lá. Agora, se você clicar compilar e executar o jogo, vamos subir para o céu e cair no chão depois disso B e você pode ver, não, o material também foi alterado. Isso parece incrível. A próxima coisa que eu quero fazer não querer que isso aconteça se o jato for destruído, certo? Nem a segmentação, nem nada. Então, aqui, queremos verificar se o jato não foi destruído. Então, vamos usar uma ramificação aqui. Você pode calcular tudo, calcular o G quatro, gerenciar o acelerador Vafxs e Mas se o jato foi destruído, não faça nada. Novamente, vamos testar a nota estabelecida. Você sobe, desce e ela é destruída. Não, se atingir o chão, não criará outra explosão. Outra coisa que temos temos alguns mísseis que não foram afetados Então, vamos ver como podemos resolver isso, não. Se chegarmos aqui no final, quando o jato for destruído, queremos pegar todos os mísseis assim, pegar todos E atire um míssil e defina a visibilidade deles, certo? Dizemos que defina a visibilidade para dizer a eles que ela está destruída. Para todos eles, queremos definir a visibilidade como falsa, conectores como esse e saber se você executa ou joga Acho que desta vez, tudo está perfeito. Mas sempre que você encontrar um bot, me avise na seção de perguntas ou neste canal principal, para que possamos corrigi-lo juntos. Vou atualizar este curso sempre para que você possa ver que nem tudo está funcionando bem e estamos destruindo o jato e nada está mais funcionando. 64. 61 Importar arquivos de sistema sam: Não, precisamos de algum inimigo que possa atirar em nós e nos destruir. E para fazer isso, precisamos de alguns arquivos, alguns arquivos para inimigos, malha esquelética, certo? Então, na descrição deste vídeo, há um arquivo zip chamado 60 ones dot Zep. Faça o download Coloque-o na sua área de trabalho e não clique nele para abri-lo, e há uma pasta SAM aqui. Solte o dragão para que você o extraia assim. E dentro dessa pasta SAM, deve ser apenas uma pasta de ativos. Isso é muito importante. Você precisa dessa pasta de soma e, depois disso , há uma pasta de ativos dentro dela. Isso é muito importante porque o caminho que estamos usando aqui é muito importante. Agora, vá para o seu projeto, vá para a gaveta de conteúdo, clique com o botão direito na pasta de conteúdo e mostre o Explorer Não, isso abrirá a pasta de conteúdo para nós. Agora podemos simplesmente escrever e colocar essa pasta de soma aqui, certo? Certifique-se de que, após essa pasta de soma, haja uma pasta de ativos dentro dela, não outra pasta SAM, certo? Agora, com isso, se você voltar e abrir o projeto, e se for para a gaveta de conteúdo, vá para a pasta S, vá para a pasta Assets Você pode ver algumas coisas aqui que são do Vigilante. E aqui, você pode ver, temos um radar. Vamos dar uma olhada nisso. Este é o nosso radar, e deixamos eu mostrá-lo para você. Ligue para o veículo de movimento. Temos um sistema de mísseis que é assim, certo? Isso é lindo. Não, queremos usar esses dois radares e o sistema SAM para atirar em um caça a jato. Digamos que podemos 65. 62 Método-plano de radar: Agora vamos ver como podemos criar um sistema com o radar para que ele possa derrubar um caça a jato. Para fazer isso, quero ir para a gaveta de conteúdo e para a pasta S. Vamos fazer alguma coisa aqui. Pasta de conteúdo, quero clicar com o botão direito do mouse em Fighter jet, definir a cor, por exemplo, verde, certo? E para a pasta SAM, quero clicar com o botão direito do mouse nela, definir a cor para uma nova cor, como azul ou vermelho, porque é o inimigo, certo? Agora, vamos até a pasta SAM aqui. Quero criar uma nova pasta, quero chamá-la de blueprint ou blueprint Não clique nele para abri-lo. Eu quero clicar com o botão direito aqui, criar uma classe de modelo do tipo de ator, e eu quero chamá-la de radar BP, ok criar uma classe de modelo do tipo de ator, e eu quero chamá-la de radar BP, ok? Esse é o nosso radar. Vou clicar nele para abri-lo agora, não há nada aqui. Quero adicionar uma malha esquelética primeiro, adicionar uma malha esquelética, colocá-la na raiz de cena padrão e, agora, com isso, quero escolher uma malha esquelética e quero escolher um SK west radar Patriot Basta colocá-lo lá. Este é o nosso radar, você pode ver que a porta está aberta. Isso é legal. Agora, esse radar deve ter alguma animação, mas por enquanto, quero adicionar uma colisão esférica Procure uma esfera e escolha uma colisão esférica. Com essa colisão de esferas, decidimos qual alvo será atacado, certo? Qual alvo bloquear, certo? O raio da esfera, eu quero colocá-lo em 20.000. Então coloque 20.000 lá. E por enquanto, o que eu quero fazer é descer e fazer com que não fique escondido no jogo, certo? É isso mesmo. Vamos apenas compilar, salvar e colocar um deles dentro do nosso nível Quero que nossos jogadores comecem. Está lá embaixo com aquecimento F, ele se concentrará em um desses radares aqui desse jeito, certo? E agora você pode ver, temos um radar que pode nos encontrar. Se atropelarmos Game, podemos ver o radar lá, certo? Não, o que eu quero fazer ir até o início do jogador e, aqui, quero girá-lo para que fique voltado para o radar Aqui, coloque zero aqui. Agora, se você correr, você pode ver nosso avião de combate está voltado para o radar, não, e o radar pode nos atacar quando estamos dentro dessa esfera de colisão, certo? Não, não está fazendo nada. A próxima coisa a fazer girar isso, certo, girar o radar Então parece que ele ainda está procurando por um lutador, por exemplo, certo? Você sabe como fazer isso. Há alguns ossos dentro desse radar, e você tem todo o conhecimento para girar isso E um outro desafio que eu quero te dar é fechar essa porta com ossos no projeto de animação Então você precisa do plano de animação para fechar essa porta, e você precisa desse plano de animação para girar todo esse radar Então você tenta fazer isso. Nós faremos isso na próxima vez. 66. 63 Porta de radar: A primeira coisa que queremos fazer adicionar alguma animação ao nosso radar para que ele possa girar, e queremos fechar esta loja porque ela não parece boa, certo? Não, para fazer isso, quero ir até a gaveta de conteúdo e inserir aqui algumas plantas Quero clicar com o botão direito do mouse e ir para a animação e criar o Animation Blueprint Ele nos diz para qual esqueleto você deseja criar animação para o Animation Blueprint Eu quero escolher o radar e ele Eu quero chamá-lo de radar ABP. Está bem? Não clique nele para abri-lo. E saiba que aqui, como sempre, queremos adicionar o espaço de mesa da pose. Então, ele nos dará as informações sobre todos os ossos. A primeira coisa que você quer fazer aqui fechar essas portas. Então, precisamos encontrar os ossos para que, com isso, possamos fechar essa porta, como podemos encontrá-la. Se clicarmos aqui, vamos até um esqueleto, e aqui, vamos encontrar a porta procurando pela porta nesta árvore esquelética Você pode ver a junta da porta aqui. Precisamos girá-lo em torno do eixo Z em 90 graus, certo? Então é isso. É -90 graus, certo? Então, para fazer isso, vamos ao radar ABP e queremos usar o Modify Bone, certo? Nós o usamos muito. Basta clicar nele. Precisamos mudar algumas coisas. O osso que queremos modificar é chamado de junta da porta Doroin Não precisamos alterar a tradução, então podemos clicar aqui, pedir que ele não a exponha como um alfinete, e também queremos fazer isso em uma escala, para que não a exponha como um Não, é mais limpo, certo? Não, para rotação, queremos adicioná-la à existência, e o espaço do componente é mais que suficiente. Não, precisamos girar essa porta em torno do eixo Z de 90 graus a 90 graus, é claro, colocar -90 lá e conectar o pino de pose ou pino de execução à pose de saída, sem compilar a saída, sem compilar Você pode ver que a porta não está fechada. A próxima coisa que você quer fazer é girar o radar completo, certo? Certo? Não, é só ficar parado. Queremos que tenha uma boa aparência, certo? Para fazer isso, vamos novamente ao nosso esqueleto para ver qual osso devemos girar E aqui em um conjunto de portas, eu quero procurar uma base. Está bem? Há uma junta de base do lançador que, com ela, podemos girá-la. Você pode ver que queremos girar isso para sempre para que ele possa encontrar algo É só para visualização, certo? Agora que você sabe com qual osso, você pode girar isso Então, isso é um desafio para você. Rotacione-o para que nosso radar tenha uma boa aparência. Você tenta fazer isso. Faremos isso no próximo vídeo. 67. 64 Rotação do radar: Girando nosso radar, para que pareça natural e bom. Para fazer isso, queremos usar o radar ABP e usar o mesmo nó Então, usamos o controle C controle V para colá-lo aqui, conectar o pino de pose ou o pino de execução. Não, precisamos mudar o osso para modificá-lo para o de base que encontramos, lançador, junta base Está bem? Agora, se você clicar em compilar, verá que quando mudarmos o ya ou a rotação em torno do eixo Z, ela mudará Se você colocar 20 lá, poderá ver que isso aconteceu sem compilar 30, você pode ver, 40, você pode ver, está funcionando. Agora, queremos apenas mudar o Z. podemos clicar com o botão direito do mouse nele, dividir o pino do traçado, então temos o eixo apenas a rotação em torno do eixo Z ou ya Ok, vamos colocar zero para não lá Não, precisamos de uma variável que mude constantemente a cada quadro. Então, podemos girar esse osso. Para fazer isso, eu quero ir para o gráfico de eventos, certo? E aqui, eu quero criar uma variável. E eu quero chamar isso de rotação de radar. Está bem? E o tipo, eu quero colocá-lo em float E, por padrão, se você compilar, poderá ver que, por padrão, é zero Precisamos pegá-lo. Adicione um pouco a isso, por exemplo, com esse Delta T x, certo? Então, adicionamos o tempo Delta a ele. Então, cada quadro será alterado, e queremos salvá-lo dentro de si mesmo depois disso, certo? Então, cada quadro dessa rotação do radar mudará um pouco, certo? Agora, vamos usar uma sequência de caracteres de impressora para mostrá-la a você um anel de impressora como este. E com isso, não, você pode ver apenas com isso, você pode ver que há um valor aqui que está mudando constantemente. Para você ver melhor, vá até o radar da BP, que deve clicar em uma máquina esquelética aqui e escolher nosso plano de animação aqui que se chama Agora, se você atropelar o jogo, verá que ele começará do zero e cada quadro será aumentado. Isso é bom. Agora, o que eu quero fazer é usar essa rotação do radar para girar ou desossar Mas se você simplesmente conectar essa rotação do radar à rotação em torno do eixo Z, vamos dar uma olhada. Você pode ver que está mudando um pouco para você ver melhor. Deixe-me correr ou jogar, ejetar daqui e agora vamos para o radar Você pode ver que está se movendo, mas é muito lento. Precisamos aumentar esse movimento. Como podemos fazer isso, podemos simplesmente multiplicar isso por algum valor Por qualquer valor que você quiser, como 50, certo? Você decide o que quer fazer. Agora, você pode ver que ele girará muito mais rápido. Agora, se você atropelar o jogo e ejetar daqui, podemos ir até o radar, para que possamos dar uma olhada nele Você pode ver. Agora, isso parece bom. Ou o radar é bom o suficiente. 68. 65 Bloqueio de radar no sistema: A próxima coisa que nosso radar precisa fazer é conectar um avião de combate e saber como queremos fazer isso. Então, para fazer isso, eu quero ir ao nosso radar da BP. Há uma colisão esférica aqui e, sempre que nosso caça a jato colide com ela ou começa a se sobrepor a ela, queremos entrar nela Então, vamos ao gráfico de eventos. Clique nessa esfera. Aqui, desça até chegar ao início de Olap Está bem? Comece a sobreposição. Clique aqui. Não, isso criará um evento para nós. Mas como podemos descobrir se nosso caça a jato colide começa a se sobrepor a ele porque temos muitos atores, Então, vamos testar algo. Se usarmos o teste de impressão e mostrarmos o nome do outro ator apenas com isso, se eu compilar e executar, você poderá ver, por padrão, digamos, que o BPFAT está lá, por que É porque o componente começa a se sobrepor e também detecta essa colisão de caixa grande Essa colisão de caixa grande que não está visível no momento. Então, se eu torná-lo visível, não, você pode ver que ele encontrará essa colisão de caixa grande E se eu não ficar escondido no jogo, podemos testar o topo. Não, você pode ver que a colisão da caixa grande deste caça está colidindo com a colisão esférica, e não queremos que o radar bloqueie o avião de combate por causa da colisão e não queremos que o radar bloqueie o da Então, o que você quer fazer? Em primeiro lugar, deixe-me tornar isso não visível e oculto no jogo também. Agora, o que eu quero fazer ir ao radar da BP. E aqui, eu quero verificar isso com uma etiqueta. Portanto, precisamos de uma etiqueta interna ou BPF 18. Quero clicar em ou mesclar. Está bem? Verifique se não é a malha e pesquise a tag. E aqui, eu quero adicionar uma tag, e eu quero chamá-la de F 18. Corpo. Corpo F ATN. Controle C para copiá-lo. OK. Agora, com isso, se você for ao nosso radar VP, esse evento nos dará o componente que se sobrepõe a essa colisão esférica, essa colisão esférica do nosso Então, com isso, podemos verificar se o componente tem uma tag com o nome do corpo FATN. Nesse caso, eu quero usar uma ramificação. Nesse caso, você pode fazer login e dizer que esse é o nosso alvo. Agora, vamos usar apenas uma string de impressora. E eu quero dizer que o radar está bloqueado em um FATen, certo? É isso mesmo. Vamos apenas compilar e executar Não, você pode ver que não vai dizer nada. Se avançarmos e nos sobrepormos a essa colisão esférica, vamos ver o que acontecerá Agora, diz, bloqueio de radar no FAT. Isso é bom, certo? Agora, estamos encontrando um FATN corretamente. Com esse bloqueio, o que você quer que aconteça? Queremos disparar um míssil E agora, não temos um míssil. Nós faremos isso mais tarde. Mas, por enquanto, vamos ver se podemos destruir esse radar, como podemos destruí-lo. Apenas pense sobre isso. Nós faremos isso na próxima vez. 69. 66 Evento de radar atingido: Não, vamos ver como podemos destruir esse radar com nosso caça a jato. Para fazer isso, vamos acessar nossa pasta de aviões de combate. Aqui, descubra o alvo, o que fizemos lá. Aqui, o que fizemos, basta clicar em nosso alvo de BP e aqui, pesquisar uma tag e adicionar a tag de alvo lá Portanto, devemos ser capazes de fazer isso dentro do nosso radar da BP também Então, aqui, basta clicar no próprio radar da BP, e aqui, pesquisar por tag e aqui, adicionar uma tag Eu quero chamá-lo de alvo, certo? Assim, se tivéssemos compilado e salvo, vamos ver o que vai acontecer. Agora, você pode ver, nós lutamos muito nisso. Então isso é bom, certo? Vamos seguir frente e atirar nele, certo? Atire. Sem utilidade. Isso acertou em cheio. Legal, certo? Então, apenas adicionando uma tag de alvo, podemos direcioná-la. Agora, vamos ver como podemos destruí-lo. Se você acessar o gráfico de eventos ou clicar em ou em uma malha esquelética, basta cancelar essa pesquisa, descer e pesquisar o componente atingido Está bem? Então, sempre que o míssil atingir esse radar, ele deve disparar esse evento, certo? Então, vamos testá-lo com a impressão para ver se aconteceu ou não. E eu quero chamar isso de radar destruído. Está bem? Radar destruído. Se você atropelar o jogo agora, você avança e atira no homem. Você vê que está filmando, mas não está acontecendo. Esse anel da impressora não está acontecendo. Esse impacto no componente não está acontecendo. Um problema que fez isso acontecer é que, se você clicar em nossa máquina esquelética aqui e ir para a seção de colisão, deixe-me encontrá-la Seção de colisão, você pode ver por padrão, está dizendo que não há colisão Se mudarmos isso para bloquear tudo, isso bloqueará tudo. E depois disso, a simulação teleto gera ódio. Basta verificar a compilação do cabeçalho. Não, vamos resolver. Deveria bloquear tudo, certo? Você vai em frente. Basta olhar para ela, para seguir em frente e atirar nela. Não, você pode ver que diz, radar destruído, radar destruído. Vamos voltar assim e atirar de novo. Veja, quando atingiu isso, diz que o radar foi destruído. E não, estamos acertando. E se atingirmos o chão, destruiremos. Também seremos destruídos. Então não, o radar é destruído e temos o evento. Não, também queremos alguns efeitos. Então, sabemos que está destruído. Vejo que podemos fazer isso a seguir, 70. 67 Radar de dano: Não, por destruir nosso radar. Precisamos de alguma visualização dizer que ela está destruída, certo? Então, para fazer isso, se você for até a gaveta de conteúdo, vá para S, vá para ativos e aqui, vá até veículos de conteúdo vigilante, o radar, você pode ver se vamos para a pasta de danos, há um sistema de radar danificado Então, isso é legal. Nós podemos usar isso. Você pode ver os pneus aqui, você pode ver que o radar em si é apenas uma malha estática. Não é uma malha esquelética, então isso é bom, certo? E também temos alguns efeitos. Se você não clicar aqui, no EffexFolder, clique aqui para que você possa vê-lo Aqui, não, você pode ver, queremos usar esses efeitos visuais nele também. Oh, nós podemos usá-lo. Se formos para a gaveta de conteúdo, eu quero ir para a pasta Sam, ir para as plantas Quero clicar com o botão direito do mouse aqui, criar uma classe de modelo do tipo de ator e quero chamá-la de Radar danificado pela BP Radar de danos. Clique com um ponto nele para abri-lo. E aqui, queremos criar um radar danificado. Então, precisamos de uma malha estática desta vez porque o radar de danos é apenas uma malha estática Então, adicione uma máquina estática aqui, coloque-a como raiz padrão arrastando-a e soltando-a lá, e a malha estática que você deseja usar é chamada de West Radar Patriot damage Coloque-o lá. Agora você pode ver que agora, novamente, clique no anúncio, pesquise a partícula do sistema Niagara e, aqui, escolha o radar NSS Coloque-o lá. Agora, os efeitos visuais também estarão lá. Agora temos uma planta que podemos usar sempre que o radar for destruído. Vamos ver como podemos usá-lo. Vá para o BP Radar. Não precisamos mais desse anel de impressora. O que queremos fazer sempre que algo atinge esse radar, queremos gerar um ator de uma classe Qual é a aula? A classe é um radar danificado da BP, certo? Ele precisa de uma transformação para dizer onde está. Podemos simplesmente arrastar e soltar e dizer: faça o ator se transformar. Isso é mais do que suficiente. Não, depois de gerar esse radar danificado, precisamos destruir esse radar que temos aqui, apenas destruir o ator, esse radar que não está danificado, certo Só com isso, vamos para o nosso nível. Se atropelarmos o jogo, vá em frente. Eu subo e atiro na hora, certo? E saiba que, se eu acertar, posso me gabar e ir ao nosso radar. Basta olhar para isso. Não, nosso radar é destruído com sucesso. Você pode ver que, porque o atingimos, ele foi destruído com sucesso, e isso parece incrível. Como tudo isso é alegação, podemos entrar nela sempre que formos, certo? É isso mesmo. Não, somos capazes de destruir o radar. 71. 68 Modelo do sistema de mísseis: Sem radar excessivo, encontre mais do F 18, mas não é possível usar um míssil porque não tem nenhum sistema de mísseis Então, o que eu quero fazer, primeiro de tudo, deixe-me fechar algumas dessas coisas que não precisamos mais. Feche esse. Precisamos do radar da BP por enquanto Vá para a gaveta de conteúdo, clique com o botão direito aqui, crie uma classe de modelo do tipo de ator, e eu quero chamá-la de míssil de radar BP. Sistema, ok, ou como você quiser chamá-lo, não clique nele para abri-lo. Novamente, aqui, eu quero adicionar uma malha esquelética. Então, pesquise a malha esquelética aqui, e eu quero arrastá-la e soltá-la, colocá-la como enraizamento padrão e escolher nosso SK east AAT Este é o nosso sistema de mísseis. E agora você pode ver que não há nenhum míssil lá dentro, mas temos alguns rastros lá que podemos colocar mísseis Então, vamos ver o que podemos usar. Clique aqui em uma malha estática para não, em uma mistura estática. E aqui, há uma malha estática chamada SM East AASAT Missile. Basta escolher isso. Agora, você pode ver onde ele foi criado porque é uma malha infantil ou esquelética Podemos escolher um soquete principal onde colocá-lo Por exemplo, soquete de foguete um, certo? Agora, você pode ver que está no lugar certo. Precisamos de quatro deles. Então, vamos dar um nome a esse. Controle D para duplicá-lo. Novamente, controle D para duplicá-lo mais uma vez. Novamente, controle D para duplicá-lo mais uma vez, porque precisamos de quatro deles porque temos quatro faixas aqui Não, clique em dois. Clique no soquete principal e coloque-o no soquete dois. Agora, você pode ver que está lá. Depois disso, clique novamente no soquete principal Este é o foguete três . É isso mesmo. Agora, para o quarto, novamente, queremos colocá-lo no quarto. Não, você pode ver que todos os mísseis estão no lugar certo. Vamos colocá-lo dentro do nosso nível. Onde queremos colocá-lo, queremos colocá-lo perto do nosso radar. Não importa se está perto do nosso radar ou não, mas é assim que deve ser, certo? Então, coloque isso, por exemplo, aqui, certo? Não, com isso feito. Primeiro e primeiro, queremos girá-lo um pouco para cima, certo? Então, como podemos fazer isso? Podemos fazer isso com um plano de animação. Então, eu quero te dar isso como um desafio. Tente girar esses mísseis para cima sem parar, e faremos isso 72. 69 Míssil olhando para cima: Conhecido por girar nosso sistema de mísseis um pouco para cima, que ele fique voltado para o avião de combate, por exemplo, sempre que necessário, precisamos ir até a gaveta de conteúdo e, aqui, criar um plano de animação Então vá para a animação e crie um plano de animação para nosso SkleAS Cabeça criar e eu quero chamá-lo de sistema de mísseis ABP, sistema mísseis ou sistema de mísseis de radar Com isso, quero ir ao nosso sistema de mísseis de radar da BP, clicar em nossa malha esquelética e colocá-la Procure o sistema de mísseis ABP. Nada aconteceu porque não fizemos nada aqui em nosso sistema de mísseis ABP Então, vou clicar nele para abri-lo. Como sempre, precisamos colocar o espaço da malha pose de referência aqui, para que ele nos forneça todas as informações sobre os ossos. E depois disso, queremos usar um osso modificado para modificar um dos ossos. Vamos conectá-lo à pose de saída aqui e, depois disso, decidiremos qual esqueleto queremos alterar Para fazer isso, eu quero clicar no esqueleto aqui e saber aqui, você pode ver algumas coisas aqui Por exemplo, há uma junta de postes de mísseis que, com ela, podemos girá-la um pouco para cima Por exemplo, 35 graus, certo? Portanto, precisamos mudar a rotação da junta dos postes dos mísseis. Então, vamos ver como podemos fazer isso. Aqui, em primeiro lugar, clique neste nó e escolha os postes. Procure por um poste Junta de postes do tamanho Ms, não GAO, apenas junta, certo Não queremos mudar a tradução. Então clique aqui, não o exponha como um alfinete. Também não queremos alterar a escala, então não a exponha como um alfinete, mas queremos alterar a rotação E para o modo de rotação, quero adicioná-lo à existência, e o espaço do componente é mais do que suficiente. O que você quer mudar aqui, vamos verificar. Se você olhar aqui porque clicamos aqui, ele mostrará uma rotação por aqui, certo? Você pode ver que podemos mudar isso e ver as falsificações aqui. Então, precisamos mudar o tom. Por exemplo, a 45 graus ou 35 graus. Você decide o que quer fazer. Eu quero colocá-lo em 45 graus, certo? Isso é tudo o que precisamos fazer. Não, está pronto. E se você for para o nosso nível, correr e ejetar para que possamos dar uma olhada, você verá que está 45 ou 35 acima Isso parece bom, certo? Isso é incrível. Nós giramos ou perdemos que ele olhe para cima, não para o chão, certo Então não faz o que você quer fazer. Se você olhar aqui, você pode ver a hidráulica, ela está entrando Deixe-me ir e você verá que o sistema hidráulico está entrando. Então, precisamos recuar um pouco até aqui. E como podemos fazer isso, novamente, podemos fazer isso no esquema de animação, certo? Então, eu quero que você faça isso como uma prática para que você se lembre disso sempre. Tente fazer isso sozinho. Faremos isso no próximo vídeo. 73. 70 Posição da haste do míssil: Não, por trocar aquela hidráulica. Vamos dar uma olhada nisso. Se você for até um esqueleto, verá que temos uma junta de haste hidráulica Nós tínhamos W, podemos mudar a posição dele, certo? Deveria estar aqui, certo? Deveria estar aqui. Portanto, precisamos mudar a posição da nossa haste hidráulica. Vamos até o sistema de mísseis ABP aqui para usar osso modificado novamente E aqui, eu não quero mudar a rotação. Então clique aqui, não a exponha como um alfinete e, para a balança, não quero alterá-la de jeito nenhum Só a tradução. Eu quero clicar aqui na existência, e pronto. O que precisamos mudar, precisamos trocar a haste hidráulica. Então, haste hidráulica, basta escolhê-la lá. Agora, se formos ao nosso esqueleto, você pode ver que queremos mudar a posição ao longo do eixo X. Este vermelho é o eixo X. Você pode ver isso aqui. Agora, vamos colocar algum valor lá. Ou podemos ir aqui e mudar a posição assim, assim. E você pode ver que -55 é mais do que suficiente. Então coloque -55 lá. Só com isso, vamos fazer uma corrida de nível. E ejete para que possamos ir até lá em F. Vamos dar uma olhada na haste hidráulica Você pode ver que parece bom. Não está dentro do sistema de mísseis. Parece bom, mas não, queremos que esse sistema de mísseis examine o alvo Eu deveria encarar o alvo. Mas agora, nosso radar sabe sobre o alvo, mas esse sistema de mísseis não sabe sobre isso A primeira coisa a fazer é deixar o sistema de mísseis sair do sistema de radar para saber onde está o alvo e faremos isso em seguida 74. 71 Conecte o sistema de radar ao sistema de mísseis: Saiba o que temos. Temos um radar e um sistema de mísseis que precisamos para conectá-los. E como podemos fazer isso, existe uma maneira fácil. Vamos ao nosso radar da BP. Primeiro, precisamos dizer a esse radar da BP que esse sistema de mísseis de radar da BP você deve estar conectado dentro Então, o que queremos fazer é dizer a radar que esse é o seu sistema de mísseis Então, se você encontrar um alvo, passe-o para esse sistema de mísseis para que ele possa atirar nele, certo? Então, para fazer isso, eu quero criar uma variável aqui, e eu quero chamá-la de míssil Sistema. E o tipo disso, eu quero procurar por mísseis BP, sistema de mísseis radar BP Do tipo, queremos que seja um sistema de mísseis de radar da BP. Então, com essa variável, o que acontecerá, podemos dizer a esse sistema de radar que este é o seu sistema de mísseis, que você deve passar o alvo até ele, certo? Saiba como podemos realmente dizer que esse é o seu sistema de mísseis Precisamos clicar nessa variável, torná-la editável em posição e expô-la em um intervalo Então, com isso, se compilarmos save e passarmos para um nível, não, você pode ver a variável do sistema de mísseis que criamos em where blueprint, ela também está aqui Assim, podemos dizer qual sistema de mísseis é o seu sistema de mísseis clicando aqui e ele nos dará uma opção colorida para que possamos escolher um sistema de mísseis que queremos que seja conectado ao Então clique aqui. Agora, com isso feito, o radar sabe que esse é seu sistema de mísseis e deve passar o alvo até ele para que possa atirar nele Agora, vamos ver como podemos ultrapassar o alvo. 75. 72 Passe o alvo para o sistema de mísseis: Saiba que nosso radar está conectado ao sistema de mísseis e sabe para qual sistema de mísseis deve passar pelo alvo Vamos ver como podemos passar por isso, certo? Então, com esse sistema de mísseis variável, sabemos a qual sistema de mísseis em nosso nível estamos conectados Então, precisamos passar o alvo para ele, certo? Então, para fazer isso, eu quero ir para o BP Radar Missile System E aqui, eu quero criar um evento personalizado, certo? Evento personalizado. E eu quero chamar isso de meta definida para mísseis, certo? Defina o alvo do míssil. E aqui, queremos ter uma contribuição para este evento. Para fazer isso, basta clicar nele, adicionar uma entrada do tipo de ator e eu quero chamá-lo de alvo, certo? É isso mesmo. Precisamos promover isso para uma variável. Então, promova-o como uma variável. O tipo é ator, ele o criará para nós. Agora, com este evento, o que eu quero fazer é usar uma string de impressão, e quero dizer que o míssil tem um alvo para atirar, certo? E a cor dela, eu quero colocá-la em vermelho para que você possa ver melhor, desse jeito. Agora que temos esse evento personalizado chamado definir alvo de míssil Podemos usá-lo dentro do nosso radar para passar o alvo até ele, certo? Assim, podemos obter nosso sistema de mísseis ao qual esse sistema de radar está conectado e usar seu alvo personalizado de mísseis definido por eventos, certo É como uma função. E podemos passar o alvo até ele, certo? Assim, podemos levar o outro ator que tem esse corpo FATN dentro dele para o sistema de mísseis Agora, com ton, vamos compilar, salvar e executar o jogo, e saber se avançarmos e, quando nos sobrepormos a essa esfera, veremos o que acontecerá O radar o localiza e passa o alvo para o sistema de mísseis. Novamente, vamos entrar nela novamente. Como essa luta, aquela. Você pode ver que dirá que o míssil tem um alvo para disparar, certo? Agora, com isso feito, próxima coisa que queremos fazer enfrentar o sistema de mísseis para o caça a jato Vamos ver como podemos fazer isso no próximo vídeo. 76. 73 Rotação do sistema de mísseis: Não, queremos que nosso sistema de mísseis examine nosso caça ainda. Deixe-me mostrar a você que não está fazendo isso. Por fazer isso, deixe-me fazer com que nossos jogadores comecem. Isso é aqui, apresente-o assim e vá até aqui e coloque aqui, certo? Fale um pouco sobre isso. Agora, se você atropelar novamente, verá que nosso caça está aqui, mas nosso sistema de mísseis não está olhando para nós Então isso é um problema, certo? Então, vamos ver como podemos corrigir isso. Para corrigir isso, vamos ao nosso sistema de mísseis ABP. E aqui, vamos ver como podemos girar nosso sistema de mísseis primeiro Para fazer isso, vá até um esqueleto aqui e encontre o osso com o qual devemos fazer isso, certo? Podemos fazer isso com articulação dentada, certo? Aqui, se eu apertar E, posso girá-lo. Queremos girá-lo assim. Então isso é mais do que suficiente, certo? Isso parece bom. Não, para girar isso Queremos ir para o sistema de mísseis ABP. Use essa rotação variável, Control C, para copiá-la, certo? É para localização ou tradução, e isso é para rotação. Então copiamos este, certo, colamos aqui e conectamos o pino de execução ou pino do poste a ele, certo? Queremos mudar a rotação em torno do eixo Z. Então, clicando com o botão direito aqui, divida o pino do traçado. Precisamos colocar isso em zero porque não precisamos mudar o tom, certo? Mas queremos mudar a mandíbula ou a articulação dentada. Então escolha a junta dentada, compilação principal, nada aconteceu Mas se mudarmos isso para 40 graus, por exemplo, inicie a compilação Agora, você pode ver, está mudando o ya, girando em torno do zx, certo? Então não, com esse nó, estamos mudando a rotação do nosso sistema de mísseis, mas precisamos calcular a rotação que ele deve ter para poder enfrentar o avião de combate Para fazer isso, temos nosso alvo aqui, certo? Podemos colocá-lo dentro de um gráfico de eventos como este. E aqui, podemos criar uma peça inicial porque devemos acessar esse sistema de mísseis de radar da BP, certo, com o evento começar a jogar e entrar em ator, podemos escalar isso como ator porque sabemos que o dono desse sistema de mísseis ABP é o sistema de mísseis de radar ABP Então, nós o lançamos para o sistema de mísseis de radar da BP, certo? Se esse lançamento for bem-sucedido, podemos transformar nosso sistema de mísseis de radar BP uma Não, eu quero chamá-lo apenas de sistema de mísseis de radar da BP. E dentro desse sistema de mísseis de radar da BP, eu quero pegar o alvo, certo Pegue o alvo. E queremos clicar com o botão direito do mouse nessa, promovida a uma variável também. É isso mesmo. Agora temos acesso ao nosso sistema de mísseis de radar e também ao alvo Não, a próxima coisa que queremos fazer aqui. Não precisamos desse dono de peões trigonométricos. Não, primeiro de tudo, queremos verificar se esse sistema de mísseis de radar da BP GBP é válido ou não, é válido, certo Se for válido, a seguir, queremos verificar se esse alvo é válido ou não. Portanto, verificamos se este também é válido . Devemos garantir que ambos sejam válidos, certo? E a primeira coisa que queremos obter é a rotação que o sistema de mísseis tem com o alvo Então esse é o nosso sistema de mísseis, e esse é o nosso alvo Essa rotação que ele tem, queremos descobrir isso e como podemos descobrir que existe um nó chamado find Look rotation, certo? Assim, ele encontrará a rotação entre o local inicial e o local de destino. Ele encontrará a rotação entre eles. Então esse nodo é muito útil, certo? O local de partida é a localização do sistema de mísseis por radar Então, obtemos o sistema de mísseis de radar, localização da palavra, a localização correta da malha esquelética e conectamos ao início Deixe-me abrir um pouco de espaço. Mas o ponto alvo é nosso alvo aqui. Então, vamos pegar o alvo e obter a localização do ator. Isso para obter a localização do ator nos dará a palavra localização de mais do ator, certo? Vamos colocá-lo aqui. Esse é o nosso alvo. Então, agora com isso, esse nó nos dará a rotação do nosso sistema de mísseis de radar até o alvo, certo? Essa é aquela rotação, certo? Mas queremos obter o rotador Delta. Por exemplo, digamos que esse é o nosso sistema de mísseis e essa é a rotação em direção ao alvo, certo? E o que precisamos que aconteça, precisamos mudar a rotação do nosso sistema de radar para essa rotação que ele tem em direção ao local do alvo, certo? Então, como podemos fazer isso, existe um nó chamado rotador Delta Então, isso nos dará a diferença entre os dois rotadores, rotação do nosso míssil de radar e a rotação que ele deveria ter, certo A rotação que deveria ter é essa rotação que está entre o sistema de mísseis e o alvo Mas a rotação que ele já tem, podemos obtê-la, entramos no sistema de mísseis de radar da BP e obtemos a rotação de palavras de nossa malha esquelética , certo? Assim mesmo. Vamos colocá-lo aqui. E conecte-o assim. Então, esse rotador delta nos dará a diferença entre a rotação que nosso sistema de mísseis tem atualmente e a rotação que deveria ter em direção ao alvo, certo Agora, com isso feito, podemos quebrar esse rotador Delta, para que tenhamos acesso ao Yovt Esse ya é importante porque mudamos a rotação desse sistema de mísseis com base nessa rotação Ya em torno do eixo Z. Clique com o botão direito do mouse nela para ser transformada em variável, e eu quero chamá-la de sistema de mísseis Rotação, certo? Dentro do sistema, da rotação, e eu quero conectar a execução, fixá-la, se for válida desta forma, e colocá-la aqui E agora, com isso feito, podemos ir ao gráfico anim e conectar desse sistema de mísseis à rotação Z ou Ya, certo? Headcompile Nada vai acontecer. Não se preocupe com isso. Agora, se formos para o nosso nível e para o jogo Runo, você pode ver que nosso sistema de mísseis está olhando para o caça a jato Se você seguir em frente, você pode ver que está mudando sua rotação porque nos encontrou e está olhando para nós. Vamos ver como podemos testá-lo melhor. Se você fugir do jogo e ejetar daqui, podemos subir e dar uma olhada Se você clicar no avião de combate, você pode caber, você pode ver que ele será destruído, mas não se preocupe com isso. Onde quer que o avião de combate vá, você pode ver que nosso sistema de mísseis está olhando para ele, certo? Isso é legal. Saiba que a próxima etapa está concluída, mas não, é hora de disparar um míssil contra um caça a jato Vamos ver, podemos fazer isso a seguir 77. Míssil 74 Sam: Nosso radar bloqueia um alvo em nosso F Aighteen e informa o sistema de mísseis sobre esse F Mas não, é hora de atirar nesse alvo, atirar em nosso caça a jato com nosso sistema de mísseis Para fazer isso, precisamos de um míssil com um projétil porque fizemos isso para nosso avião de combate, podemos simplesmente copiar, colar e usar isso e alterar a malha esquelética porque é exatamente Então vá para o avião de combate, vá para a planta, e aqui, duplique esse míssil BP com o Controle D, e eu quero chamá-lo de míssil SM, SM é para míssil terra-ar SM é para É por isso que o chamamos de SAM. Não, eu quero arrastá-lo e colocá-lo na blueprint da pasta SM, movê-lo para lá, o duplicado , e ir para lá, certo? Não clique duas vezes nele para abri-lo. Há algumas coisas aqui que não precisamos. Por exemplo, essa rotação não precisamos, certo? Não precisamos dessa câmera. Este braço de mola, não precisamos dele, certo? Esse esqueleto, nós não precisamos dele, certo? O que precisamos, precisamos apenas de uma malha estética. Basta colocar uma malha estética. A malha estática que eu quero usar é um míssil triplo. Deixe-me ir aqui para que você possa ver melhor. Não, isso é uma malha estática, eu queria ser uma raiz, isso. E no Niágara, eu queria ser filha da malha estática, e do áudio eu queria ser filha da malha estática também É isso mesmo. Simples assim, certo? Não, precisamos posicionar o Niágara corretamente. No momento, está voltado para o lado errado porque é uma malha estática. Não tem nenhum osso dentro dele. Podemos simplesmente colocá-lo onde quisermos, certo? Então, aqui primeiro, vamos girar 180 graus e reposicioná-la assim para a esquerda, um pouco para cima Vamos ver se está bom ou não, sim, a posição em não é boa e nosso míssil está pronto, mas queremos acrescentar algumas coisas a ele Por exemplo, aqui, quando o projétil parar, queremos aplicar algum dano em qualquer cabeça desse míssil Como podemos fazer isso, é fácil. Podemos apenas dizer que aplique danos. É isso mesmo. E precisamos dizer qual ator deve ser danificado. Podemos conseguir isso com o ator principal, o ator que atingimos, certo, que nesse caso, na maioria dos casos, será o caça a jato, mas se ele atingir o solo, tentará causar danos ao solo, mas porque o solo não tem nenhuma ajuda, então não diminuirá, certo? Mas se ele atingir o avião de combate porque tem dano aplóide, ele aplicará algum dano ao ator que está atingindo Também precisa de um dano básico. Basta colocar dez, por exemplo, para não lá, e pronto. A próxima coisa que eu quero fazer. Quero clicar em nosso movimento de projétil. Eu não quero mudar nada. Eu só quero ir aqui e mudar a magnitude da aceleração de localização para algo que não seja demais. Se aumentarmos muito, isso sempre nos atinge, certo? Então, precisamos colocar um valor como 40.000 aqui. Então, às vezes podemos contornar esse míssil, certo? Então, o jogo será mais fácil. Você pode jogar com esse valor até alcançar o resultado desejado. Se você quer um jogo mais difícil, pode aumentar isso, certo? Não, a próxima coisa que eu quero fazer é dizer, se depois de 5 segundos, se depois de 5 segundos, esse míssil não atingir nada, faça-o explodir, E como podemos fazer isso sempre que o início do jogo acontecer, o que ele fará é primeiro verificar se o alvo é válido. Isso o colocará como lar no míssil alvo, certo? Mas eu também quero fazer outra coisa. Então, deixe-me pegar tudo isso e adicionar uma sequência aqui, porque sempre que esse míssil criado ou gerado Queremos destruí-lo após 5 segundos se ele não atingir nada, certo? Então, aqui, eu quero definir um cronômetro definido por evento, certo? E depois de cinco segundos, por exemplo, podemos chamar esse míssil de vida útil, certo? Então, podemos simplesmente arrastar e soltar, promovendo uma vida útil variável do míssil E comece a compilar, eu quero colocá-lo em cinco por enquanto, mas podemos alterá-lo mais tarde Não queremos que ele se repita de jeito nenhum. Mas sempre que esses cinco segundos passarem, o que queremos que aconteça é criar um evento personalizado. Eu quero chamar isso de explodir, certo? Explodir. E o que queremos que aconteça, queremos que tudo isso aconteça. Então, ele será destruído. Deixe-me criar algum espaço aqui. Queremos ter uma explosão, um pouco de som, e destruí-lo também. Então, podemos simplesmente copiar tudo isso e colar aqui, e com isso, estamos criando uma explosão. Essa explosão precisa de uma localização, e esse som precisa de uma localização. Então, como podemos fazer isso, podemos obter a localização do ator para isso, certo? Podemos simplesmente conectá-lo aqui e também para o som. E é isso. Após 5 segundos, esse míssil deve ser destruído. Mas para testar isso, quero clicar em Missile Lifetime e colocá-lo em dois ou três para que possamos testar a sacola Se tivéssemos compilado, vá para o nível. O que eu quero fazer é pegar um desses mísseis como esse, girá-lo para cima, levantá-lo um pouco Podemos girá-lo um pouco mais. Agora, se você atropelar o jogo após 2 segundos, ele deverá ser destruído. E você pode ver que depois de 2 segundos, ele foi destruído. Mas o valor que queremos atribuir à vida útil desse míssil, eu quero que seja cinco Espere 5 segundos para atingir o alvo, mas se não conseguir, ele será destruído. Você precisa alterar esse valor posteriormente. Por enquanto, é só para testar. 78. 75 Fire Sam: Agora vamos ver como podemos disparar um míssil em nosso caça a jato Por fazer isso, deixe-me mostrar algo para você. Nós temos algum sistema. Deixe-me abri-lo para que eu possa mostrar a você o sistema de mísseis de radar da BP, certo Aqui, onde estamos atingindo o alvo. Estamos atingindo o alvo com este evento de míssil definido, certo? Não precisamos dessa impressão, certo? Então, aqui, temos o alvo, certo? Aqui, não queremos disparar mais de quatro mísseis ao mesmo tempo, certo? Então, precisamos de um cronômetro. Então, disparamos esse míssil a cada 5 segundos, três segundos ou qualquer outra coisa, certo? Então, aqui, sempre que colocamos o alvo dentro desse sistema de mísseis de radar, queremos ajustar um cronômetro novamente, certo? Defina o cronômetro por evento. Digamos que, depois de 5 segundos, queremos que algo aconteça, certo? E com esse evento, podemos criar um evento personalizado e podemos chamá-lo de míssil de fogo, certo? Precisamos ativar o loop, certo? Então, isso acontecerá até que esses quatro mísseis sejam disparados e não queiramos recarregá-los A cada cinco segundos, esse evento acontecerá. E aqui, a primeira coisa que queremos verificar, queremos verificar se o alvo é válido. Então dizemos que é válido, certo? E conecte-o assim. Se for válido, não, queremos verificar qual míssil está disponível, certo? Então, vamos começar com M 1. Com um, verificamos a visibilidade. Está visível ou fica visível, certo? Ambos funcionarão. Então, verificamos com uma ramificação se o alvo é válido e o M está visível. Isso significa que podemos filmar essa, certo? Mas como podemos filmar isso, podemos usar um ator de spawn de uma classe E a classe que você quer usar tem um míssil dentro dela. É chamado de míssil BPSM. Aquele que criamos juntos. Não para spawn transform. Novamente, podemos pegar o M, neste caso, e obter a palavra Transformar, certo? Obtenha uma transformação de palavras de mais de N um, e pronto. Podemos conectá-lo a uma transformação de amplitude. E para lidar com colisões, quero dizer sempre um spa. Ignore a colisão É isso mesmo. Não, eu preciso do alvo. O alvo é válido e podemos simplesmente passá-lo para ele, certo? É isso mesmo. Isso é tudo que precisamos fazer. Vamos testar isso também. Deixe-me mudar a posição inicial do jogador, para que ele não atire em nós imediatamente. E com a posição em que eu quero deletar esse míssil também Não, vamos correr novamente. Não, você pode ver que ele não vai atirar em nós porque não tem nenhum alvo, mas se seguirmos em frente, vamos ver o que vai acontecer. Haverá um problema. Você vai aqui, você pode ver, não, ele nos encontra, e você pode ver que ele atirou em nós, mas foi destruído imediatamente. Você pode ver a cada 5 segundos que está atirando em nós. Você pode ver isso. cada 5 segundos, ele atira em nós, mas colide consigo mesmo e será destruído Então ele encontra o alvo, eu atiro em nós, mas ele é destruído sozinho. Vamos ver como podemos resolver isso. 79. 76 Colisões do sistema Sam: Agora vamos ver qual é o problema. O míssil foi disparado, mas atingiu a si mesmo. Vamos até lá e dê uma olhada. Você pode ver que geramos um míssil exatamente nessa rotação e localização, Então, vai se machucar. Dizemos ignorar a colisão, mas ela se atingiu sozinha, certo? Ele surgirá, mas será destruído imediatamente. Então, vamos ver como podemos corrigir isso. Para corrigir isso, vamos ver qual é o problema. Se formos até nosso míssil BPS aqui, se criarmos um pouco de espaço aqui, é só para mostrar o que está errado, certo? Então, aqui, estamos atingindo algo e o projétil para imediatamente, certo? Então, o que eu quero fazer usar uma string de impressora aqui, certo, e mostrar o nome do ator principal. Obtenha o nome de exibição, ok? Compilar. Agora, vamos seguir em frente, ver o que está atingindo, certo? Vamos em frente até que você nos encontre, só isso. Você pode ver, está atingindo o sistema de mísseis de radar, então está atingindo o Então, vamos ver como podemos corrigir isso. Para corrigir isso, quero ir para Editar, ir para a configuração do projeto e deixe-me colocá-lo aqui. Para entrar em colisão, precisamos criar algum canal de objetos Primeiro, para mísseis e depois para o sistema de mísseis, certo Então, aqui, clique no canal New Object, e eu quero chamar esse míssil S. E precisamos criar outro. Desta vez, quero chamá-lo de algum sistema. Está bem? Então, sistema e algum míssil, certo? Não, com isso, temos algumas predefinições, certo? Tipo buraco de bloco, orifício de sobreposição e tudo mais, certo? Não, queremos adicionar mais algumas coisas. Por exemplo, vamos clicar em Novo. Queremos criar um para algum sistema. Então, coloque algum sistema para seu nome. E queremos permitir a colisão porque devemos ser capazes de atirar nela e destruí-la, certo? Portanto, a colisão habilita o objeto de brinquedo porque é um sistema de soma Vamos colocar o sistema de soma lá, certo? E precisamos desse sistema de soma para bloquear tudo, mas ignore o míssil Sam, certo? Faz sentido, certo? Claro que precisamos criar outro para algum míssil. Coloque um míssil S para o nome. Novamente, queremos ativar a colisão, que ela possa atingir qualquer objeto do tipo, queremos colocá-la no míssil S e bloquear Mas o míssil S e algum sistema. Queremos ignorar os outros mísseis Sun e algum sistema. A cabeça aceita, e pronto. Agora, podemos ir ao nosso sistema de mísseis de radar, selecionar a malha esquelética, e aqui, este é o nosso sistema de mísseis Portanto, precisamos alterar a predefinição de colisão para algum sistema, mas ela não está lá O motivo pelo qual ele não está lá em algum momento simplesmente fechá-lo, salvar tudo e abri-lo novamente. E saiba que se você clicar na malha esquelética, desça e clique na predefinição de colisão aqui, agora você pode vê-la Este é o nosso sistema SAM. Então eu vou colocar o sistema S lá, e eu vou fazer isso para todos os mísseis que estão lá, certo Então, selecione todos eles e altere-os para algum sistema, certo? É isso mesmo. O que quer que esteja dentro desse sistema de mísseis radiais deve ser um sistema SM Não, vamos fazer isso com um míssil. Não clique nele para abri-lo. A malha estática. Não, devemos ir para a seção de colisão e trocá-la por algum míssil Não, vamos apenas contar. Se você terminar o jogo, haverá um problema. Você pode ver essa grande esfera. Está colidindo com o míssil. Então, vamos ver o que vai acontecer. Ele nos encontrou, e você pode ver que está gerando fora desta esfera e o destruindo lá Você pode ver isso. Está destruindo tudo lá Então, o que precisamos fazer é ir ao nosso radar. Deixe-me encontrar nosso radar P. E essa maior esfera, precisamos mudar sua colisão. Diz que se sobrepõem a todas as dinâmicas, mas queremos dizer que se sobrepõem a E agora está bloqueando o novo perfil que estamos criando aqui. Você pode ver alguns mísseis e algum sistema. Então, precisamos corrigir isso. Para sobrepor, clique nele e peça para ele sobrepor esses dois também ou ignorá-los, O calor aceita, e precisamos fazer isso para o radar da BP. Aqui, queremos alterá-lo para sobrepor O, e precisamos fazer isso também para F 18 Então vá para Blueprint. Dezoito, temos uma grande colisão de caixas. Precisamos alterar a predefinição de colisão para sobrepor tudo porque estamos apenas usando a sobreposição Então é isso. Agora, vamos testar isso mais uma vez. Seguimos em frente para ver o que vai acontecer. E agora, você pode ver que está nos atingindo, certo? Novamente, vamos só por um segundo. Você pode ver que está nos atingindo, e isso é lindo Isso é muito bonito. 80. 77 Correção de bug do sistema de mísseis: Não há nenhum problema que ocorra aqui. Vamos ver. Aqui, eu quero atropelar o jogo. Vamos entrar nela. Vá lentamente para dentro dela. Eu não quero ir rápido. Então, vou usar alguns freios para que não suba para o céu. Você pode ver que o sistema de mísseis não está olhando para nós. Está tentando nos atingir, mas não está olhando para nós. Por que isso está acontecendo. Se formos para o sistema de mísseis ABP, você pode ver que estamos atingindo o alvo no início, certo E não vamos conseguir isso depois disso, então isso não vai acontecer. Então, como podemos corrigir isso, precisamos apenas excluir esses dois. Isso é só um grande. Como eu quero fazer isso, quero tirar o alvo daqui. Então pesquise por Target, pegue o alvo aqui e verifique se ele é válido ou não. Aqui, estamos usando a variável alvo. Mas, novamente, quero obter o alvo do nosso sistema de mísseis de radar Por isso, ele estará sempre atualizado. Esse é um bug que nós corrigimos com muita facilidade. Agora, com isso feito, não precisamos dessa variável, podemos simplesmente excluí-la, compilar e executar o jogo Não, se você avançar lentamente, não vá para o céu. Você não precisa fazer isso. Então, escreva um pouco. Não, vamos ver se está olhando para isso agora, você pode ver que está de frente para nós. Então, isso está funcionando bem. Não, pois o problema foi corrigido. Mas outro problema é que os mísseis desapareçam, mas não é escondê-los Então, eu quero te dar isso como um desafio. Em nosso sistema de mísseis de radar, estamos verificando. Se estiver visível, atire, mas não o tornamos invisível. Era só para testar, mas não, queremos torná-lo invisível e fotografar em outros. Então você tenta fazer isso, e nós faremos isso no próximo vídeo. 81. 78 destroy caça: Não, o míssil pode atingir o avião de combate, mas não o está destruindo Vamos ver como podemos destruir nosso caça a jato. Para fazer isso, eu quero ir para o BPF 18, e aqui, vamos ver onde o estamos destruindo Quando a força G está chegando a mais de dez, estamos destruindo o avião de combate, certo? E você pode ver que tudo isso vai acontecer. Sei o que eu quero fazer. Você lembra que no míssil BPSM, quando atingimos alguma coisa, aplicamos um dano de dez, certo Podemos conseguir esse evento. Como podemos obtê-lo, podemos dizer evento, qualquer dano, certo? Portanto, se estivermos usando danos aplicados, neste evento, qualquer dano acontecerá. E com isso, sempre que isso acontecesse, podemos destruir o jato apenas conectando-o assim. Vou criar uma explosão, ela emitirá um som, vou desligar o motor. Eu farei tudo por nós. Não, vamos dizer stato se rodarmos um jogo, então avance, vá para o céu, que ele possa nos atingir, certo? Não, ele nos encontrou. Vamos ver se isso pode nos atingir. E agora você pode ver que nos atingiu, certo? Então isso é bom. Mas queremos reiniciar o jogo quando formos destruídos. Como podemos fazer isso depois destruir o avião de combate aqui, podemos definir um cronômetro como esse, definir um cronômetro por evento Por exemplo, depois de três segundos em que fomos destruídos, queremos criar um evento personalizado, um evento personalizado. E eu quero dizer reiniciar o jogo, certo? Então, depois de três segundos, esse evento acontecerá, e queremos reabrir o nível novamente e reiniciar. Abra o nível por nome. O nome é New Map. Vamos colocá-lo lá. Novo mapa. É isso mesmo. Esse é o nosso nível. Nós podemos recarregá-lo. Agora, se você atropelar o jogo, vamos seguir em frente novamente. E suba. Se eles nos encontrarem, ele nos criará e a poeira após 3 segundos será recarregada Então, isso está funcionando bem. Conheça o problema principal. O principal problema é que, em nosso sistema de mísseis de radar da BP, estamos atirando apenas no NO O que queremos fazer depois de filmar o NO tornar o MO invisível. Então pegue o MO e defina a visibilidade, certo? Para direcionar a visibilidade de uma toca falsa ou principal, certo? Agora, feito isso, se rodarmos nosso jogo, atirarmos em nós uma vez, porque estamos marcando apenas M um e isso é um problema. Precisamos adicionar dois ent e quatro também. Vamos apenas esperar. Não nos atingiu dessa vez, explodiu um pouco. Estamos pairando agora. Você pode ver que não está mais nos machucando porque não tem nenhum míssil Vamos descer e dar uma olhada. Você pode ver, um dos mísseis é disparado, então isso é bom, e ele será Agora, queremos criar um sistema de mísseis para nosso sistema de mísseis de radar disparar e dois e três e quatro Você tenta fazer isso. Faremos isso no próximo vídeo juntos. 82. 79 disparar todos os mísseis: Não para disparar outros mísseis. Vamos ver como podemos fazer isso. Aqui, verificamos se o M é invisível, significa que filmamos o M. Então, neste caso, queremos verificar os dois, certo? Não precisamos fazer um por um. Podemos simplesmente copiar e colar tudo isso, certo? Precisamos usar muito copiar e colar. Então, neste caso, se um não estiver visível, então não podemos fotografá-lo, devemos ir para dois. Então, tudo isso, queremos mudá-lo para dois, como este aqui dois. O alvo é o mesmo e aqui dois. É isso mesmo. Precisamos fazer isso uma, duas vezes mais aqui por três e quatro. É claro que, novamente, podemos usar matrizes, mas não quero dificultar isso para iniciantes Então, este é para t. Então, vamos fazer a entrada e a árvore aqui. Não, este é para quatro e quatro e quatro. Não, ele vai atirar em nós quatro vezes, certo? Não, para testar isso, eu quero ir para o nosso nível e fazer com que nosso jogador comece de novo e o traga para cá, certo? Em F, para que você possa ver melhor. Se eu for assim, se eu correr, você pode ver, eu vou atirar no primeiro, olhe para ele. É isso mesmo. Não, ele filmará o segundo. Não pode nos atingir porque é. Não, os dois se foram. Depois disso, três acontecerão. É isso mesmo. E depois disso, o M quatro acontecerá, certo? Legal. Não, todos os mísseis estão sendo disparados com A próxima coisa que queremos fazer é poder destruir o sistema de mísseis Vamos ver como podemos fazer isso. Próximo vídeo. Isso pode ser um desafio para você. 83. 80 Destrua um sistema de mísseis: Então, para destruir o sistema Sam, como podemos fazer isso. Para fazer isso, precisamos acessar o sistema de mísseis de radar da BP, clicar em nossa medida esquelética ou sistema de mísseis de radar e adicionar a etiqueta aqui, e adicionar a etiqueta Adicione a tag do alvo. Então, podemos atacá-lo, certo? Só com isso. Isso é mais do que suficiente, certo? Vamos para o nosso nível, trazer de volta o avião de combate, correr. Agora, você pode ver que estamos alternando entre esses dois alvos. É isso mesmo. Basta adicionar uma tag. Mas agora, se você atirar nele, nada vai acontecer. Vamos seguir em frente. Você pode ver que nada está acontecendo. Então isso é um problema. Para destruir nosso sistema de radar, novamente, precisamos fazer a mesma coisa Sentimos que o radar está danificado. Então, vamos clicar com o botão direito do mouse. Vá para o plano do tipo de ator, e eu quero chamá-lo de sistema de mísseis danificado P. D clique nele para abri-lo aqui. Precisamos primeiro adicionar uma malha estática e colocá-la aqui. E a malha estática é chamada de árvore ASA da SMEs danificada. Você pode ver isso aqui. Esse é o danificado. Há três dessas faixas, e isso parece bom, certo? Portanto, também precisamos adicionar um gráfico sem. Portanto, adicione um sem gráfico. É isso mesmo. E o que você deseja usar está danificado pelo NSA SAT, e pronto Nós o criamos com sucesso. Não, se formos ao sistema de mísseis de radar da BP, o que precisamos fazer é fechar esta etiqueta Queremos clicar em nossa malha esquelética e ir para a seção de colisão aqui até simular a geração do evento de impacto Então faça isso. Agora, com isso feito. Se cairmos, teremos um impacto sem componentes. Crie isso. Se algo acontecer, queremos gerar um ator da classe, o ator que queremos criar se chama BP, sistema de mísseis danificado A transformação, podemos fazer com que o ator se transforme, fazer com que o ator se transforme. Isso é mais do que suficiente. E depois disso, podemos destruir completamente esse sistema de mísseis Está bem? Agora, vamos resolver isso. Se atropelarmos o jogo, vá em frente. Para subir e atirar. E agora, você pode ver que se eu for lá, você pode ver que está destruído. Vamos destruir o radar também. Gostar. E o estoque. Então você pode ver que os dois estão destruindo, e você pode ver isso com mais clareza, certo? Tudo legal. Você pode ver que os dois estão destruídos e com boa aparência. E eu tenho uma manobra lá. Acho que parece bom, certo? Então, agora estamos destruindo radar e o sistema de mísseis Podemos preencher nosso mapa com esses sistemas de radar e mísseis