‫Ei.
‫Bem vindo de volta.
‫Estamos expondo variáveis a projetos.
‫E agora gostaríamos de falar sobre expor nossos componentes.
‫Isso nos permitirá definir algumas das propriedades, como as malhas em nossos componentes de malha estática, bem
‫como posicionar nossa cápsula e ponto de geração de projéteis.
‫Agora estamos de volta aqui no VS Code e temos todas as nossas variáveis de teste.
‫E antes de começarmos a expor nossas variáveis de componentes privados, há apenas mais algumas coisas específicas
‫de sua propriedade que precisamos aprender.
‫Por um lado, todas as nossas variáveis de teste estão na seção pública e algumas de nossas variáveis aqui
‫estão expostas ao gráfico de eventos permitindo acesso de leitura e acesso direito, e estas não são permitidas na
‫seção privada.
‫Por exemplo, se eu pegar nosso int visível em qualquer lugar e editar em qualquer lugar int e cortá-los e colá-los
‫aqui na seção privada junto com nossos componentes.
‫Aqui está o que acontece quando tentamos compilar aqui.
‫Vemos em nosso terminal alguns erros.
‫Vemos blueprint, read, write não deve ser usado em membros privados e diz a mesma coisa
‫sobre Blueprint Read only.
‫E daí se quisermos acesso de leitura e gravação no gráfico de eventos em membros privados?
‫Bem, há uma maneira de contornar isso.
‫Ainda podemos ter acesso a variáveis privadas no gráfico de eventos.
‫Temos que adicionar outra entrada para o U.
‫A macro de propriedade e essa entrada se parecem com isso.
‫Dizemos que meta é igual a parênteses permitem acesso privado igual e entre aspas true.
‫Agora isso parece bem estranho.
‫É uma espécie de pesadelo de sintaxe, mas é assim que parece.
‫Suas macros de propriedade permitem metadados e metadados são apenas uma palavra chique para dados que fornecem informações sobre
‫outros dados.
‫Portanto, temos esse meta igual e se usarmos permitir acesso privado igual a verdadeiro, podemos expor essas variáveis ao
‫gráfico de eventos, mesmo que sejam privadas.
‫Agora, se você é um defensor e não acha que dar acesso privado a uma variável é uma boa ideia, bem,
‫você não precisa fazer isso.
‫Esta é apenas mais uma ferramenta em sua caixa de ferramentas que nos permite expor variáveis privadas ao blueprint.
‫E no lado C++, eles ainda são privados.
‫Você ainda não pode acessá-los de outras classes.
‫Então você tem esse encapsulamento no lado C++.
‫Isso apenas lhe dá a capacidade de obtê-los em projetos e fazer alterações neles.
‫E realmente em projetos, é um mundo diferente.
‫Normalmente, você não vai expor as coisas a projetos que alguém poderia entrar e mudar e
‫potencialmente quebrar o jogo.
‫Mas é útil saber como fazer isso.
‫Então, vamos dar a este meta permitir acesso privado tanto para visível em qualquer lugar, como para editar em qualquer lugar.
‫E então vamos compilar isso.
‫E agora vemos que temos uma compilação bem-sucedida, embora tenhamos reescritas de blueprint e leitura de blueprint
‫apenas em variáveis em uma seção privada.
‫Agora, de volta aqui no BP Pond Tank no gráfico de eventos, posso clicar com o botão direito e digitar edit
‫em qualquer lugar e aqui vemos editar em qualquer lugar que ainda temos acesso a ele e se eu procurar por visible, vejo
‫visível em qualquer lugar que possamos obter e configurá-lo.
‫Agora, a última coisa que vou mostrar que podemos adicionar às suas propriedades é um aviso de categoria aqui
‫no painel de detalhes.
‫Essas variáveis que adicionamos estão nesta categoria com base no nome da classe e é para onde
‫elas vão por padrão.
‫Mas observe que também temos outras variáveis herdadas por essa classe e cada uma está em suas próprias categorias.
‫Agora podemos criar nossa própria categoria para essas variáveis expostas, e fazemos isso adicionando categoria igual.
‫E entre aspas podemos dar a isso uma categoria.
‫Então eu poderia chamar isso de variáveis super duper.
‫Agora eu vou ter uma vírgula aqui porque eu coloquei isso aqui no U.
‫Macro de propriedade como uma das entradas, e todas as entradas devem ser separadas por vírgulas.
‫Vou copiar isso e adicioná-lo à propriedade U aqui para editar em qualquer lugar também.
‫Então agora eles devem estar em sua própria categoria chamada de variáveis super duper.
‫Vamos compilar e voltar aqui no editor, confira.
‫Nós temos variáveis super duper e nossas variáveis estão aqui e eu posso clicar com o botão direito do mouse no gráfico de
‫eventos para pesquisar super e conferir.
‫Temos variáveis super duper e nossas variáveis estão aqui.
‫Portanto, esta é uma boa maneira de organizar nossas variáveis e torná-las um pouco mais fáceis de encontrar.
‫Então eu adicionei algumas coisas novas à nossa mesa aqui.
‫Podemos dar acesso privado, podemos pegar variáveis privadas e ainda expô-las ao gráfico de
‫eventos com esses meta especificadores.
‫E também podemos dar às variáveis sua própria categoria para organizá-las em blueprints.
‫Então agora que você conhece muitas maneiras de controlar o acesso às nossas variáveis no Blueprint,
‫você vai preencher a propriedade you para os componentes agora decidir.
‫Seus níveis de acesso.
‫Você vai querer visível em qualquer lugar para isso, porque editar em qualquer lugar não é algo que você deseja dar
‫aos seus componentes.
‫Isso significa que você pode editar essa variável de ponteiro e não queremos alterar o ponteiro.
‫Deve sempre apontar para o objeto.
‫Nós o construímos no construtor, mas você também pode decidir se deve ou não dar a eles acesso de
‫leitura, gravação no gráfico de eventos, dar a eles uma categoria.
‫Isso nos permitirá manter nossas variáveis organizadas.
‫Agora, se você vai dar a eles o projeto, leia, escreva ou o projeto somente leitura.
‫Você precisará permitir acesso privado com esse meta especificado porque essas são variáveis privadas.
‫Agora, depois de expor os componentes aos blueprints, você pode definir algumas propriedades no blueprint
‫padrão.
‫Você pode dar aos componentes de malha estática suas próprias malhas estáticas.
‫Então configure isso no -- tanque e na planta da torre e posicione a cápsula.
‫Portanto, abrange aproximadamente o volume das malhas e posicione o ponto de geração do projétil, coloque-o em
‫um ponto que faça sentido para os projéteis serem gerados.
‫Portanto, pause o vídeo e exponha nossos componentes ao blueprint.
‫OK.
‫Então, aqui estamos em nossa seção privada e gostaríamos de expor esses componentes.
‫Agora, primeiro, vou deixar meu componente de cápsula visível em qualquer lugar, e vou apenas decidir dar a
‫este blueprint somente leitura para que eu possa acessar a variável de composição de cápsula no gráfico de eventos, mas
‫não posso configurá-la.
‫Agora vou dar a eles a categoria e para nossos componentes aqui, vou dar os
‫componentes de categoria agora porque estou usando o blueprint somente leitura, vou usar meta permitir acesso
‫privado igual a verdadeiro.
‫Então eu vou colocar isso aí.
‫E para o resto dos meus componentes, estou feliz com esses mesmos especificadores de propriedades, então
‫vou dar a todos os mesmos especificadores.
‫Agora vou compilar isso e voltar aqui no editor, vou clicar na janela de visualização para que
‫eu possa realmente ver o que estou fazendo aqui e selecionar a malha base.
‫E para a propriedade de malha estática, já que estamos no -- projeto do tanque, vou escolher a base
‫do tanque.
‫Essa é a base do tanque.
‫Agora posso selecionar a malha da torre e para sua malha estática vou selecionar a torre do tanque.
‫E agora nosso projeto de tanque realmente se parece com um tanque.
‫Agora, antes de definir o ponto de geração do projétil, gostaria de ajustar o componente da cápsula.
‫Portanto, abrange aproximadamente o volume da malha.
‫Agora com o componente cápsula selecionado, temos essas propriedades meia altura da cápsula e raio da cápsula.
‫Vou dimensionar o raio e a meia altura da cápsula apenas para que pareça aproximadamente
‫a forma correta.
‫E vou precisar posicionar meu tanque para que fique no fundo porque nosso componente cápsula é
‫o componente raiz.
‫Temos que mover todos os outros componentes em relação à raiz para que eu possa selecionar a malha base e movê-la para
‫baixo.
‫E para acertar, posso inclinar minha visão assim, ou posso vir aqui onde diz perspectiva e
‫selecionar, certo?
‫E agora estou no modo ortográfico.
‫Este lugar é tudo em um avião para que eu possa mover as coisas e pegá-las.
‫Agora mesmo vou desligar o snap para poder posicionar isso com mais precisão, e acho que está ficando
‫muito bom.
‫Agora vou voltar ao modo de perspectiva para poder ver isso e ter certeza de
‫que tudo está bem e selecionarei meu componente de cápsula e garantirei que a escala esteja correta.
‫Agora, isso pode levar um pouco de ajuste para ficar certo, mas com alguns ajustes você pode ficar com uma aparência
‫muito boa.
‫Então estou satisfeito com isso.
‫Em seguida, gostaria de posicionar o ponto de desova do projétil.
‫Vou ligar novamente e movê-lo bem na frente do barril aqui.
‫Então isso está parecendo muito bom.
‫Agora vou salvar isso e agora é hora de configurar a torre da lagoa BP.
‫Então aqui na torre da lagoa BP, vou definir a malha de base.
‫Então vamos selecionar a base da torre e eu vou definir a malha da torre para a torre da torre.
‫Aqui vamos nós.
‫Agora vou escalar a composição da cápsula e mover a malha base para baixo e apenas ajustar
‫isso até acertar.
‫E, novamente, eu posso ir para a visualização ortográfica e desligar o encaixe e colocar isso aproximadamente do jeito que
‫eu gostaria e voltar para a perspectiva.
‫Eu acho que parece muito bom.
‫Agora, a última coisa é o ponto de desova do projétil.
‫Eu vou ligar o encaixe de volta e posicioná-lo bem aqui na frente do cano e vou definir os incrementos de
‫encaixe para cinco apenas para que eu possa posicioná-lo bem na frente ali.
‫Agora certifique-se de que o ponto de desova do projétil não esteja muito perto do barril.
‫Nós vamos gerar projéteis a partir deste ponto.
‫E algo que tropeçou em alguns alunos é que seu ponto de desova está muito perto
‫do barril e há uma colisão lá que pode resultar em complicações ao gerar projéteis.
‫Agora, isso pode ser facilmente resolvido, certificando-se de que o ponto de desova esteja a uma boa distância do barril.
‫E vamos polir isso no final desta seção do curso.
‫Ok, então a última coisa que vou fazer é colocar alguns desses no mundo.
‫Eu já tenho um tanque de lagoa BP aqui.
‫Eu vou colocar isso no chão.
‫E vamos arrastar algumas instâncias da torre da lagoa BP.
‫Vou colocar um aqui e girá-lo para que fique voltado para fora e depois vou em frente e
‫coloco um em cada canto aqui.
‫Para que possam guardar esta estrutura central.
‫E isso está parecendo um pouco mais com o produto acabado.
‫Aqui vamos nós.
‫E, claro, se eu quisesse, poderia ver isso de cima e no modo ortográfico superior.
‫Posso posicioná-los com mais precisão.
‫Mas é claro que isso é um pouco menos importante em um jogo polido.
‫Você vai querer que tudo pareça certo.
‫Ok, de volta ao modo de perspectiva.
‫Isso está parecendo incrível.
‫Então, voltando ao nosso plano de seção, criamos nosso tanque e nosso objetivo é que ele se mova pelo
‫mundo.
‫Então, nas próximas palestras, vamos começar a aprender como fazer isso.
‫Então, nesta palestra, expusemos nossos componentes a plantas e definimos algumas propriedades nas
‫plantas do tanque e da torre.
‫Excelente progresso.
‫Vejo vocês no próximo vídeo.