All language subtitles for 28. Enemy - See Player (Perceber Player)

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English Download
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu

Original subtitles

1

15. The Grid Inimigo - Perceber Player

2

O que a gente vai fazer agora é o inimigo.

3

É prestar atenção no jogador, né? Ele vai perceber o jogador...

4

De acordo com determinados parâmetros aí.

5

Mas, a primeira coisa que eu vou fazer é a seguinte...

6

É que o inimigo fique olhando para o jogador.

7

Tá?

8

A todo momento ali, ele está...

9

Observando a posição que o jogador está.

10

E depois a gente faz algumas condições para que isso aconteça.

11

Beleza?

12

Então, eu estou aqui no Blueprint do inimigo...

13

Como a gente quer que isso aconteça a todo momento, não tem como fugir do Tick.

14

Né?

15

A gente poderia checar isso, por exemplo, a cada um segundo e tal.

16

Mas aqui para o nosso caso...

17

Isso aqui não vai consumir tanta performance.

18

Então a gente pode fazer no Tick mesmo.

19

Né?

20

Então, antes de a gente fazer isso, eu preciso pegar uma referência para o meu jogador, né?

21

Por enquanto a Blueprint do inimigo não sabe que o jogador existe. O Player existe.

22

Então, vamos fazer isso no BeginPlay.

23

Então, deixa eu jogar mais para cima, isso aqui.

24

A gente faz isso quando o jogo começar, né?

25

E aí, vamos fazer aqui uma sequência, pra gente poder se organizar.

26

Sequence.

27

Então, primeiro a gente... Vai acontecer isso.

28

E em segundo lugar, a gente vai fazer um Get Player Character.

29

Index 0 mesmo.

30

A gente vai fazer um Cast para o nosso personagem.

31

Cast BP_HeroChar.

32

E aí a gente vai fazer um Promote to Variable. Eu sempre gosto de chamar de...

33

O nome da Classe, HeroChar. E Refer.

34

Para eu saber que é uma referência...

35

Para essa Classe, né?

36

Isso aqui vai ser a segunda coisa que vai acontecer.

37

Logo que o jogo começar.

38

Então...

39

Esse bloco aqui, eu vou comentar...

40

Get Hero...

41

Char Refer.

42

Maravilha. Deixa ele aqui.

43

E agora, o nosso inimigo tem uma referência para o nosso personagem, né?

44

Então, o que eu quero fazer aqui? Eu quero que o meu inimigo aponte sempre para o personagem.

45

Então, basicamente a gente vai fazer um Set Actor Rotation.

46

E o Set Actor Rotation vai precisar de um novo valor para a rotação.

47

Lembrando lá da nossa aula de "Controlando o Espaço", eu tenho um nó pronto para isso.

48

Find Look.

49

At Rotation. Ele vai pegar dois...

50

Dois lugares no mundo, né?

51

Duas posições.

52

E vai retornar um valor de rotação.

53

Então, vamos pegar aqui...

54

Em primeiro lugar, o Start, que seria a posição do meu...

55

Inimigo.

56

Então é Get Actor Location.

57

Pego esse cara e ele vai apontar para o Target, né? E o Target...

58

É o nosso...

59

É a localização do nosso Player.

60

Né? Como eu já tenho a referência dele aqui...

61

Então, dou um Get nele.

62

E pego, daí, a localização dele também, que é a mesma coisa. Get Actor Location.

63

Né?

64

Então, agora o Start vai apontar para o Target...

65

E vai liberar para mim uma rotação que vai ser a nova rotação do inimigo. Aqui.

66

Pronto, tudo isso vai acontecer sempre, né? Todos os Frames aí.

67

Isso tem que ser instantâneo.

68

Vamos Compilar e salvar e ver se funciona.

69

Se eu não quebrei nada.

70

Então, estão lá, os meus...

71

Inimigos. Mas, como está sem luz...

72

Né? Está difícil de ver.

73

Deixa eu fazer o seguinte...

74

Eu vou colocar mais uma Directional Light aqui...

75

Apontando para o outro lado.

76

Pronto, agora eu consigo ver as duas faces deles, né?

77

Este lado e este lado, beleza.

78

Então, estão eles ali.

79

Dá para ver que eles estão apontando sempre para mim. Né?

80

Ele está olhando para mim, olhando...

81

Essa sombra está matando bastante também.

82

Mas eles estão sempre olhando para mim. Deixa eu só tirar a sombra.

83

Se vocês não sabem, dá para tirar a sombra.

84

Vamos selecionar esse Directional Light...

85

Cast Shadows. Desliga.

86

Isso aqui também. Cast Shadows, desliga.

87

Acho que vai melhorar um pouquinho.

88

É, melhorou.

89

Então eles estão sempre apontando para mim.

90

Olha para mim, olha para mim.

91

É isso aí.

92

Mas eu não quero que isso aconteça sempre.

93

Então, vamos fazer algumas condições para que isso aconteça.

94

E a partir do momento em que a gente vai começara a implementar essas condições...

95

A gente está começando a fazer inteligência artificial, tá?

96

Não precisa fazer nada...

97

Mirabolante, pra gente dizer que está fazendo inteligência artificial. Isso já é.

98

Uma inteligência artificial.

99

A primeira coisa que eu quero fazer é o seguinte... Eu quero que o...

100

O inimigo só perceba o personagem, quando o personagem estiver perto.

101

Tá?

102

Então eu vou fazer o seguinte... Eu vou criar uma área aqui...

103

De atuação.

104

Desse inimigo.

105

Seja uma área, que quando o personagem entrar...

106

O inimigo vai perceber ele.

107

Tem alguns componentes que fazem isso. Que ajudam a gente a fazer esse tipo de...

108

De interação.

109

Uma Classe perceber outra Classe.

110

Mas eu quero fazer com aquilo que a gente aprendeu durante as aulas, para...

111

Pra gente perceber que dá pra fazer muita coisa já.

112

Com as aulas que a gente já viu, tá?

113

Então, eu vou criar um Componente aqui, que é uma colisão.

114

A gente tem Capsule Colision. Quer ver... A gente tem Capsule Colision...

115

Sphere Colision e tem Box Colision.

116

Vou pegar a cápsula.

117

Tá? E aparece uma cápsula ali.

118

Eu vou só rotacionar ela...

119

Para ficar...

120

Deitada, assim.

121

Basicamente, quando...

122

O personagem entrar nessa área de atuação...

123

A cápsula... Essa cápsula, né?

124

O inimigo vai perceber ele.

125

Então, vamos aumentar aqui o tamanho desse cara. Sei lá, tipo...

126

1.000.

127

E aqui, 1.000 também.

128

Quase que vira uma esfera.

129

Posso colocar, sei lá, 1.200 aqui.

130

Né? A gente pode perceber depois, isso.

131

O tamanho que precisa ser.

132

Tá?

133

Vou colocar um pouquinho menor, só pra gente fazer testes. Depois a gente pode mudar esse valor, tá?

134

Então, 800 e, sei lá... 400.

135

A gente não vai conseguir ver essa cápsula no jogo.

136

Então, deixa eu ligar ela, pra gente poder ver.

137

Aqui em Hidden in Game.

138

Está ligado. A gente desliga esse cara.

139

Isso significa se ele vai estar escondido, né?

140

Oculto no jogo. Eu desliguei.

141

Então, agora ele não vai estar oculto no jogo.

142

Então, a gente consegue ver a cápsula.

143

Né?

144

Consigo ver quando eu for entrar na cápsula.

145

Beleza.

146

Então, cada um dos inimigos, agora, tem uma cápsula.

147

Eu vou deixar ela mais para a frente, assim.

148

Tá? Para que tenha mais área na frente do inimigo do que atrás.

149

Então, agora eu vou fazer o seguinte. Toda vez que o personagem entrar...

150

Na área de atuação dessa cápsula.

151

O inimigo vai perceber ele. Então...

152

A gente vai fazer isso através de uma Boolean.

153

Deixa eu só arrumar esse cara aqui mais para baixo.

154

Fazer isso através de uma Boolean.

155

Pra gente pegar...

156

Esse valor, se ele está dentro da cápsula ou não está.

157

Nova variável.

158

Eu vou chamar de Is...

159

Né? Eu sempre gosto de chamar as Booleans com "Is" no começo.

160

IsHero...

161

OnSight.

162

Ou seja...

163

"O herói está à vista?"

164

Né? IsHeroOnSight. Ou, você pode chamar de...

165

"O herói está perto", "O herói está aqui". Tá?

166

Então, essa variável vai guardar para mim...

167

Um valor de verdadeiro ou falso.

168

Se o personagem está à vista...

169

Ou não está, né?

170

Quando que ele vai estar à vista? Quando ele entrar dentro dessa cápsula.

171

Então eu vou selecionar a cápsula. E aí, botão direito...

172

Eu vou adicionar um Evento para a cápsula.

173

Add Event for Capsule.

174

Eu quero...

175

Colisão.

176

Component Begin Overlap.

177

Tá?

178

A gente já viu algumas coisas disso também. Overlap entre atores.

179

Então, quando um Actor passar em cima deste Actor...

180

O inimigo vai perceber.

181

Beleza?

182

A gente podia fazer aqui... Qual que é o outro Actor?

183

Quando for só o Hero, né?

184

Mas, como a gente só tem ele andando no mundo...

185

Então, a gente não vai ter...

186

O perigo de ter algum... Outro Actor entrando nessa cápsula, tá?

187

Mas a gente poderia fazer aqui, uma condição para ver se esse ator que está entrando é exatamente o herói.

188

Né?

189

Então, quando ele entrar na cápsula...

190

A gente vai dar um Set nesse...

191

IsHeroOnSight.

192

E vai dizer que é Verdadeiro, né?

193

Por padrão, este valor é...

194

Deixa eu só pegar aqui.

195

Por padrão, o valor é Falso.

196

Quando ele entrar na cápsula, o valor é Verdadeiro.

197

Tá?

198

Deixa eu só...

199

Comentar esse cara aqui.

200

Overlap.

201

Set Hero...

202

On Sight.

203

Ou seja...

204

Ele está setando o valor da variável HeroOnSight.

205

HeroOnSight, na verdade, é...

206

Se o jogador, se o herói está...

207

À vista, né? Se o inimigo está vendo o herói.

208

A gente fez isso com o Begin Overlap. Ou seja, se o herói...

209

Chegar dentro dessa cápsula aqui...

210

Então, o inimigo vai entender que ele está perto dele. Que ele está...

211

Que ele está à vista, beleza?

212

Então, agora a gente vai usar essa condição para...

213

Cuidar da nossa rotação aqui.

214

Então, essa rotação só pode acontecer...

215

Quando o HeroOnSight for Verdadeiro.

216

A gente faz isso com um Branch. Bem simples.

217

Então, se o...

218

O herói...

219

Está OnSight. Se isso for Verdadeiro.

220

Você faz um Set Actor Rotation.

221

Se for Falso, não faz nada.

222

Compilar e salvar.

223

E agora eu vou fazer o seguinte... Eu vou deixar o herói um pouquinho mais longe.

224

Ele já está, né?

225

Ele tem que estar fora dessa cápsula, né?

226

Eu vou deixar ele mais longe aqui, pra gente entender o que está acontecendo.

227

Então, eu estou aqui agora. Nenhum deles aponta para mim, né?

228

Só quando eu chegar perto da cápsula... Quando eu tiver um Overlap com ela.

229

Aí, eles agora estão olhando para mim.

230

Né?

231

Basicamente, eles perceberam que eu estou aqui.

232

Tá? E eles ficam me percebendo infinitamente.

233

Até eu cancelar isso. Isso a gente vai fazer mais para a frente.

234

Né?

235

Mas eles estão me percebendo lá.

236

Mesmo que eu vá bem longe, eles estão olhando para mim.

237

Né?

238

Então, só para entender de novo. Play...

239

Se eu ficar passando aqui do lado...

240

Ninguém me percebe.

241

Se eu entrar na cápsula...

242

Esses dois já me perceberam.

243

Mas aquele ainda não.

244

Se eu entrar na cápsula dele... Me percebeu.

245

Então, agora os três...

246

Estão olhando para mim.

247

Tá?

248

Então, essa é uma maneira de a gente fazer uma inteligência artificial.

249

Uma outra coisa que eu quero fazer é o seguinte... Você percebe que...

250

Eles não me percebem. Eu posso ficar atirando, né?

251

E matar eles de longe.

252

E eles não me percebem, eles não reagem.

253

Então, outra coisa que a gente tem que fazer é o seguinte...

254

Eles têm que...

255

Responder, né? Eles têm que perceber que eu estou aqui.

256

Quando eu atiro neles.

257

Né?

258

Se eu atirei, ele tem que me perceber.

259

Então, vamos fazer isso também.

260

Nesse caso, a gente vai fazer uma outra variável para guardar essa informação.

261

Então, um Boolean também. Que é uma informação que vai ser Verdadeira ou Falsa.

262

Eu vou chamar de IsHeroHere.

263

"O herói está aqui"?

264

Então, basicamente, o inimigo percebeu. "O herói está aqui".

265

"Ele está atirando em mim."

266

Então HeroHere, por padrão, é Falso.

267

Tá?

268

Ele vai se tornar Verdadeiro toda vez que eu atirar no inimigo.

269

Então a gente tem aqui, lembra? O nosso código para atirar. Está em Hit, aqui.

270

Deixa eu comentar esse cara aqui.

271

Então, toda vez que o inimigo for atingido, ele tem que perceber que o herói está ali.

272

Então, eu vou fazer aqui, uma condição.

273

Set. Bem simples. Set Verdadeiro.

274

Toda vez que ele for atingido...

275

A gente coloca a variável como IsHeroHere.

276

Verdadeiro.

277

Né? Então, agora...

278

A gente tem duas condições aí...

279

Quando o inimigo é atingido.

280

A gente coloca a variável IsHeroHere como Verdadeiro.

281

E quando o inimigo...

282

E quando o Player passa em cima do Componente lá, da cápsula...

283

A gente coloca a variável IsHeroOnSight Verdadeiro.

284

Então, essas duas variáveis vão cuidar pra gente...

285

As condições de quando o inimigo percebe o Player.

286

Eu só preciso implementar esse cara, agora, lá no meu Tick.

287

Então, eu venho aqui... Né?

288

A gente tem HeroOnSight.

289

A gente pode ter também...

290

IsHeroHere.

291

Então, vem para cá.

292

Então, pode ser um ou outro. Independente, né?

293

Se acontecer esse ou acontecer esse...

294

A gente vai fazer o Actor Rotation, tá?

295

Então, a gente coloca aí, uma condiçãozinha "Or".

296

Né? Um ou outro.

297

Eu puxo aqui.

298

Onde está "Or".

299

Or Boolean.

300

Então, é um ou outro.

301

Se esse acontecer ou se esse acontecer... Tanto faz.

302

Então, a condição é Verdadeira.

303

Tá?

304

Então, agora, se eu atirar...

305

Ele me percebeu. O do meio me percebeu.

306

Ele está olhando para mim.

307

E aí, depois, a gente faz, claro, as condições...

308

De... Do inimigo atirar na gente.

309

Então, ele me percebe se eu atiro.

310

Ainda não ficou muito claro. Vou deixar um pouquinho mais claro. Ninguém está olhando para mim.

311

Vou atirar no do meio.

312

Com essa luz está terrível, né?

313

Mas ele está olhando para mim.

314

E aí, quando eu entro na cápsula, os outros também olham para mim.

315

Que são essas condições que me atendem, tá?

316

Isso já é uma inteligência artificial. Eu vou só arrumar aqui e comentar.

317

Set...

318

Actor Rotation.

319

Ele olha...

320

Para o jogador.

321

Para o jogador.

322

Ok, então ele só olha para o jogador quando uma dessas duas condições for verdadeira.

323

Quando o jogador passa dentro da cápsula. Ou seja, ele está perto do inimigo.

324

Ou quando ele atira no inimigo. Então, mesmo que ele esteja de longe, se ele atirar no inimigo...

325

O inimigo vai perceber ele, né?

326

A gente tem que implementar o tiro ainda, tem que implementar a morte e tal.

327

Mas, uma coisa que eu quero fazer uma pausa agora e arrumar é a parte visual.

328

Vamos fazer uma pausa aí.

329

Vamos começar a arrumar a parte visual, porque está bem chato ver tudo assim, né?

330

Está até difícil de entender o que está acontecendo.

331

Então, eu vou começar a fazer isso agora, nas próximas aulas. A gente faz uma pausa.

332

Na parte de lógica.

333

Arruma um pouco a parte visual e depois volta para a lógica.

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.