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,560
15. The Grid
Inimigo - Tiro
2
00:00:03,560 --> 00:00:08,430
Então, agora, a primeira coisa que a gente vai fazer é
o personagem... O inimigo, aliás, dar tiro no personagem.
3
00:00:08,980 --> 00:00:10,660
Por enquanto ele só fica
olhando para o personagem.
4
00:00:11,150 --> 00:00:12,430
Se ele não fizer alguma coisa...
5
00:00:12,900 --> 00:00:16,200
Não tem dano, né? Não vai acontecer nada,
não vai acontecer a morte do personagem.
6
00:00:17,200 --> 00:00:21,540
Então, a gente vai fazer um projétil. O sistema é
muito parecido com o que a gente fez com a arma, tá?
7
00:00:22,190 --> 00:00:25,230
Vou fazer um projétil, então,
que será o projétil do inimigo.
8
00:00:25,670 --> 00:00:28,630
E pra gente aproveitar, eu vou
duplicar esse cara aqui. BP_Projetil...
9
00:00:30,540 --> 00:00:32,480
Duplicate.
Eu vou fazer BP_...
10
00:00:33,200 --> 00:00:34,090
Projetil...
11
00:00:35,440 --> 00:00:36,190
Enemy.
12
00:00:36,860 --> 00:00:40,120
Porque esse aqui é do inimigo. E pra gente organizar,
eu vou arrastar esse cara para o inimigo.
13
00:00:40,530 --> 00:00:41,200
Move here.
14
00:00:42,010 --> 00:00:44,400
Então eu já tenho esse cara pronto, né?
Tudo que a gente Setou, do...
15
00:00:44,840 --> 00:00:46,580
Do Cubo e do...
16
00:00:47,770 --> 00:00:48,850
E do projétil, né?
17
00:00:49,990 --> 00:00:52,230
Já está pronto.
Project Movement já está pronto.
18
00:00:52,850 --> 00:00:57,170
Vou só trocar o material dele para um outro.
Então, um Glow Red, eu vou colocar.
19
00:00:58,280 --> 00:00:59,170
Para ficar vermelho.
20
00:01:00,750 --> 00:01:02,330
E isso aqui também, eu posso deixar já...
21
00:01:02,700 --> 00:01:03,890
Hit DestroyActor.
22
00:01:04,240 --> 00:01:06,010
E BeginPlay, Set Life Span.
23
00:01:06,010 --> 00:01:07,560
Então, já está tudo pronto.
24
00:01:07,560 --> 00:01:09,170
Né? Por isso que
a gente já reaproveitou.
25
00:01:09,540 --> 00:01:11,040
Então, agora a gente tem
que fazer o seguinte...
26
00:01:11,040 --> 00:01:12,990
Esse cara tem que fazer
o Spawn desse projétil...
27
00:01:13,530 --> 00:01:15,190
Sempre quando ele olhar o personagem.
28
00:01:15,190 --> 00:01:16,460
Tá?
Vamos fazer isso agora.
29
00:01:16,460 --> 00:01:17,790
Então, eu vou abrir esse cara...
30
00:01:18,960 --> 00:01:20,010
BP_Enemy.
31
00:01:21,030 --> 00:01:23,140
E a condição para ele atirar
está aqui já, lembra?
32
00:01:23,650 --> 00:01:26,960
Que ele dá um Set Actor Rotation,
quando essa condição é atendida.
33
00:01:27,480 --> 00:01:31,920
Então, agora ele vai fazer outra coisa também, quando ele
olhar para o jogador. Ele vai começar a atirar no jogador.
34
00:01:32,920 --> 00:01:35,080
Então, são duas coisas.
Vou criar um Sequence aqui.
35
00:01:35,440 --> 00:01:36,260
Sequence.
36
00:01:36,800 --> 00:01:38,110
Primeira coisa que ele vai fazer é isso.
37
00:01:39,250 --> 00:01:41,110
Não mexe, né?
Isso a gente já fez.
38
00:01:41,820 --> 00:01:43,790
E a segunda coisa que
ele vai fazer é dar o tiro.
39
00:01:43,790 --> 00:01:46,130
A primeira coisa que eu vou
fazer é criar esse tiro, né?
40
00:01:46,530 --> 00:01:47,740
Então, eu vou criar uma Função.
41
00:01:48,520 --> 00:01:49,500
Nova Função.
42
00:01:50,020 --> 00:01:51,190
Vou colocar como Fire também.
43
00:01:51,770 --> 00:01:56,460
E a estrutura dela, basicamente, é muito parecida
com o que a gente já fez para a arma, né?
44
00:01:57,060 --> 00:01:58,200
A gente vai dar um Spawn.
45
00:01:59,090 --> 00:02:00,230
Actor From Class.
46
00:02:04,040 --> 00:02:06,900
E dessa vez, o Spawn vai ser o BP...
47
00:02:07,250 --> 00:02:08,380
ProjetilEnemy.
48
00:02:08,670 --> 00:02:09,370
Está aqui.
49
00:02:11,220 --> 00:02:14,120
A gente tem que ter um Transform, então
a gente vai fazer também um Arrow aqui.
50
00:02:14,570 --> 00:02:16,120
Não tem ainda, né?
Então eu vou criar um.
51
00:02:17,350 --> 00:02:18,580
Add Component.
52
00:02:18,580 --> 00:02:19,640
Arrow...
53
00:02:20,630 --> 00:02:23,250
Esse Arrow eu vou
chamar de ArrowProjetil.
54
00:02:25,440 --> 00:02:28,210
E aqui no Evento, a gente
pega o ArrowProjetil...
55
00:02:29,600 --> 00:02:30,920
Get Transform.
56
00:02:31,940 --> 00:02:33,350
Né?
GetWorldTransform.
57
00:02:33,610 --> 00:02:36,050
E conecta aqui no Spawn Transform.
58
00:02:37,490 --> 00:02:40,110
Maravilha. Está pronto, né?
Essa é a função do tiro.
59
00:02:40,580 --> 00:02:41,220
Ele vai...
60
00:02:41,680 --> 00:02:45,320
Criar esse projétil no mundo.
Nessa posição deste Arrow.
61
00:02:45,870 --> 00:02:49,070
O que a gente precisa fazer agora é ficar
disparando essa Função ao longo do tempo.
62
00:02:49,070 --> 00:02:50,440
Né?
Então a gente vai fazer um Timer.
63
00:02:50,870 --> 00:02:54,030
Set Timer by Function.
64
00:02:55,480 --> 00:02:56,050
Name.
65
00:02:56,900 --> 00:02:59,290
E aqui, o nome da função é Fire.
66
00:03:00,750 --> 00:03:02,010
E ela vai acontecer aqui.
67
00:03:02,940 --> 00:03:05,100
As duas coisas vão acontecer.
Ele vai mudar a rotação...
68
00:03:05,730 --> 00:03:07,970
E ele vai criar um Set Timer by Function.
69
00:03:08,790 --> 00:03:13,470
E aqui tem o tempo, né? Que é o intervalo entre os tiros.
Então a gente já sabe disso também, como fazer.
70
00:03:14,230 --> 00:03:15,600
E eu vou criar uma variável...
71
00:03:17,170 --> 00:03:18,310
Do tipo Float.
72
00:03:19,940 --> 00:03:21,300
E vou chamar de...
73
00:03:21,300 --> 00:03:23,300
O mesmo nome, tá?
Só pra gente...
74
00:03:23,570 --> 00:03:25,430
Não tem problema a gente ter
o mesmo nome de variável.
75
00:03:25,840 --> 00:03:28,190
Em Blueprints diferentes.
Porque é uma variável local.
76
00:03:28,520 --> 00:03:30,240
Shoot Per Second.
77
00:03:32,880 --> 00:03:35,780
"Por favor, Compile a Blueprint".
A gente Compila a Blueprint.
78
00:03:36,310 --> 00:03:37,070
Traz aqui.
79
00:03:37,540 --> 00:03:40,220
E a gente coloca Float divididos por Float.
80
00:03:42,160 --> 00:03:43,550
Divididos por Float.
81
00:03:43,880 --> 00:03:46,840
Então, aqui a gente vai ter 1, né?
Porque é 1 segundo, o intervalo.
82
00:03:47,540 --> 00:03:48,630
E a gente vai ter o...
83
00:03:50,010 --> 00:03:52,360
Esse resultado vai ser o Shoot Per Second.
84
00:03:52,360 --> 00:03:53,290
E a gente conecta aqui.
85
00:03:53,870 --> 00:03:56,360
Então, não sei quantos
tiros por segundo. Sei lá...
86
00:03:57,000 --> 00:03:59,330
5 tiros por segundo.
Pode ser muito, pode ser pouco, né?
87
00:04:00,610 --> 00:04:04,720
Uma coisa que é delicada. Talvez vocês
já tenham percebido, mas se não, eu mostro.
88
00:04:05,560 --> 00:04:08,270
A partir do momento em que uma
dessas condições é verdadeira, né?
89
00:04:08,270 --> 00:04:10,700
Então, a partir do momento em
que o inimigo percebe o jogador...
90
00:04:11,240 --> 00:04:13,500
Ele vai ficar disparando
esse Tick aqui. Toda hora, né?
91
00:04:13,870 --> 00:04:15,060
Ou seja, todo...
92
00:04:15,460 --> 00:04:17,040
Todo Frame aí.
Todo intervalo.
93
00:04:17,810 --> 00:04:19,990
E ele vai ficar, então, disparando
o Set Timer toda vez.
94
00:04:19,990 --> 00:04:22,720
Set Timer, Set Timer, Set Timer...
E isso é bem ruim.
95
00:04:22,720 --> 00:04:23,820
Não é para ser assim.
96
00:04:24,310 --> 00:04:25,890
A gente vai criar um Do Once aqui.
97
00:04:27,950 --> 00:04:30,580
Para que esse fluxo aqui de baixo...
98
00:04:31,030 --> 00:04:32,660
Seja executado somente uma vez.
99
00:04:33,140 --> 00:04:33,630
Tá?
100
00:04:33,630 --> 00:04:35,140
Então, é uma vez só que
você vai fazer isso.
101
00:04:35,830 --> 00:04:38,720
Primeira vez que essa condição é
Verdadeira, ele vem para cá. Ele faz o zero...
102
00:04:38,720 --> 00:04:39,970
SetActorRotation.
103
00:04:40,520 --> 00:04:41,680
E ele faz o 1.
104
00:04:42,070 --> 00:04:43,560
Que é o...
Que vai ser um Do Once.
105
00:04:43,560 --> 00:04:45,220
Uma vez só, ele vai fazer isso aqui, tá?
106
00:04:46,460 --> 00:04:49,420
O Tick continua acontecendo, mas
o Tick vai ser sempre, né?
107
00:04:49,420 --> 00:04:50,720
Que é o SetActorRotation.
108
00:04:51,000 --> 00:04:51,850
Tem que ser toda hora.
109
00:04:52,180 --> 00:04:52,690
Beleza?
110
00:04:53,270 --> 00:04:54,410
Então, isso agora está seguro.
111
00:04:54,880 --> 00:04:56,750
E em nenhum momento, a gente
está falando para a Unreal: "Olha, Unreal..."
112
00:04:57,610 --> 00:04:58,960
"Pare com esse Timer."
113
00:04:58,960 --> 00:05:00,280
Tá?
A gente precisa dizer isso.
114
00:05:00,600 --> 00:05:04,240
E, principalmente depois que a gente for fazer uma
implementação, por exemplo, o jogador morreu...
115
00:05:04,600 --> 00:05:08,690
O inimigo precisa parar de atirar, né?
Se não, fica atirando infinitamente.
116
00:05:09,080 --> 00:05:10,250
Então a gente vai fazer isso aqui.
117
00:05:10,520 --> 00:05:11,450
Eu vou criar um Evento.
118
00:05:12,430 --> 00:05:14,100
Chamado...
Custom Event, né?
119
00:05:15,810 --> 00:05:18,520
Eu vou chamar de StopEnemy.
Que o inimigo vai ter que parar.
120
00:05:18,790 --> 00:05:20,890
A gente vai chamar esse Evento
quando for necessário.
121
00:05:21,470 --> 00:05:23,970
E o StopEnemy vai chamar
para mim o Clear Timer...
122
00:05:24,330 --> 00:05:25,320
By Function.
123
00:05:25,860 --> 00:05:27,320
Só para parar esse Timer, né?
124
00:05:28,000 --> 00:05:30,040
Então, a gente chama de Fire.
125
00:05:31,040 --> 00:05:33,260
Então, quando a gente precisar
depois, mais tarde, a gente vai...
126
00:05:34,720 --> 00:05:37,560
Chamar esse Evento aí,
se precisar. StopEnemy.
127
00:05:38,160 --> 00:05:39,360
Quando eu precisar parar o inimigo.
128
00:05:39,810 --> 00:05:41,840
Então é isso por enquanto.
Vamos ver se funciona.
129
00:05:41,840 --> 00:05:42,890
Compilar e salvar.
130
00:05:43,770 --> 00:05:44,870
Ele não está atirando.
131
00:05:45,520 --> 00:05:46,380
Por quê?
132
00:05:48,310 --> 00:05:50,280
Looping.
Tem que ligar o Looping.
133
00:05:51,190 --> 00:05:53,110
Presta atenção aqui!
Algo muito importante!
134
00:05:53,110 --> 00:05:53,840
Tá?
135
00:05:53,840 --> 00:05:54,640
Olha aqui na tela.
136
00:05:55,800 --> 00:05:57,220
A gente tem que fazer uma coisa.
137
00:05:57,460 --> 00:05:59,050
Aqui no projétil do inimigo.
138
00:05:59,050 --> 00:06:00,730
Não posso esquecer disso.
Quase esqueci.
139
00:06:01,290 --> 00:06:03,830
Que a gente copiou esse projétil do projétil...
140
00:06:03,830 --> 00:06:04,820
Do jogador, né?
141
00:06:05,390 --> 00:06:07,300
Então, a gente tem que vir aqui no nosso...
142
00:06:07,610 --> 00:06:08,350
Projétil.
143
00:06:08,920 --> 00:06:11,000
Na colisão, né?
No Sphere Colision.
144
00:06:11,400 --> 00:06:13,070
A gente tem que trocar o
tipo de colisão agora.
145
00:06:13,890 --> 00:06:16,970
Deixa eu colocar todo mundo no Ignore aqui.
Só pra gente ligar aquilo que precisa.
146
00:06:17,800 --> 00:06:18,870
Ignore todo mundo.
147
00:06:19,240 --> 00:06:21,090
Mas, você não vai ignorar o Pawn.
148
00:06:21,090 --> 00:06:22,640
Ou seja, tem que bloquear ele.
149
00:06:22,640 --> 00:06:24,500
Né?
Para que tenha conflito com...
150
00:06:25,000 --> 00:06:25,610
O jogador.
151
00:06:26,540 --> 00:06:28,110
Então, isso é importantíssimo, tá?
152
00:06:28,110 --> 00:06:29,350
Eu vou Compilar e vou salvar.
153
00:06:30,000 --> 00:06:30,480
Play.
154
00:06:31,100 --> 00:06:33,020
E agora sim, eles
estão atirando em mim.
155
00:06:33,680 --> 00:06:35,090
Eu vou ir para outro lugar.
156
00:06:35,090 --> 00:06:36,340
O tiro está bem rápido, né?
157
00:06:39,060 --> 00:06:41,100
Então, agora a gente tem que fazer
alguns ajustes, que é o seguinte...
158
00:06:41,940 --> 00:06:43,510
Velocidade do tiro, por exemplo.
159
00:06:43,510 --> 00:06:44,410
Então, a gente vem...
160
00:06:44,410 --> 00:06:45,680
No projétil.
161
00:06:46,160 --> 00:06:47,740
A velocidade do tiro está no projétil.
162
00:06:48,440 --> 00:06:52,240
Project Movement.
A gente tem velocidade em 15.000.
163
00:06:52,630 --> 00:06:55,430
Eu vou colocar, sei lá, 8.000.
Vamos ver agora, como é que fica.
164
00:06:55,720 --> 00:06:56,230
Play.
165
00:07:03,040 --> 00:07:04,990
Depois a gente tem que testar se
não está muito difícil, né?
166
00:07:06,110 --> 00:07:06,880
6.000.
167
00:07:07,280 --> 00:07:10,960
E aqui, os tiros por segundo também, né?
Não precisa ser 5 tiros por segundo.
168
00:07:11,670 --> 00:07:12,970
Pode ser...
169
00:07:13,570 --> 00:07:14,300
Três.
170
00:07:14,860 --> 00:07:15,480
Play.
171
00:07:16,440 --> 00:07:16,950
Foi.
172
00:07:18,090 --> 00:07:20,610
Está um pouquinho mais fácil, né?
A gente tem que ajustar aí, a dificuldade.
173
00:07:21,370 --> 00:07:24,370
Então, por enquanto, ele estão atirando
em mim e eu não morro. Sou invencível, né?
174
00:07:24,760 --> 00:07:26,330
Tem que fazer agora, a questão do dano.
175
00:07:26,600 --> 00:07:27,250
Tá?
176
00:07:27,250 --> 00:07:28,320
Esse tiro que eu estou dando...
177
00:07:29,180 --> 00:07:30,810
O que está aparecendo é que
eu estou matando eles, né?
178
00:07:31,310 --> 00:07:32,420
Mas, eles não me matam ainda.
179
00:07:32,950 --> 00:07:35,120
Então, agora a gente tem
que fazer isso. Fazer uma...
180
00:07:35,640 --> 00:07:37,120
Uma condição para que
eu também leve dano.
181
00:07:37,360 --> 00:07:38,000
Beleza?
182
00:07:38,000 --> 00:07:39,040
Até a próxima aula.
15165
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.