Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:00,060 --> 00:00:03,240
15. The Grid
Inimigo - Perceber Player
2
00:00:03,240 --> 00:00:05,440
O que a gente vai fazer agora é o inimigo.
3
00:00:05,970 --> 00:00:08,800
É prestar atenção no jogador, né?
Ele vai perceber o jogador...
4
00:00:09,220 --> 00:00:11,540
De acordo com determinados parâmetros aí.
5
00:00:12,040 --> 00:00:13,950
Mas, a primeira coisa que eu
vou fazer é a seguinte...
6
00:00:14,320 --> 00:00:16,280
É que o inimigo fique olhando para o jogador.
7
00:00:16,680 --> 00:00:17,070
Tá?
8
00:00:17,420 --> 00:00:18,680
A todo momento ali, ele está...
9
00:00:18,980 --> 00:00:20,830
Observando a posição que o jogador está.
10
00:00:21,490 --> 00:00:24,670
E depois a gente faz algumas
condições para que isso aconteça.
11
00:00:25,510 --> 00:00:26,090
Beleza?
12
00:00:26,570 --> 00:00:28,670
Então, eu estou aqui no Blueprint do inimigo...
13
00:00:30,270 --> 00:00:33,460
Como a gente quer que isso aconteça a todo
momento, não tem como fugir do Tick.
14
00:00:34,060 --> 00:00:34,560
Né?
15
00:00:34,820 --> 00:00:38,440
A gente poderia checar isso, por
exemplo, a cada um segundo e tal.
16
00:00:38,900 --> 00:00:40,220
Mas aqui para o nosso caso...
17
00:00:40,530 --> 00:00:42,560
Isso aqui não vai consumir tanta performance.
18
00:00:42,880 --> 00:00:44,350
Então a gente pode fazer no Tick mesmo.
19
00:00:44,790 --> 00:00:45,300
Né?
20
00:00:45,300 --> 00:00:49,200
Então, antes de a gente fazer isso, eu preciso
pegar uma referência para o meu jogador, né?
21
00:00:50,030 --> 00:00:53,940
Por enquanto a Blueprint do inimigo não
sabe que o jogador existe. O Player existe.
22
00:00:54,690 --> 00:00:56,240
Então, vamos fazer isso no BeginPlay.
23
00:00:56,970 --> 00:00:58,500
Então, deixa eu jogar mais para cima, isso aqui.
24
00:00:58,870 --> 00:01:00,500
A gente faz isso quando o jogo começar, né?
25
00:01:02,520 --> 00:01:05,970
E aí, vamos fazer aqui uma sequência,
pra gente poder se organizar.
26
00:01:06,470 --> 00:01:07,260
Sequence.
27
00:01:08,230 --> 00:01:09,900
Então, primeiro a gente...
Vai acontecer isso.
28
00:01:11,580 --> 00:01:14,890
E em segundo lugar, a gente vai fazer
um Get Player Character.
29
00:01:18,690 --> 00:01:20,010
Index 0 mesmo.
30
00:01:20,560 --> 00:01:22,550
A gente vai fazer um Cast para o nosso personagem.
31
00:01:23,000 --> 00:01:24,500
Cast BP_HeroChar.
32
00:01:24,940 --> 00:01:28,290
E aí a gente vai fazer um Promote
to Variable. Eu sempre gosto de chamar de...
33
00:01:29,110 --> 00:01:32,000
O nome da Classe, HeroChar.
E Refer.
34
00:01:32,870 --> 00:01:34,130
Para eu saber que é uma referência...
35
00:01:34,770 --> 00:01:36,490
Para essa Classe, né?
36
00:01:36,490 --> 00:01:38,110
Isso aqui vai ser a segunda coisa
que vai acontecer.
37
00:01:39,060 --> 00:01:40,110
Logo que o jogo começar.
38
00:01:40,590 --> 00:01:41,020
Então...
39
00:01:41,400 --> 00:01:42,970
Esse bloco aqui, eu vou comentar...
40
00:01:45,190 --> 00:01:47,010
Get Hero...
41
00:01:48,040 --> 00:01:49,300
Char Refer.
42
00:01:50,200 --> 00:01:52,230
Maravilha.
Deixa ele aqui.
43
00:01:52,850 --> 00:01:55,650
E agora, o nosso inimigo tem uma
referência para o nosso personagem, né?
44
00:01:56,230 --> 00:02:00,490
Então, o que eu quero fazer aqui? Eu quero que o
meu inimigo aponte sempre para o personagem.
45
00:02:01,030 --> 00:02:04,210
Então, basicamente a gente vai fazer
um Set Actor Rotation.
46
00:02:07,740 --> 00:02:10,830
E o Set Actor Rotation vai precisar
de um novo valor para a rotação.
47
00:02:11,370 --> 00:02:15,160
Lembrando lá da nossa aula de "Controlando
o Espaço", eu tenho um nó pronto para isso.
48
00:02:15,640 --> 00:02:16,630
Find Look.
49
00:02:17,040 --> 00:02:18,990
At Rotation.
Ele vai pegar dois...
50
00:02:19,980 --> 00:02:21,600
Dois lugares no mundo, né?
51
00:02:21,980 --> 00:02:23,090
Duas posições.
52
00:02:23,420 --> 00:02:25,090
E vai retornar um valor de rotação.
53
00:02:25,490 --> 00:02:26,510
Então, vamos pegar aqui...
54
00:02:26,950 --> 00:02:29,450
Em primeiro lugar, o Start,
que seria a posição do meu...
55
00:02:30,060 --> 00:02:30,540
Inimigo.
56
00:02:30,850 --> 00:02:32,540
Então é Get Actor Location.
57
00:02:34,830 --> 00:02:38,240
Pego esse cara e ele vai apontar
para o Target, né? E o Target...
58
00:02:39,270 --> 00:02:40,400
É o nosso...
59
00:02:40,400 --> 00:02:42,410
É a localização do nosso Player.
60
00:02:42,410 --> 00:02:44,180
Né? Como eu já tenho
a referência dele aqui...
61
00:02:44,830 --> 00:02:46,030
Então, dou um Get nele.
62
00:02:46,370 --> 00:02:49,690
E pego, daí, a localização dele também,
que é a mesma coisa. Get Actor Location.
63
00:02:50,340 --> 00:02:50,760
Né?
64
00:02:51,060 --> 00:02:53,370
Então, agora o Start vai
apontar para o Target...
65
00:02:54,660 --> 00:02:58,800
E vai liberar para mim uma rotação que
vai ser a nova rotação do inimigo. Aqui.
66
00:02:59,660 --> 00:03:02,770
Pronto, tudo isso vai acontecer
sempre, né? Todos os Frames aí.
67
00:03:03,720 --> 00:03:04,880
Isso tem que ser instantâneo.
68
00:03:06,210 --> 00:03:08,220
Vamos Compilar e salvar e ver se funciona.
69
00:03:09,020 --> 00:03:10,170
Se eu não quebrei nada.
70
00:03:11,050 --> 00:03:12,330
Então, estão lá, os meus...
71
00:03:13,710 --> 00:03:15,290
Inimigos.
Mas, como está sem luz...
72
00:03:15,680 --> 00:03:16,740
Né?
Está difícil de ver.
73
00:03:17,220 --> 00:03:18,490
Deixa eu fazer o seguinte...
74
00:03:19,300 --> 00:03:21,400
Eu vou colocar mais
uma Directional Light aqui...
75
00:03:21,920 --> 00:03:23,170
Apontando para o outro lado.
76
00:03:31,880 --> 00:03:33,870
Pronto, agora eu consigo ver
as duas faces deles, né?
77
00:03:34,460 --> 00:03:36,520
Este lado e este lado, beleza.
78
00:03:37,610 --> 00:03:38,520
Então, estão eles ali.
79
00:03:40,620 --> 00:03:42,970
Dá para ver que eles estão
apontando sempre para mim. Né?
80
00:03:45,660 --> 00:03:46,900
Ele está olhando para mim, olhando...
81
00:03:47,480 --> 00:03:49,260
Essa sombra está matando bastante também.
82
00:03:50,640 --> 00:03:53,330
Mas eles estão sempre olhando para mim.
Deixa eu só tirar a sombra.
83
00:03:53,330 --> 00:03:55,000
Se vocês não sabem,
dá para tirar a sombra.
84
00:03:55,440 --> 00:03:57,390
Vamos selecionar esse Directional Light...
85
00:03:57,840 --> 00:03:59,510
Cast Shadows.
Desliga.
86
00:04:00,040 --> 00:04:02,170
Isso aqui também.
Cast Shadows, desliga.
87
00:04:02,170 --> 00:04:03,310
Acho que vai melhorar um pouquinho.
88
00:04:03,740 --> 00:04:04,470
É, melhorou.
89
00:04:05,370 --> 00:04:06,860
Então eles estão sempre
apontando para mim.
90
00:04:07,850 --> 00:04:08,890
Olha para mim,
olha para mim.
91
00:04:11,150 --> 00:04:11,730
É isso aí.
92
00:04:11,920 --> 00:04:13,500
Mas eu não quero que isso aconteça sempre.
93
00:04:13,500 --> 00:04:15,900
Então, vamos fazer algumas
condições para que isso aconteça.
94
00:04:16,720 --> 00:04:19,340
E a partir do momento em que a gente vai
começara a implementar essas condições...
95
00:04:19,340 --> 00:04:21,820
A gente está começando a fazer
inteligência artificial, tá?
96
00:04:22,460 --> 00:04:23,830
Não precisa fazer nada...
97
00:04:23,830 --> 00:04:27,390
Mirabolante, pra gente dizer que está
fazendo inteligência artificial. Isso já é.
98
00:04:27,790 --> 00:04:28,890
Uma inteligência artificial.
99
00:04:29,940 --> 00:04:32,470
A primeira coisa que eu quero fazer é
o seguinte... Eu quero que o...
100
00:04:33,200 --> 00:04:36,520
O inimigo só perceba o personagem,
quando o personagem estiver perto.
101
00:04:36,750 --> 00:04:37,100
Tá?
102
00:04:37,650 --> 00:04:39,800
Então eu vou fazer o seguinte...
Eu vou criar uma área aqui...
103
00:04:40,970 --> 00:04:41,910
De atuação.
104
00:04:42,400 --> 00:04:43,170
Desse inimigo.
105
00:04:43,460 --> 00:04:45,780
Seja uma área, que quando
o personagem entrar...
106
00:04:46,700 --> 00:04:48,260
O inimigo vai perceber ele.
107
00:04:48,560 --> 00:04:52,130
Tem alguns componentes que fazem isso.
Que ajudam a gente a fazer esse tipo de...
108
00:04:52,890 --> 00:04:53,860
De interação.
109
00:04:54,780 --> 00:04:56,420
Uma Classe perceber outra Classe.
110
00:04:56,980 --> 00:05:00,200
Mas eu quero fazer com aquilo que a gente
aprendeu durante as aulas, para...
111
00:05:00,200 --> 00:05:02,240
Pra gente perceber que dá
pra fazer muita coisa já.
112
00:05:02,500 --> 00:05:03,870
Com as aulas que a gente já viu, tá?
113
00:05:04,570 --> 00:05:06,810
Então, eu vou criar um Componente
aqui, que é uma colisão.
114
00:05:07,430 --> 00:05:10,280
A gente tem Capsule Colision.
Quer ver... A gente tem Capsule Colision...
115
00:05:10,620 --> 00:05:12,460
Sphere Colision e tem Box Colision.
116
00:05:12,810 --> 00:05:13,740
Vou pegar a cápsula.
117
00:05:14,160 --> 00:05:15,550
Tá?
E aparece uma cápsula ali.
118
00:05:16,760 --> 00:05:18,260
Eu vou só rotacionar ela...
119
00:05:18,790 --> 00:05:19,560
Para ficar...
120
00:05:19,980 --> 00:05:20,910
Deitada, assim.
121
00:05:21,590 --> 00:05:22,800
Basicamente, quando...
122
00:05:22,800 --> 00:05:25,140
O personagem entrar
nessa área de atuação...
123
00:05:26,070 --> 00:05:28,270
A cápsula...
Essa cápsula, né?
124
00:05:28,270 --> 00:05:29,560
O inimigo vai perceber ele.
125
00:05:30,180 --> 00:05:33,200
Então, vamos aumentar aqui o
tamanho desse cara. Sei lá, tipo...
126
00:05:34,150 --> 00:05:34,630
1.000.
127
00:05:35,670 --> 00:05:37,250
E aqui, 1.000 também.
128
00:05:39,290 --> 00:05:40,970
Quase que vira uma esfera.
129
00:05:41,430 --> 00:05:43,270
Posso colocar, sei lá, 1.200 aqui.
130
00:05:43,270 --> 00:05:45,010
Né?
A gente pode perceber depois, isso.
131
00:05:45,840 --> 00:05:47,010
O tamanho que precisa ser.
132
00:05:47,300 --> 00:05:47,860
Tá?
133
00:05:47,860 --> 00:05:51,640
Vou colocar um pouquinho menor, só pra gente fazer
testes. Depois a gente pode mudar esse valor, tá?
134
00:05:52,050 --> 00:05:54,940
Então, 800 e, sei lá... 400.
135
00:05:56,290 --> 00:05:58,190
A gente não vai conseguir
ver essa cápsula no jogo.
136
00:05:58,600 --> 00:06:00,450
Então, deixa eu ligar ela,
pra gente poder ver.
137
00:06:01,040 --> 00:06:02,510
Aqui em Hidden in Game.
138
00:06:02,510 --> 00:06:04,670
Está ligado.
A gente desliga esse cara.
139
00:06:05,160 --> 00:06:07,200
Isso significa se ele vai estar escondido, né?
140
00:06:07,440 --> 00:06:08,650
Oculto no jogo.
Eu desliguei.
141
00:06:08,990 --> 00:06:10,650
Então, agora ele não vai
estar oculto no jogo.
142
00:06:11,040 --> 00:06:12,350
Então, a gente consegue ver a cápsula.
143
00:06:12,720 --> 00:06:13,120
Né?
144
00:06:13,650 --> 00:06:15,490
Consigo ver quando eu for entrar na cápsula.
145
00:06:16,350 --> 00:06:16,960
Beleza.
146
00:06:17,280 --> 00:06:19,280
Então, cada um dos inimigos,
agora, tem uma cápsula.
147
00:06:20,020 --> 00:06:21,930
Eu vou deixar ela mais para a frente, assim.
148
00:06:22,240 --> 00:06:25,320
Tá? Para que tenha mais área
na frente do inimigo do que atrás.
149
00:06:26,850 --> 00:06:29,140
Então, agora eu vou fazer o seguinte.
Toda vez que o personagem entrar...
150
00:06:29,630 --> 00:06:31,040
Na área de atuação dessa cápsula.
151
00:06:31,790 --> 00:06:33,260
O inimigo vai perceber ele.
Então...
152
00:06:33,870 --> 00:06:35,810
A gente vai fazer isso
através de uma Boolean.
153
00:06:36,890 --> 00:06:38,580
Deixa eu só arrumar esse cara
aqui mais para baixo.
154
00:06:39,160 --> 00:06:40,580
Fazer isso através de uma Boolean.
155
00:06:42,830 --> 00:06:44,450
Pra gente pegar...
156
00:06:44,450 --> 00:06:46,710
Esse valor, se ele está dentro
da cápsula ou não está.
157
00:06:47,880 --> 00:06:49,020
Nova variável.
158
00:06:49,640 --> 00:06:51,270
Eu vou chamar de Is...
159
00:06:51,270 --> 00:06:53,880
Né? Eu sempre gosto de chamar
as Booleans com "Is" no começo.
160
00:06:54,830 --> 00:06:55,700
IsHero...
161
00:06:56,600 --> 00:06:57,520
OnSight.
162
00:06:57,880 --> 00:06:58,430
Ou seja...
163
00:06:58,780 --> 00:07:00,640
"O herói está à vista?"
164
00:07:00,640 --> 00:07:02,710
Né? IsHeroOnSight.
Ou, você pode chamar de...
165
00:07:02,960 --> 00:07:04,970
"O herói está perto",
"O herói está aqui". Tá?
166
00:07:06,070 --> 00:07:07,800
Então, essa variável vai guardar para mim...
167
00:07:07,800 --> 00:07:09,660
Um valor de verdadeiro ou falso.
168
00:07:09,960 --> 00:07:11,640
Se o personagem está à vista...
169
00:07:12,030 --> 00:07:13,120
Ou não está, né?
170
00:07:13,660 --> 00:07:16,570
Quando que ele vai estar à vista?
Quando ele entrar dentro dessa cápsula.
171
00:07:16,570 --> 00:07:19,190
Então eu vou selecionar a cápsula.
E aí, botão direito...
172
00:07:19,190 --> 00:07:20,530
Eu vou adicionar um Evento para a cápsula.
173
00:07:20,890 --> 00:07:22,320
Add Event for Capsule.
174
00:07:22,800 --> 00:07:23,950
Eu quero...
175
00:07:24,530 --> 00:07:25,240
Colisão.
176
00:07:26,850 --> 00:07:28,590
Component Begin Overlap.
177
00:07:28,810 --> 00:07:29,220
Tá?
178
00:07:29,970 --> 00:07:33,060
A gente já viu algumas coisas disso também.
Overlap entre atores.
179
00:07:33,640 --> 00:07:35,690
Então, quando um Actor
passar em cima deste Actor...
180
00:07:36,700 --> 00:07:37,750
O inimigo vai perceber.
181
00:07:38,090 --> 00:07:38,680
Beleza?
182
00:07:39,190 --> 00:07:41,270
A gente podia fazer aqui...
Qual que é o outro Actor?
183
00:07:41,740 --> 00:07:43,230
Quando for só o Hero, né?
184
00:07:43,460 --> 00:07:45,620
Mas, como a gente só tem
ele andando no mundo...
185
00:07:46,490 --> 00:07:48,190
Então, a gente não vai ter...
186
00:07:48,710 --> 00:07:52,310
O perigo de ter algum... Outro
Actor entrando nessa cápsula, tá?
187
00:07:52,720 --> 00:07:56,760
Mas a gente poderia fazer aqui, uma condição para ver
se esse ator que está entrando é exatamente o herói.
188
00:07:56,990 --> 00:07:57,400
Né?
189
00:07:57,880 --> 00:07:59,400
Então, quando ele entrar na cápsula...
190
00:08:00,280 --> 00:08:02,280
A gente vai dar um Set nesse...
191
00:08:02,840 --> 00:08:03,840
IsHeroOnSight.
192
00:08:05,990 --> 00:08:07,440
E vai dizer que é Verdadeiro, né?
193
00:08:07,440 --> 00:08:09,020
Por padrão, este valor é...
194
00:08:09,820 --> 00:08:10,670
Deixa eu só pegar aqui.
195
00:08:10,670 --> 00:08:11,940
Por padrão, o valor é Falso.
196
00:08:11,940 --> 00:08:14,030
Quando ele entrar na cápsula,
o valor é Verdadeiro.
197
00:08:14,480 --> 00:08:14,860
Tá?
198
00:08:15,510 --> 00:08:16,150
Deixa eu só...
199
00:08:16,440 --> 00:08:17,680
Comentar esse cara aqui.
200
00:08:18,590 --> 00:08:19,400
Overlap.
201
00:08:21,770 --> 00:08:23,110
Set Hero...
202
00:08:25,300 --> 00:08:26,500
On Sight.
203
00:08:27,080 --> 00:08:27,790
Ou seja...
204
00:08:28,480 --> 00:08:31,390
Ele está setando o
valor da variável HeroOnSight.
205
00:08:31,390 --> 00:08:32,740
HeroOnSight, na verdade, é...
206
00:08:33,760 --> 00:08:35,680
Se o jogador, se o herói está...
207
00:08:35,970 --> 00:08:38,080
À vista, né?
Se o inimigo está vendo o herói.
208
00:08:38,790 --> 00:08:41,720
A gente fez isso com o Begin
Overlap. Ou seja, se o herói...
209
00:08:42,260 --> 00:08:44,040
Chegar dentro dessa cápsula aqui...
210
00:08:44,390 --> 00:08:47,640
Então, o inimigo vai entender que
ele está perto dele. Que ele está...
211
00:08:48,260 --> 00:08:50,030
Que ele está à vista, beleza?
212
00:08:50,920 --> 00:08:52,510
Então, agora a gente vai
usar essa condição para...
213
00:08:52,930 --> 00:08:54,950
Cuidar da nossa rotação aqui.
214
00:08:54,950 --> 00:08:56,600
Então, essa rotação só pode acontecer...
215
00:08:56,910 --> 00:08:58,970
Quando o HeroOnSight for Verdadeiro.
216
00:09:00,360 --> 00:09:02,380
A gente faz isso com um Branch.
Bem simples.
217
00:09:03,110 --> 00:09:03,990
Então, se o...
218
00:09:04,620 --> 00:09:05,190
O herói...
219
00:09:06,110 --> 00:09:08,080
Está OnSight.
Se isso for Verdadeiro.
220
00:09:08,470 --> 00:09:10,400
Você faz um Set Actor Rotation.
221
00:09:10,950 --> 00:09:12,760
Se for Falso, não faz nada.
222
00:09:13,950 --> 00:09:15,040
Compilar e salvar.
223
00:09:15,040 --> 00:09:17,530
E agora eu vou fazer o seguinte...
Eu vou deixar o herói um pouquinho mais longe.
224
00:09:17,530 --> 00:09:18,270
Ele já está, né?
225
00:09:18,500 --> 00:09:20,090
Ele tem que estar fora dessa cápsula, né?
226
00:09:20,520 --> 00:09:22,860
Eu vou deixar ele mais longe aqui, pra
gente entender o que está acontecendo.
227
00:09:24,530 --> 00:09:27,040
Então, eu estou aqui agora.
Nenhum deles aponta para mim, né?
228
00:09:27,380 --> 00:09:30,280
Só quando eu chegar perto da cápsula...
Quando eu tiver um Overlap com ela.
229
00:09:31,070 --> 00:09:32,890
Aí, eles agora estão olhando para mim.
230
00:09:33,120 --> 00:09:33,570
Né?
231
00:09:33,570 --> 00:09:35,230
Basicamente, eles perceberam
que eu estou aqui.
232
00:09:35,660 --> 00:09:37,600
Tá? E eles ficam me
percebendo infinitamente.
233
00:09:38,300 --> 00:09:40,550
Até eu cancelar isso.
Isso a gente vai fazer mais para a frente.
234
00:09:41,370 --> 00:09:41,920
Né?
235
00:09:41,920 --> 00:09:43,160
Mas eles estão me percebendo lá.
236
00:09:43,710 --> 00:09:45,940
Mesmo que eu vá bem longe,
eles estão olhando para mim.
237
00:09:46,490 --> 00:09:46,870
Né?
238
00:09:47,670 --> 00:09:49,150
Então, só para entender
de novo. Play...
239
00:09:50,250 --> 00:09:52,240
Se eu ficar passando aqui do lado...
240
00:09:52,580 --> 00:09:53,480
Ninguém me percebe.
241
00:09:53,730 --> 00:09:54,950
Se eu entrar na cápsula...
242
00:09:56,830 --> 00:09:57,980
Esses dois já me perceberam.
243
00:09:58,300 --> 00:09:59,150
Mas aquele ainda não.
244
00:09:59,600 --> 00:10:01,320
Se eu entrar na cápsula dele...
Me percebeu.
245
00:10:02,030 --> 00:10:03,270
Então, agora os três...
246
00:10:03,640 --> 00:10:04,690
Estão olhando para mim.
247
00:10:04,960 --> 00:10:05,380
Tá?
248
00:10:05,760 --> 00:10:08,160
Então, essa é uma maneira de a gente
fazer uma inteligência artificial.
249
00:10:08,760 --> 00:10:10,840
Uma outra coisa que eu quero fazer é o seguinte...
Você percebe que...
250
00:10:11,340 --> 00:10:13,740
Eles não me percebem.
Eu posso ficar atirando, né?
251
00:10:13,750 --> 00:10:14,920
E matar eles de longe.
252
00:10:16,130 --> 00:10:17,930
E eles não me percebem, eles não reagem.
253
00:10:18,450 --> 00:10:20,070
Então, outra coisa que a gente
tem que fazer é o seguinte...
254
00:10:20,620 --> 00:10:22,350
Eles têm que...
255
00:10:22,680 --> 00:10:24,870
Responder, né?
Eles têm que perceber que eu estou aqui.
256
00:10:24,870 --> 00:10:25,980
Quando eu atiro neles.
257
00:10:25,980 --> 00:10:26,490
Né?
258
00:10:26,490 --> 00:10:27,780
Se eu atirei, ele tem que me perceber.
259
00:10:28,060 --> 00:10:28,980
Então, vamos fazer isso também.
260
00:10:29,480 --> 00:10:32,470
Nesse caso, a gente vai fazer uma outra
variável para guardar essa informação.
261
00:10:32,960 --> 00:10:36,020
Então, um Boolean também. Que é
uma informação que vai ser Verdadeira ou Falsa.
262
00:10:36,590 --> 00:10:38,060
Eu vou chamar de IsHeroHere.
263
00:10:38,420 --> 00:10:39,270
"O herói está aqui"?
264
00:10:39,270 --> 00:10:41,290
Então, basicamente, o
inimigo percebeu. "O herói está aqui".
265
00:10:41,720 --> 00:10:42,630
"Ele está atirando em mim."
266
00:10:42,910 --> 00:10:44,750
Então HeroHere, por padrão, é Falso.
267
00:10:44,960 --> 00:10:45,530
Tá?
268
00:10:45,530 --> 00:10:48,070
Ele vai se tornar Verdadeiro toda vez
que eu atirar no inimigo.
269
00:10:48,070 --> 00:10:51,040
Então a gente tem aqui, lembra? O nosso
código para atirar. Está em Hit, aqui.
270
00:10:52,040 --> 00:10:53,780
Deixa eu comentar esse cara aqui.
271
00:10:56,310 --> 00:10:59,810
Então, toda vez que o inimigo for atingido,
ele tem que perceber que o herói está ali.
272
00:11:00,380 --> 00:11:01,980
Então, eu vou fazer aqui, uma condição.
273
00:11:02,520 --> 00:11:04,760
Set. Bem simples.
Set Verdadeiro.
274
00:11:05,290 --> 00:11:06,660
Toda vez que ele for atingido...
275
00:11:07,530 --> 00:11:09,720
A gente coloca a variável como IsHeroHere.
276
00:11:10,360 --> 00:11:10,890
Verdadeiro.
277
00:11:11,260 --> 00:11:12,310
Né?
Então, agora...
278
00:11:12,520 --> 00:11:13,680
A gente tem duas condições aí...
279
00:11:14,020 --> 00:11:15,580
Quando o inimigo é atingido.
280
00:11:16,320 --> 00:11:18,870
A gente coloca a variável
IsHeroHere como Verdadeiro.
281
00:11:19,160 --> 00:11:20,150
E quando o inimigo...
282
00:11:20,770 --> 00:11:23,790
E quando o Player passa em cima
do Componente lá, da cápsula...
283
00:11:24,110 --> 00:11:26,650
A gente coloca a variável
IsHeroOnSight Verdadeiro.
284
00:11:27,240 --> 00:11:28,990
Então, essas duas variáveis
vão cuidar pra gente...
285
00:11:29,630 --> 00:11:32,430
As condições de quando
o inimigo percebe o Player.
286
00:11:34,030 --> 00:11:36,310
Eu só preciso implementar esse
cara, agora, lá no meu Tick.
287
00:11:36,790 --> 00:11:38,040
Então, eu venho aqui... Né?
288
00:11:38,760 --> 00:11:40,580
A gente tem HeroOnSight.
289
00:11:40,580 --> 00:11:41,970
A gente pode ter também...
290
00:11:42,230 --> 00:11:43,120
IsHeroHere.
291
00:11:43,690 --> 00:11:44,480
Então, vem para cá.
292
00:11:45,230 --> 00:11:47,580
Então, pode ser um ou outro.
Independente, né?
293
00:11:47,580 --> 00:11:49,640
Se acontecer esse ou acontecer esse...
294
00:11:50,410 --> 00:11:52,480
A gente vai fazer o Actor Rotation, tá?
295
00:11:52,480 --> 00:11:54,720
Então, a gente coloca aí,
uma condiçãozinha "Or".
296
00:11:55,000 --> 00:11:56,320
Né?
Um ou outro.
297
00:11:57,350 --> 00:11:58,100
Eu puxo aqui.
298
00:11:58,610 --> 00:11:59,570
Onde está "Or".
299
00:12:00,730 --> 00:12:01,620
Or Boolean.
300
00:12:01,880 --> 00:12:02,830
Então, é um ou outro.
301
00:12:02,830 --> 00:12:05,710
Se esse acontecer ou se
esse acontecer... Tanto faz.
302
00:12:06,290 --> 00:12:07,360
Então, a condição é Verdadeira.
303
00:12:07,600 --> 00:12:08,060
Tá?
304
00:12:08,520 --> 00:12:09,650
Então, agora, se eu atirar...
305
00:12:10,050 --> 00:12:11,840
Ele me percebeu.
O do meio me percebeu.
306
00:12:11,840 --> 00:12:13,330
Ele está olhando para mim.
307
00:12:13,830 --> 00:12:16,200
E aí, depois, a gente faz,
claro, as condições...
308
00:12:18,170 --> 00:12:20,330
De... Do inimigo atirar na gente.
309
00:12:20,330 --> 00:12:21,810
Então, ele me percebe se eu atiro.
310
00:12:24,840 --> 00:12:28,390
Ainda não ficou muito claro. Vou deixar um pouquinho
mais claro. Ninguém está olhando para mim.
311
00:12:28,730 --> 00:12:29,690
Vou atirar no do meio.
312
00:12:34,360 --> 00:12:36,040
Com essa luz está terrível, né?
313
00:12:36,760 --> 00:12:38,120
Mas ele está olhando para mim.
314
00:12:38,900 --> 00:12:41,690
E aí, quando eu entro na cápsula,
os outros também olham para mim.
315
00:12:41,890 --> 00:12:43,760
Que são essas condições que me atendem, tá?
316
00:12:44,860 --> 00:12:48,410
Isso já é uma inteligência artificial.
Eu vou só arrumar aqui e comentar.
317
00:12:49,150 --> 00:12:50,130
Set...
318
00:12:50,810 --> 00:12:51,880
Actor Rotation.
319
00:12:54,600 --> 00:12:55,400
Ele olha...
320
00:12:56,820 --> 00:12:57,400
Para o jogador.
321
00:13:00,600 --> 00:13:01,630
Para o jogador.
322
00:13:05,290 --> 00:13:08,960
Ok, então ele só olha para o jogador quando
uma dessas duas condições for verdadeira.
323
00:13:09,350 --> 00:13:12,890
Quando o jogador passa dentro da
cápsula. Ou seja, ele está perto do inimigo.
324
00:13:13,310 --> 00:13:16,440
Ou quando ele atira no inimigo. Então, mesmo
que ele esteja de longe, se ele atirar no inimigo...
325
00:13:16,810 --> 00:13:18,230
O inimigo vai perceber ele, né?
326
00:13:18,650 --> 00:13:21,630
A gente tem que implementar o tiro
ainda, tem que implementar a morte e tal.
327
00:13:21,800 --> 00:13:25,580
Mas, uma coisa que eu quero fazer uma
pausa agora e arrumar é a parte visual.
328
00:13:26,000 --> 00:13:27,070
Vamos fazer uma pausa aí.
329
00:13:27,590 --> 00:13:30,920
Vamos começar a arrumar a parte visual,
porque está bem chato ver tudo assim, né?
330
00:13:30,920 --> 00:13:32,520
Está até difícil de entender
o que está acontecendo.
331
00:13:33,530 --> 00:13:36,330
Então, eu vou começar a fazer isso agora,
nas próximas aulas. A gente faz uma pausa.
332
00:13:36,940 --> 00:13:37,880
Na parte de lógica.
333
00:13:38,200 --> 00:13:40,520
Arruma um pouco a parte visual
e depois volta para a lógica.
27869
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.