‫Ei, bem-vindo de volta.
‫Neste vídeo, vamos falar sobre componentes e como nosso peão base vai querer alguns
‫desses componentes para coisas como colisões e representação visual, como malhas, bem como um ponto
‫de spawn de onde nossos projéteis aparecerão.
‫Vamos falar sobre como componentes, suporte, anexos para que possamos anexar vários componentes uns
‫aos outros, bem como como nosso peão tem um componente raiz que armazena as informações de transformação para
‫o --.
‫Agora já criamos nossa primeira classe C++ chamada Base --, e agora estamos prontos para começar a adicionar
‫algumas coisas à base --.
‫A base -- vai precisar de alguns componentes, como malhas para a base e torre do tanque.
‫C Em nossa pasta de malhas, temos uma base de tanque, temos uma torre de tanque e para a torre também
‫temos uma base e uma torre.
‫Então vamos precisar de alguns componentes de malha.
‫Também vamos querer um componente de cápsula para lidar com colisões para que nosso tanque e torre não passem
‫um pelo outro.
‫Agora, vamos falar sobre componentes por um segundo.
‫Quando adicionamos um componente a uma classe, precisamos decidir qual classe esse componente deve ser.
‫Agora, uma escolha é um componente de cena.
‫A classe de componente que você viu tem algumas propriedades, como tem uma transformação, ou seja, tem uma localização,
‫uma rotação e tal.
‫Ele também suporta anexo.
‫Isso significa que podemos anexar outros componentes a um componente de cena.
‫Aprenderemos mais sobre como isso funciona mais tarde.
‫E um componente de cena não tem uma representação visual, o que significa que não tem uma malha ou
‫algo assim.
‫Na verdade, não podemos vê-lo no jogo.
‫Agora, existem algumas outras classes no Unreal Engine que são derivadas do componente de cena, como um
‫componente de cápsula.
‫A classe de componentes da cápsula YOU é feita para lidar com colisões e isso é tudo para que serve.
‫Usamos o componente cápsula para que nosso -- não caia no chão ou se mova pelas paredes e
‫coisas assim.
‫Agora também derivado da classe de componente de cena é o componente de malha estática.
‫O uso da classe de componente de malha estática nos dá a capacidade de ter uma representação visual,
‫especificamente uma malha que pertencerá à nossa -- classe que podemos ver no mundo enquanto a movemos.
‫Agora, por padrão, nossa classe -- já tem um componente, é chamado de componente raiz.
‫Vamos voltar ao código VS e ver se podemos encontrar esse componente raiz.
‫Então, estou aqui na Base Pont CP e vou clicar em qualquer lugar,
‫como aqui no construtor, e digitar o componente raiz assim.
‫Agora vou clicar com o botão direito do mouse sobre isso e clicar em ir para definição e, de repente, temos o ator
‫aberto.
‫E aqui em atores em uma seção protegida, vemos um ponteiro de componente que você viu chamado componente raiz.
‫Portanto, essa variável chamada componente raiz existe na classe do ator.
‫Portanto, qualquer coisa derivada de ator herdará essa variável de componente raiz.
‫Isso significa que nossa base -- também tem essa variável de componente raiz.
‫Então, sempre que pensamos sobre a localização de um determinado --, estamos realmente falando sobre as
‫informações de localização armazenadas na transformação desse componente raiz, que é um componente de cena.
‫Portanto, os componentes de cena têm sua própria transformação.
‫Vou seguir em frente e fechar o Ator H e excluir esta linha que adicionei ao construtor de base
‫--.
‫Então sabemos que nosso -- tem este componente raiz e seu tipo é componente visto, o que significa que
‫nosso -- tem uma transformação.
‫Mas também sabemos que esse componente raiz não possui uma representação visual.
‫É invisível.
‫No entanto, podemos reatribuir esse componente raiz com algum outro objeto cujo tipo deriva do componente visto.
‫Agora vimos que o U.
‫A classe de componente da cápsula é derivada do componente de cena.
‫Portanto, se criarmos uma cápsula, podemos atribuí-la como raiz em vez do componente de cena padrão.
‫Agora mencionamos que os componentes da cena, suportam o anexo.
‫Isso significa que podemos criar outros componentes e anexá-los a um componente de cena.
‫Portanto, se criarmos um componente de malha estática, por exemplo, chamado de malha base, podemos anexá-lo ao
‫componente raiz.
‫Agora, como um componente de malha estática é derivado da classe de componente de cena, ele também suporta anexo.
‫Então, se criarmos outra malha, podemos anexá-la à primeira malha.
‫Assim, poderíamos criar um componente de malha estática de malha atual e anexá-lo ao componente de malha base.
‫Agora também podemos criar novos componentes de cena.
‫Por exemplo, se queremos um componente de cena que podemos chamar de ponto de spawn do projétil, podemos anexá-lo à
‫malha da torre.
‫Agora, por que iríamos apenas criar uma cena?
‫Componente.
‫Não podemos dar a ele sua própria representação visual.
‫Bem, se precisarmos de um ponto de desova, um local de onde gostaríamos de gerar projéteis, um componente de cena é perfeito para isso
‫porque tem sua própria transformação, sua própria localização, rotação, etc. e podemos usar isso
‫como um ponto para gerar projéteis.
‫Então, depois de atribuir uma cápsula para ser o componente raiz, nosso componente raiz agora terá o U.
‫O tipo de classe do componente da cápsula e a malha base e a malha da torre seriam componentes de malha estática e
‫nosso ponto de geração de projéteis seria um componente U visto.
‫Agora vamos falar sobre essa coisa de apego por um segundo, porque essas coisas estão todas ligadas umas às
‫outras.
‫Isso significa que, à medida que o componente raiz se move no espaço, tudo o que está anexado a ele se
‫moverá junto com ele.
‫Mas a própria malha base pode se mover em relação à raiz.
‫Por exemplo, ele pode girar e tudo ligado à malha de base seguirá.
‫Da mesma forma, temos essa malha de torre anexada à malha de base e ela mesma pode se mover independentemente da malha
‫de base.
‫Por exemplo, se girarmos a malha da torre, ela irá girar e qualquer coisa anexada a ela, como
‫o componente de cena, seguirá junto com a malha da torre.
‫Assim, o componente de cena se moverá junto com a malha da torre à medida que ela gira.
‫Mas é claro que se quiséssemos, poderíamos mover o componente da cena em relação à malha da torre.
‫E como nada está anexado ao componente de cena, bem, não há nada para acompanhar.
‫Agora vamos dar uma olhada em como os componentes funcionam em blueprints, o que a pasta de conteúdo selecionou.
‫Vou clicar com o botão direito do mouse e selecionar Blueprint Class para criar um novo blueprint.
‫Vamos escolher o ator e chamar este Components Actor agora dê um duplo clique em components actor e observe que temos
‫a raiz da cena padrão.
‫Isso representa aquela variável de componente raiz que vimos em C++.
‫Agora, se quisermos, podemos adicionar novos componentes clicando no botão adicionar e selecionando o tipo de componente que gostaríamos
‫de adicionar.
‫Procure Capsule e selecione Capsule Collision.
‫Este é um componente da cápsula.
‫Sua contraparte C++ é o U.
‫Classe de componente da cápsula.
‫Observe que está logo abaixo da cena padrão.
‫Root Isso indica que está anexado a esta cena.
‫Root Podemos continuar adicionando mais componentes.
‫Por exemplo, se você selecionar Kub, um componente de malha estática será adicionado e sua propriedade de malha estática
‫no painel de detalhes será definida automaticamente como um cubo.
‫Malha estática.
‫Agora observe no painel de componentes, o cubo está logo abaixo da cápsula.
‫Se clicarmos no menu suspenso ao lado dele, não veremos mais o cubo aqui, então podemos recolhê-lo para ocultar
‫quaisquer objetos que estejam anexados a um determinado componente.
‫Agora podemos reatribuir o componente raiz clicando e arrastando um de nossos componentes para a raiz da cena
‫padrão.
‫Por exemplo, se eu clicar e arrastar a cápsula para a raiz da cena padrão, ela agora se tornará o
‫componente raiz.
‫Portanto, reatribuímos o componente raiz a este componente cápsula.
‫Também podemos atribuir anexo.
‫Vamos clicar em adicionar e selecionar esfera.
‫Agora, por padrão, a esfera é anexada à cápsula assim como a malha estática do cubo.
‫Mas se eu clicar e arrastar a esfera para o cubo, a esfera agora é anexada diretamente ao cubo.
‫Se clicarmos na esfera e a arrastarmos para a cápsula, teremos a opção de criar uma nova raiz
‫ou anexar.
‫Se selecionarmos anexar, a esfera será anexada à cápsula novamente.
‫Mas se fôssemos selecionar fazer nova raiz, a esfera se tornaria o componente raiz.
‫Portanto, não apenas temos controle sobre a criação de novos componentes e como eles são anexados, mas também
‫podemos reatribuir esse componente raiz.
‫Vamos em frente e selecione a esfera clicando com o botão esquerdo e segure shift e clique com
‫o botão esquerdo no cubo para selecioná-lo também e pressione delete para remover esses componentes.
‫Agora, para o seu desafio, gostaria que você se familiarizasse um pouco mais com os componentes dos blueprints.
‫Adicione alguns componentes ao nosso ator.
‫Já temos um componente cápsula e atualmente é o componente raiz.
‫Adicione um componente de malha estática e, para sua malha estática, atribua a base do tanque e, em seguida, adicione um segundo componente
‫de malha estática e atribua a torre do tanque como sua malha estática.
‫Certifique-se de anexar a malha de base à cápsula e anexar a malha da torre à malha de base.
‫Agora, uma vez que você fez este movimento e dimensione a malha base e observe como a malha da torre anexada se
‫comporta, pause o vídeo e experimente.
‫OK.
‫Então, vou clicar em Adicionar e selecionar malha estática.
‫Agora, no painel de detalhes, vou definir a malha estática para a malha da base do tanque.
‫Em seguida, vou clicar em Adicionar e selecionar malha estática novamente.
‫Observe que ela é automaticamente anexada à primeira malha estática porque é isso que eu ainda havia selecionado no
‫painel de detalhes.
‫Vou definir a malha estática para a torre do tanque.
‫Agora com a primeira malha estática selecionada, vou movê-la e observar que a segunda malha estática que está
‫anexada a ela está se movendo junto com ela.
‫O mesmo funciona para rotação e escala.
‫À medida que eu o dimensiono, a malha anexada também fica maior.
‫Então, falamos sobre componentes e vimos como podemos anexar componentes a outros componentes e mover
‫e dimensionar.
‫Um componente afeta os outros componentes que estão anexados a ele.
‫Também vimos que pons herda um componente raiz da classe ator e este é o objeto que armazena
‫as informações de transformação do peão.
‫Aprenderemos sobre como criar componentes em C++ e as próximas palestras.
‫Vejo vocês no próximo vídeo.