‫Ei, bem-vindo de volta.
‫No último vídeo, criamos nosso componente de cápsula e o configuramos para ser a raiz.
‫Neste vídeo, precisamos adicionar mais alguns componentes.
‫Especificamente, precisamos de algumas malhas para a base e a parte da torre do nosso tanque.
‫E também precisamos de um ponto de geração de projéteis, como discutimos em palestras anteriores.
‫Então, vamos pular para o código VS.
‫Agora aqui na Base Pancake, temos nosso componente cápsula.
‫Podemos adicionar nossos outros componentes nesta seção privada logo abaixo dela.
‫Então, para nossas malhas, queremos usar seu componente de malha estática.
‫E, claro, estes serão ponteiros, pois este não é um tipo de base e a primeira malha que vou
‫chamar de malha de base e, assim como a malha de base da cápsula, obterá sua própria macro de propriedade.
‫Agora observe que o componente de malha estática não está me dando um erro por não declará-lo.
‫Isso porque seu componente de malha estática é incluído por padrão em todos os atores e, claro, os peões
‫são atores, então ele usou o componente de malha estática.
‫Agora, se você está se perguntando como saber quais tipos são incluídos por padrão e quais não são, você sempre
‫pode tentar compilar e ver se obtém algum erro.
‫Sabemos como é o erro quando você não inclui um cabeçalho de que precisa.
‫Outra abordagem seria sempre encaminhar a declaração e sempre incluir arquivos de cabeçalho para tipos de mecanismos irreais
‫que incluem guardas que impedem que eles sejam incluídos várias vezes em um único arquivo.
‫Na verdade, o próprio cabeçalho em que estamos tem um desses.
‫Chama-se Praga WMA uma vez.
‫De qualquer forma, temos nossa malha base e gostaríamos de outro componente de malha estática.
‫Portanto, este será um ponteiro de componente de malha estática U e isso será para a torre.
‫Então, vou chamar essa malha de torre e, assim como a malha base, ela também obterá uma macro de propriedade U.
‫Agora que temos nossos ponteiros de malha de base e malha de torre, é hora de realmente construí-los.
‫Então vamos para a Base Pont CP e fazer isso no construtor aqui.
‫Então, primeiro vamos dizer malha base e vamos atribuir a isso o valor retornado por create default sub
‫object.
‫Agora, antes de preenchê-lo, por que você não digita o tipo correto aqui?
‫Isso mesmo.
‫É você componente de malha estática.
‫Agora para o nome, vamos usar a macro de texto e podemos chamar essa malha base.
‫Agora é importante anexar a malha base a algo, pois gostaríamos que a malha seguisse o
‫componente cápsula.
‫Conforme estamos movendo a PON, vamos anexá-la à raiz.
‫Assim, a malha base tem uma função chamada setup attachment e setup attachment pega um componente visto para
‫anexar.
‫Vamos anexar a malha de base à composição da cápsula.
‫Poderíamos facilmente ter o componente raiz passado aqui.
‫Agora vamos criar a malha da torre da mesma maneira.
‫Portanto, a malha da torre é igual a criar um subobjeto padrão e isso também será um componente de malha estática de uso.
‫E para o nome deste, chamaremos essa malha de torre.
‫Agora, mencionamos anteriormente que gostaríamos que a malha da torre fosse anexada à malha base
‫para que possamos dizer que a malha da torreta configura o anexo e o componente a anexar será a malha base.
‫Então, vamos passar a malha base e como argumento, de onde vem o anexo de configuração?
‫Se clicarmos com o botão direito e formos para definição, veremos que é uma função aqui no componente de cena.
‫Portanto, todos os componentes de cena têm essa função.
‫Então vamos fechar o componente de cena.
‫Agora você provavelmente está percebendo os erros do IntelliSense dizendo ponteiro para o tipo de classe incompleto.
‫Este é realmente outro erro falso.
‫E essa extensão que baixamos na verdade não corrige isso, mas compila bem, então não precisamos nos
‫preocupar com isso.
‫Agora, se isso está incomodando você, você pode simplesmente adicionar os componentes include include barra componente de malha estática e isso vai
‫se livrar desses rabiscos vermelhos.
‫E como mencionei, estes incluem guardas para que não sejam incluídos duas vezes.
‫Então isso é com você.
‫Vou seguir em frente e deixar o include aqui só para não ficar com esses rabiscos.
‫Então agora que temos nossa malha base em nossa malha de torre, a única coisa que resta é nosso ponto de geração de projéteis.
‫Então este será o seu desafio.
‫Crie um ponteiro chamado ponto de geração de projéteis.
‫Escolha o tipo correto apropriado para um ponto de geração de projéteis e dê um nome a ele
‫usando a macro de texto e crie um subobjeto padrão.
‫Anexe o ponto de geração do projétil à malha da torre.
‫E uma pergunta que eu quero que você pense é que precisamos incluir seu arquivo de cabeçalho, pausar o
‫vídeo e criar este componente agora?
‫Tudo bem.
‫Então vamos adicionar este próximo componente.
‫Agora, o ponto de spawn do projétil será um componente U visto, e vamos chamar esse ponto de spawn do projétil.
‫Agora vamos adicionar uma macro de propriedade para você.
‫Tudo bem.
‫Se você não fez isso, se você não foi em frente e adicionou sua macro de propriedade agora,
‫agora vamos para Base Pond CP e construir este componente.
‫Então, vamos dizer o ponto de desova do projétil e criar um subobjeto padrão.
‫E este será um componente que você viu.
‫Agora, você provavelmente deu a isso um nome incrível.
‫Vou chamá-lo de ponto de Spawn e precisamos configurar o anexo para isso.
‫Então, vamos dizer o ponto de geração do projétil, configurar o anexo e anexar isso à malha da torre e lá
‫vamos nós para que possamos compilar isso, garantir que tudo seja compilado com sucesso e que tenhamos uma compilação
‫bem-sucedida.
‫Então tudo parece ótimo.
‫Então, neste vídeo, criamos componentes de malha estáticos e vimos que não precisávamos incluir os cabeçalhos
‫para eles.
‫Eles já foram incluídos por padrão.
‫Também criamos um componente de cena chamado ponto de geração de projéteis e nosso código compilou muito bem sem incluir
‫o cabeçalho para isso também.
‫Estaremos criando um blueprint baseado em nossa classe C++ base pond muito em breve.
‫Vejo vocês no próximo vídeo.