Afrikaans
Akan
Albanian
Amharic
Arabic
Armenian
Azerbaijani
Basque
Belarusian
Bemba
Bengali
Bihari
Bosnian
Breton
Bulgarian
Cambodian
Catalan
Cebuano
Cherokee
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Corsican
Croatian
Czech
Danish
Dutch
Esperanto
Estonian
Ewe
Faroese
Filipino
Finnish
French
Frisian
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hausa
Hawaiian
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Interlingua
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Kirundi
Kongo
Korean
Krio (Sierra Leone)
Kurdish
Kurdish (Soranî)
Kyrgyz
Laothian
Latin
Latvian
Lingala
Lithuanian
Lozi
Luganda
Luo
Luxembourgish
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mauritian Creole
Moldavian
Mongolian
Myanmar (Burmese)
Montenegrin
Nepali
Nigerian Pidgin
Northern Sotho
Norwegian
Norwegian (Nynorsk)
Occitan
Oriya
Oromo
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi
Quechua
Romanian
Romansh
Runyakitara
Russian
Samoan
Scots Gaelic
Serbian
Serbo-Croatian
Sesotho
Setswana
Seychellois Creole
Shona
Sindhi
Sinhalese
Slovak
Slovenian
Somali
Spanish
Spanish (Latin American)
Sundanese
Swahili
Swedish
Tajik
Tamil
Tatar
Telugu
Thai
Tigrinya
Tonga
Tshiluba
Tumbuka
Turkish
Turkmen
Twi
Uighur
Ukrainian
Urdu
Uzbek
Vietnamese
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zulu
1
15. The Grid Inimigo - Tiro
2
Então, agora, a primeira coisa que a gente vai fazer é o personagem... O inimigo, aliás, dar tiro no personagem.
3
Por enquanto ele só fica olhando para o personagem.
4
Se ele não fizer alguma coisa...
5
Não tem dano, né? Não vai acontecer nada, não vai acontecer a morte do personagem.
6
Então, a gente vai fazer um projétil. O sistema é muito parecido com o que a gente fez com a arma, tá?
7
Vou fazer um projétil, então, que será o projétil do inimigo.
8
E pra gente aproveitar, eu vou duplicar esse cara aqui. BP_Projetil...
9
Duplicate. Eu vou fazer BP_...
10
Projetil...
11
Enemy.
12
Porque esse aqui é do inimigo. E pra gente organizar, eu vou arrastar esse cara para o inimigo.
13
Move here.
14
Então eu já tenho esse cara pronto, né? Tudo que a gente Setou, do...
15
Do Cubo e do...
16
E do projétil, né?
17
Já está pronto. Project Movement já está pronto.
18
Vou só trocar o material dele para um outro. Então, um Glow Red, eu vou colocar.
19
Para ficar vermelho.
20
E isso aqui também, eu posso deixar já...
21
Hit DestroyActor.
22
E BeginPlay, Set Life Span.
23
Então, já está tudo pronto.
24
Né? Por isso que a gente já reaproveitou.
25
Então, agora a gente tem que fazer o seguinte...
26
Esse cara tem que fazer o Spawn desse projétil...
27
Sempre quando ele olhar o personagem.
28
Tá? Vamos fazer isso agora.
29
Então, eu vou abrir esse cara...
30
BP_Enemy.
31
E a condição para ele atirar está aqui já, lembra?
32
Que ele dá um Set Actor Rotation, quando essa condição é atendida.
33
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
Então, são duas coisas. Vou criar um Sequence aqui.
35
Sequence.
36
Primeira coisa que ele vai fazer é isso.
37
Não mexe, né? Isso a gente já fez.
38
E a segunda coisa que ele vai fazer é dar o tiro.
39
A primeira coisa que eu vou fazer é criar esse tiro, né?
40
Então, eu vou criar uma Função.
41
Nova Função.
42
Vou colocar como Fire também.
43
E a estrutura dela, basicamente, é muito parecida com o que a gente já fez para a arma, né?
44
A gente vai dar um Spawn.
45
Actor From Class.
46
E dessa vez, o Spawn vai ser o BP...
47
ProjetilEnemy.
48
Está aqui.
49
A gente tem que ter um Transform, então a gente vai fazer também um Arrow aqui.
50
Não tem ainda, né? Então eu vou criar um.
51
Add Component.
52
Arrow...
53
Esse Arrow eu vou chamar de ArrowProjetil.
54
E aqui no Evento, a gente pega o ArrowProjetil...
55
Get Transform.
56
Né? GetWorldTransform.
57
E conecta aqui no Spawn Transform.
58
Maravilha. Está pronto, né? Essa é a função do tiro.
59
Ele vai...
60
Criar esse projétil no mundo. Nessa posição deste Arrow.
61
O que a gente precisa fazer agora é ficar disparando essa Função ao longo do tempo.
62
Né? Então a gente vai fazer um Timer.
63
Set Timer by Function.
64
Name.
65
E aqui, o nome da função é Fire.
66
E ela vai acontecer aqui.
67
As duas coisas vão acontecer. Ele vai mudar a rotação...
68
E ele vai criar um Set Timer by Function.
69
E aqui tem o tempo, né? Que é o intervalo entre os tiros. Então a gente já sabe disso também, como fazer.
70
E eu vou criar uma variável...
71
Do tipo Float.
72
E vou chamar de...
73
O mesmo nome, tá? Só pra gente...
74
Não tem problema a gente ter o mesmo nome de variável.
75
Em Blueprints diferentes. Porque é uma variável local.
76
Shoot Per Second.
77
"Por favor, Compile a Blueprint". A gente Compila a Blueprint.
78
Traz aqui.
79
E a gente coloca Float divididos por Float.
80
Divididos por Float.
81
Então, aqui a gente vai ter 1, né? Porque é 1 segundo, o intervalo.
82
E a gente vai ter o...
83
Esse resultado vai ser o Shoot Per Second.
84
E a gente conecta aqui.
85
Então, não sei quantos tiros por segundo. Sei lá...
86
5 tiros por segundo. Pode ser muito, pode ser pouco, né?
87
Uma coisa que é delicada. Talvez vocês já tenham percebido, mas se não, eu mostro.
88
A partir do momento em que uma dessas condições é verdadeira, né?
89
Então, a partir do momento em que o inimigo percebe o jogador...
90
Ele vai ficar disparando esse Tick aqui. Toda hora, né?
91
Ou seja, todo...
92
Todo Frame aí. Todo intervalo.
93
E ele vai ficar, então, disparando o Set Timer toda vez.
94
Set Timer, Set Timer, Set Timer... E isso é bem ruim.
95
Não é para ser assim.
96
A gente vai criar um Do Once aqui.
97
Para que esse fluxo aqui de baixo...
98
Seja executado somente uma vez.
99
Tá?
100
Então, é uma vez só que você vai fazer isso.
101
Primeira vez que essa condição é Verdadeira, ele vem para cá. Ele faz o zero...
102
SetActorRotation.
103
E ele faz o 1.
104
Que é o... Que vai ser um Do Once.
105
Uma vez só, ele vai fazer isso aqui, tá?
106
O Tick continua acontecendo, mas o Tick vai ser sempre, né?
107
Que é o SetActorRotation.
108
Tem que ser toda hora.
109
Beleza?
110
Então, isso agora está seguro.
111
E em nenhum momento, a gente está falando para a Unreal: "Olha, Unreal..."
112
"Pare com esse Timer."
113
Tá? A gente precisa dizer isso.
114
E, principalmente depois que a gente for fazer uma implementação, por exemplo, o jogador morreu...
115
O inimigo precisa parar de atirar, né? Se não, fica atirando infinitamente.
116
Então a gente vai fazer isso aqui.
117
Eu vou criar um Evento.
118
Chamado... Custom Event, né?
119
Eu vou chamar de StopEnemy. Que o inimigo vai ter que parar.
120
A gente vai chamar esse Evento quando for necessário.
121
E o StopEnemy vai chamar para mim o Clear Timer...
122
By Function.
123
Só para parar esse Timer, né?
124
Então, a gente chama de Fire.
125
Então, quando a gente precisar depois, mais tarde, a gente vai...
126
Chamar esse Evento aí, se precisar. StopEnemy.
127
Quando eu precisar parar o inimigo.
128
Então é isso por enquanto. Vamos ver se funciona.
129
Compilar e salvar.
130
Ele não está atirando.
131
Por quê?
132
Looping. Tem que ligar o Looping.
133
Presta atenção aqui! Algo muito importante!
134
Tá?
135
Olha aqui na tela.
136
A gente tem que fazer uma coisa.
137
Aqui no projétil do inimigo.
138
Não posso esquecer disso. Quase esqueci.
139
Que a gente copiou esse projétil do projétil...
140
Do jogador, né?
141
Então, a gente tem que vir aqui no nosso...
142
Projétil.
143
Na colisão, né? No Sphere Colision.
144
A gente tem que trocar o tipo de colisão agora.
145
Deixa eu colocar todo mundo no Ignore aqui. Só pra gente ligar aquilo que precisa.
146
Ignore todo mundo.
147
Mas, você não vai ignorar o Pawn.
148
Ou seja, tem que bloquear ele.
149
Né? Para que tenha conflito com...
150
O jogador.
151
Então, isso é importantíssimo, tá?
152
Eu vou Compilar e vou salvar.
153
Play.
154
E agora sim, eles estão atirando em mim.
155
Eu vou ir para outro lugar.
156
O tiro está bem rápido, né?
157
Então, agora a gente tem que fazer alguns ajustes, que é o seguinte...
158
Velocidade do tiro, por exemplo.
159
Então, a gente vem...
160
No projétil.
161
A velocidade do tiro está no projétil.
162
Project Movement. A gente tem velocidade em 15.000.
163
Eu vou colocar, sei lá, 8.000. Vamos ver agora, como é que fica.
164
Play.
165
Depois a gente tem que testar se não está muito difícil, né?
166
6.000.
167
E aqui, os tiros por segundo também, né? Não precisa ser 5 tiros por segundo.
168
Pode ser...
169
Três.
170
Play.
171
Foi.
172
Está um pouquinho mais fácil, né? A gente tem que ajustar aí, a dificuldade.
173
Então, por enquanto, ele estão atirando em mim e eu não morro. Sou invencível, né?
174
Tem que fazer agora, a questão do dano.
175
Tá?
176
Esse tiro que eu estou dando...
177
O que está aparecendo é que eu estou matando eles, né?
178
Mas, eles não me matam ainda.
179
Então, agora a gente tem que fazer isso. Fazer uma...
180
Uma condição para que eu também leve dano.
181
Beleza?
182
Até a próxima aula.
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.