﻿1
00:00:04,190 --> 00:00:04,640
‫Ei.

2
00:00:04,640 --> 00:00:05,730
‫Bem vindo de volta.

3
00:00:05,750 --> 00:00:08,240
‫Estamos expondo variáveis a projetos.

4
00:00:08,240 --> 00:00:12,110
‫E agora gostaríamos de falar sobre expor nossos componentes.

5
00:00:12,290 --> 00:00:18,350
‫Isso nos permitirá definir algumas das propriedades, como as malhas em nossos componentes de malha estática, bem

6
00:00:18,350 --> 00:00:22,160
‫como posicionar nossa cápsula e ponto de geração de projéteis.

7
00:00:22,190 --> 00:00:26,630
‫Agora estamos de volta aqui no VS Code e temos todas as nossas variáveis de teste.

8
00:00:26,630 --> 00:00:33,830
‫E antes de começarmos a expor nossas variáveis de componentes privados, há apenas mais algumas coisas específicas

9
00:00:33,860 --> 00:00:36,990
‫de sua propriedade que precisamos aprender.

10
00:00:37,010 --> 00:00:43,880
‫Por um lado, todas as nossas variáveis de teste estão na seção pública e algumas de nossas variáveis aqui

11
00:00:43,880 --> 00:00:50,780
‫estão expostas ao gráfico de eventos permitindo acesso de leitura e acesso direito, e estas não são permitidas na

12
00:00:50,780 --> 00:00:51,750
‫seção privada.

13
00:00:51,770 --> 00:00:58,730
‫Por exemplo, se eu pegar nosso int visível em qualquer lugar e editar em qualquer lugar int e cortá-los e colá-los

14
00:00:58,730 --> 00:01:01,800
‫aqui na seção privada junto com nossos componentes.

15
00:01:01,820 --> 00:01:05,090
‫Aqui está o que acontece quando tentamos compilar aqui.

16
00:01:05,090 --> 00:01:08,000
‫Vemos em nosso terminal alguns erros.

17
00:01:08,000 --> 00:01:13,760
‫Vemos blueprint, read, write não deve ser usado em membros privados e diz a mesma coisa

18
00:01:13,760 --> 00:01:15,590
‫sobre Blueprint Read only.

19
00:01:15,740 --> 00:01:20,720
‫E daí se quisermos acesso de leitura e gravação no gráfico de eventos em membros privados?

20
00:01:20,720 --> 00:01:22,540
‫Bem, há uma maneira de contornar isso.

21
00:01:22,550 --> 00:01:26,450
‫Ainda podemos ter acesso a variáveis privadas no gráfico de eventos.

22
00:01:26,450 --> 00:01:28,930
‫Temos que adicionar outra entrada para o U.

23
00:01:28,940 --> 00:01:31,490
‫A macro de propriedade e essa entrada se parecem com isso.

24
00:01:31,490 --> 00:01:41,390
‫Dizemos que meta é igual a parênteses permitem acesso privado igual e entre aspas true.

25
00:01:41,420 --> 00:01:43,010
‫Agora isso parece bem estranho.

26
00:01:43,010 --> 00:01:46,580
‫É uma espécie de pesadelo de sintaxe, mas é assim que parece.

27
00:01:46,580 --> 00:01:54,530
‫Suas macros de propriedade permitem metadados e metadados são apenas uma palavra chique para dados que fornecem informações sobre

28
00:01:54,530 --> 00:01:55,510
‫outros dados.

29
00:01:55,520 --> 00:02:03,170
‫Portanto, temos esse meta igual e se usarmos permitir acesso privado igual a verdadeiro, podemos expor essas variáveis ao

30
00:02:03,170 --> 00:02:06,200
‫gráfico de eventos, mesmo que sejam privadas.

31
00:02:06,230 --> 00:02:12,020
‫Agora, se você é um defensor e não acha que dar acesso privado a uma variável é uma boa ideia, bem,

32
00:02:12,020 --> 00:02:13,610
‫você não precisa fazer isso.

33
00:02:13,610 --> 00:02:19,400
‫Esta é apenas mais uma ferramenta em sua caixa de ferramentas que nos permite expor variáveis privadas ao blueprint.

34
00:02:19,400 --> 00:02:22,790
‫E no lado C++, eles ainda são privados.

35
00:02:22,790 --> 00:02:25,610
‫Você ainda não pode acessá-los de outras classes.

36
00:02:25,610 --> 00:02:28,610
‫Então você tem esse encapsulamento no lado C++.

37
00:02:28,640 --> 00:02:33,230
‫Isso apenas lhe dá a capacidade de obtê-los em projetos e fazer alterações neles.

38
00:02:33,230 --> 00:02:36,320
‫E realmente em projetos, é um mundo diferente.

39
00:02:36,320 --> 00:02:41,210
‫Normalmente, você não vai expor as coisas a projetos que alguém poderia entrar e mudar e

40
00:02:41,210 --> 00:02:42,590
‫potencialmente quebrar o jogo.

41
00:02:42,590 --> 00:02:44,570
‫Mas é útil saber como fazer isso.

42
00:02:44,570 --> 00:02:52,850
‫Então, vamos dar a este meta permitir acesso privado tanto para visível em qualquer lugar, como para editar em qualquer lugar.

43
00:02:52,850 --> 00:02:55,010
‫E então vamos compilar isso.

44
00:02:55,070 --> 00:03:00,860
‫E agora vemos que temos uma compilação bem-sucedida, embora tenhamos reescritas de blueprint e leitura de blueprint

45
00:03:00,860 --> 00:03:03,730
‫apenas em variáveis em uma seção privada.

46
00:03:03,740 --> 00:03:10,130
‫Agora, de volta aqui no BP Pond Tank no gráfico de eventos, posso clicar com o botão direito e digitar edit

47
00:03:10,130 --> 00:03:17,150
‫em qualquer lugar e aqui vemos editar em qualquer lugar que ainda temos acesso a ele e se eu procurar por visible, vejo

48
00:03:17,150 --> 00:03:20,000
‫visível em qualquer lugar que possamos obter e configurá-lo.

49
00:03:20,000 --> 00:03:25,490
‫Agora, a última coisa que vou mostrar que podemos adicionar às suas propriedades é um aviso de categoria aqui

50
00:03:25,490 --> 00:03:26,780
‫no painel de detalhes.

51
00:03:26,780 --> 00:03:32,510
‫Essas variáveis que adicionamos estão nesta categoria com base no nome da classe e é para onde

52
00:03:32,510 --> 00:03:33,860
‫elas vão por padrão.

53
00:03:33,860 --> 00:03:40,730
‫Mas observe que também temos outras variáveis herdadas por essa classe e cada uma está em suas próprias categorias.

54
00:03:40,730 --> 00:03:48,890
‫Agora podemos criar nossa própria categoria para essas variáveis expostas, e fazemos isso adicionando categoria igual.

55
00:03:48,890 --> 00:03:52,100
‫E entre aspas podemos dar a isso uma categoria.

56
00:03:52,100 --> 00:03:55,880
‫Então eu poderia chamar isso de variáveis super duper.

57
00:03:55,880 --> 00:04:00,050
‫Agora eu vou ter uma vírgula aqui porque eu coloquei isso aqui no U.

58
00:04:00,050 --> 00:04:05,180
‫Macro de propriedade como uma das entradas, e todas as entradas devem ser separadas por vírgulas.

59
00:04:05,180 --> 00:04:11,390
‫Vou copiar isso e adicioná-lo à propriedade U aqui para editar em qualquer lugar também.

60
00:04:11,390 --> 00:04:15,350
‫Então agora eles devem estar em sua própria categoria chamada de variáveis super duper.

61
00:04:15,350 --> 00:04:19,130
‫Vamos compilar e voltar aqui no editor, confira.

62
00:04:19,130 --> 00:04:25,760
‫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

63
00:04:25,760 --> 00:04:27,800
‫eventos para pesquisar super e conferir.

64
00:04:27,800 --> 00:04:30,980
‫Temos variáveis super duper e nossas variáveis estão aqui.

65
00:04:30,980 --> 00:04:36,320
‫Portanto, esta é uma boa maneira de organizar nossas variáveis e torná-las um pouco mais fáceis de encontrar.

66
00:04:36,320 --> 00:04:40,100
‫Então eu adicionei algumas coisas novas à nossa mesa aqui.

67
00:04:40,100 --> 00:04:45,740
‫Podemos dar acesso privado, podemos pegar variáveis privadas e ainda expô-las ao gráfico de

68
00:04:45,740 --> 00:04:47,780
‫eventos com esses meta especificadores.

69
00:04:47,780 --> 00:04:53,180
‫E também podemos dar às variáveis sua própria categoria para organizá-las em blueprints.

70
00:04:53,300 --> 00:04:59,330
‫Então agora que você conhece muitas maneiras de controlar o acesso às nossas variáveis no Blueprint,

71
00:04:59,330 --> 00:05:03,710
‫você vai preencher a propriedade you para os componentes agora decidir.

72
00:05:03,770 --> 00:05:05,090
‫Seus níveis de acesso.

73
00:05:05,090 --> 00:05:11,210
‫Você vai querer visível em qualquer lugar para isso, porque editar em qualquer lugar não é algo que você deseja dar

74
00:05:11,210 --> 00:05:12,380
‫aos seus componentes.

75
00:05:12,410 --> 00:05:17,090
‫Isso significa que você pode editar essa variável de ponteiro e não queremos alterar o ponteiro.

76
00:05:17,120 --> 00:05:19,130
‫Deve sempre apontar para o objeto.

77
00:05:19,130 --> 00:05:24,680
‫Nós o construímos no construtor, mas você também pode decidir se deve ou não dar a eles acesso de

78
00:05:24,680 --> 00:05:28,310
‫leitura, gravação no gráfico de eventos, dar a eles uma categoria.

79
00:05:28,340 --> 00:05:31,370
‫Isso nos permitirá manter nossas variáveis organizadas.

80
00:05:31,400 --> 00:05:35,160
‫Agora, se você vai dar a eles o projeto, leia, escreva ou o projeto somente leitura.

81
00:05:35,180 --> 00:05:41,150
‫Você precisará permitir acesso privado com esse meta especificado porque essas são variáveis privadas.

82
00:05:41,180 --> 00:05:46,610
‫Agora, depois de expor os componentes aos blueprints, você pode definir algumas propriedades no blueprint

83
00:05:46,610 --> 00:05:47,310
‫padrão.

84
00:05:47,330 --> 00:05:51,200
‫Você pode dar aos componentes de malha estática suas próprias malhas estáticas.

85
00:05:51,200 --> 00:05:57,560
‫Então configure isso no -- tanque e na planta da torre e posicione a cápsula.

86
00:05:57,560 --> 00:06:04,100
‫Portanto, abrange aproximadamente o volume das malhas e posicione o ponto de geração do projétil, coloque-o em

87
00:06:04,100 --> 00:06:08,120
‫um ponto que faça sentido para os projéteis serem gerados.

88
00:06:08,150 --> 00:06:11,990
‫Portanto, pause o vídeo e exponha nossos componentes ao blueprint.

89
00:06:15,010 --> 00:06:15,550
‫OK.

90
00:06:15,550 --> 00:06:20,200
‫Então, aqui estamos em nossa seção privada e gostaríamos de expor esses componentes.

91
00:06:20,230 --> 00:06:26,590
‫Agora, primeiro, vou deixar meu componente de cápsula visível em qualquer lugar, e vou apenas decidir dar a

92
00:06:26,590 --> 00:06:33,310
‫este blueprint somente leitura para que eu possa acessar a variável de composição de cápsula no gráfico de eventos, mas

93
00:06:33,310 --> 00:06:34,630
‫não posso configurá-la.

94
00:06:34,660 --> 00:06:40,120
‫Agora vou dar a eles a categoria e para nossos componentes aqui, vou dar os

95
00:06:40,120 --> 00:06:45,910
‫componentes de categoria agora porque estou usando o blueprint somente leitura, vou usar meta permitir acesso

96
00:06:45,910 --> 00:06:47,470
‫privado igual a verdadeiro.

97
00:06:47,500 --> 00:06:49,720
‫Então eu vou colocar isso aí.

98
00:06:49,720 --> 00:06:56,020
‫E para o resto dos meus componentes, estou feliz com esses mesmos especificadores de propriedades, então

99
00:06:56,020 --> 00:06:59,110
‫vou dar a todos os mesmos especificadores.

100
00:06:59,110 --> 00:07:04,510
‫Agora vou compilar isso e voltar aqui no editor, vou clicar na janela de visualização para que

101
00:07:04,510 --> 00:07:08,980
‫eu possa realmente ver o que estou fazendo aqui e selecionar a malha base.

102
00:07:08,980 --> 00:07:15,430
‫E para a propriedade de malha estática, já que estamos no -- projeto do tanque, vou escolher a base

103
00:07:15,430 --> 00:07:16,300
‫do tanque.

104
00:07:16,450 --> 00:07:18,880
‫Essa é a base do tanque.

105
00:07:18,910 --> 00:07:24,610
‫Agora posso selecionar a malha da torre e para sua malha estática vou selecionar a torre do tanque.

106
00:07:24,610 --> 00:07:28,860
‫E agora nosso projeto de tanque realmente se parece com um tanque.

107
00:07:28,870 --> 00:07:34,180
‫Agora, antes de definir o ponto de geração do projétil, gostaria de ajustar o componente da cápsula.

108
00:07:34,180 --> 00:07:37,510
‫Portanto, abrange aproximadamente o volume da malha.

109
00:07:37,510 --> 00:07:43,660
‫Agora com o componente cápsula selecionado, temos essas propriedades meia altura da cápsula e raio da cápsula.

110
00:07:43,750 --> 00:07:49,480
‫Vou dimensionar o raio e a meia altura da cápsula apenas para que pareça aproximadamente

111
00:07:49,480 --> 00:07:50,830
‫a forma correta.

112
00:07:51,010 --> 00:07:57,430
‫E vou precisar posicionar meu tanque para que fique no fundo porque nosso componente cápsula é

113
00:07:57,430 --> 00:07:58,960
‫o componente raiz.

114
00:07:58,960 --> 00:08:05,080
‫Temos que mover todos os outros componentes em relação à raiz para que eu possa selecionar a malha base e movê-la para

115
00:08:05,080 --> 00:08:05,650
‫baixo.

116
00:08:05,650 --> 00:08:13,450
‫E para acertar, posso inclinar minha visão assim, ou posso vir aqui onde diz perspectiva e

117
00:08:13,450 --> 00:08:14,920
‫selecionar, certo?

118
00:08:14,920 --> 00:08:17,350
‫E agora estou no modo ortográfico.

119
00:08:17,350 --> 00:08:21,640
‫Este lugar é tudo em um avião para que eu possa mover as coisas e pegá-las.

120
00:08:21,640 --> 00:08:27,940
‫Agora mesmo vou desligar o snap para poder posicionar isso com mais precisão, e acho que está ficando

121
00:08:27,940 --> 00:08:29,050
‫muito bom.

122
00:08:29,140 --> 00:08:34,210
‫Agora vou voltar ao modo de perspectiva para poder ver isso e ter certeza de

123
00:08:34,210 --> 00:08:39,730
‫que tudo está bem e selecionarei meu componente de cápsula e garantirei que a escala esteja correta.

124
00:08:39,730 --> 00:08:44,710
‫Agora, isso pode levar um pouco de ajuste para ficar certo, mas com alguns ajustes você pode ficar com uma aparência

125
00:08:44,710 --> 00:08:45,430
‫muito boa.

126
00:08:45,430 --> 00:08:47,200
‫Então estou satisfeito com isso.

127
00:08:47,200 --> 00:08:50,830
‫Em seguida, gostaria de posicionar o ponto de desova do projétil.

128
00:08:51,040 --> 00:08:57,190
‫Vou ligar novamente e movê-lo bem na frente do barril aqui.

129
00:08:57,190 --> 00:08:58,960
‫Então isso está parecendo muito bom.

130
00:08:59,110 --> 00:09:04,270
‫Agora vou salvar isso e agora é hora de configurar a torre da lagoa BP.

131
00:09:04,660 --> 00:09:08,950
‫Então aqui na torre da lagoa BP, vou definir a malha de base.

132
00:09:08,950 --> 00:09:15,730
‫Então vamos selecionar a base da torre e eu vou definir a malha da torre para a torre da torre.

133
00:09:16,450 --> 00:09:17,410
‫Aqui vamos nós.

134
00:09:17,410 --> 00:09:24,190
‫Agora vou escalar a composição da cápsula e mover a malha base para baixo e apenas ajustar

135
00:09:24,190 --> 00:09:25,510
‫isso até acertar.

136
00:09:25,510 --> 00:09:33,910
‫E, novamente, eu posso ir para a visualização ortográfica e desligar o encaixe e colocar isso aproximadamente do jeito que

137
00:09:33,910 --> 00:09:37,360
‫eu gostaria e voltar para a perspectiva.

138
00:09:37,540 --> 00:09:39,130
‫Eu acho que parece muito bom.

139
00:09:39,130 --> 00:09:41,890
‫Agora, a última coisa é o ponto de desova do projétil.

140
00:09:41,890 --> 00:09:48,640
‫Eu vou ligar o encaixe de volta e posicioná-lo bem aqui na frente do cano e vou definir os incrementos de

141
00:09:48,640 --> 00:09:53,080
‫encaixe para cinco apenas para que eu possa posicioná-lo bem na frente ali.

142
00:09:53,080 --> 00:09:57,520
‫Agora certifique-se de que o ponto de desova do projétil não esteja muito perto do barril.

143
00:09:57,700 --> 00:10:00,970
‫Nós vamos gerar projéteis a partir deste ponto.

144
00:10:00,970 --> 00:10:06,460
‫E algo que tropeçou em alguns alunos é que seu ponto de desova está muito perto

145
00:10:06,460 --> 00:10:11,680
‫do barril e há uma colisão lá que pode resultar em complicações ao gerar projéteis.

146
00:10:11,680 --> 00:10:18,190
‫Agora, isso pode ser facilmente resolvido, certificando-se de que o ponto de desova esteja a uma boa distância do barril.

147
00:10:18,190 --> 00:10:21,880
‫E vamos polir isso no final desta seção do curso.

148
00:10:22,270 --> 00:10:25,990
‫Ok, então a última coisa que vou fazer é colocar alguns desses no mundo.

149
00:10:25,990 --> 00:10:28,900
‫Eu já tenho um tanque de lagoa BP aqui.

150
00:10:28,930 --> 00:10:31,060
‫Eu vou colocar isso no chão.

151
00:10:31,240 --> 00:10:35,980
‫E vamos arrastar algumas instâncias da torre da lagoa BP.

152
00:10:36,160 --> 00:10:42,700
‫Vou colocar um aqui e girá-lo para que fique voltado para fora e depois vou em frente e

153
00:10:42,700 --> 00:10:44,890
‫coloco um em cada canto aqui.

154
00:10:45,630 --> 00:10:48,420
‫Para que possam guardar esta estrutura central.

155
00:10:48,870 --> 00:10:52,920
‫E isso está parecendo um pouco mais com o produto acabado.

156
00:10:53,880 --> 00:10:54,960
‫Aqui vamos nós.

157
00:10:55,170 --> 00:11:01,680
‫E, claro, se eu quisesse, poderia ver isso de cima e no modo ortográfico superior.

158
00:11:01,680 --> 00:11:04,890
‫Posso posicioná-los com mais precisão.

159
00:11:04,890 --> 00:11:08,430
‫Mas é claro que isso é um pouco menos importante em um jogo polido.

160
00:11:08,430 --> 00:11:10,740
‫Você vai querer que tudo pareça certo.

161
00:11:10,890 --> 00:11:13,170
‫Ok, de volta ao modo de perspectiva.

162
00:11:13,200 --> 00:11:15,720
‫Isso está parecendo incrível.

163
00:11:15,720 --> 00:11:22,260
‫Então, voltando ao nosso plano de seção, criamos nosso tanque e nosso objetivo é que ele se mova pelo

164
00:11:22,260 --> 00:11:22,830
‫mundo.

165
00:11:22,830 --> 00:11:25,980
‫Então, nas próximas palestras, vamos começar a aprender como fazer isso.

166
00:11:25,980 --> 00:11:31,890
‫Então, nesta palestra, expusemos nossos componentes a plantas e definimos algumas propriedades nas

167
00:11:31,890 --> 00:11:34,840
‫plantas do tanque e da torre.

168
00:11:34,860 --> 00:11:36,180
‫Excelente progresso.

169
00:11:36,210 --> 00:11:37,500
‫Vejo vocês no próximo vídeo.

