All language subtitles for 24. Player - Gun Projectile (Arma Projétil)

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 Player - Arma: Projétil

2

Agora vamos criar o nosso projétil. Vou vir aqui no meu Content Browser...

3

E vou criar uma nova Blueprint Class.

4

Do tipo Actor, né? Porque esse projétil vai existir no mundo.

5

E vou chamar de BP_Projétil...

6

Tá?

7

Salvar tudo.

8

Salva.

9

Dentro desse Actor, eu vou criar...

10

Então, o meu projétil, tá?

11

É uma Blueprint Class do tipo Actor.

12

Não tem muito segredo.

13

Vamos lá então. Nessa Blueprint do tipo Actor, eu não tenho nada, né?

14

A primeira coisa que eu vou criar é uma Mesh, pra gente poder ver...

15

Esse cara no mundo. Então, Adicionar Componente.

16

Eu vou colocar como Static Mesh.

17

Static Mesh.

18

E vou chamar de...

19

Projétil Mesh, né?

20

Então, qualquer coisa que eu colocar aqui dentro desse Static Mesh...

21

Vai ser a cara, a aparência do meu projétil, tá?

22

Então, essa Mesh aqui vai ser só a aparência, na verdade, do meu projétil.

23

Então, aqui em Static Mesh, eu posso selecionar...

24

O que eu tiver. Na verdade, eu não tenho nada, né?

25

Porque a gente não fez o Starter Content.

26

Mas, como eu disponibilizei para vocês os arquivos do jogo...

27

Naquele Zip, a gente tem várias FBX.

28

Você pode utilizar algum deles para fazer a Mesh do teu projétil.

29

Eu vou abrir lá, só para vocês verem.

30

Na pastinha Bloco, Final, a gente tem uns blocos bem simples.

31

A gente tem um cubo de 1x1.

32

Né?

33

Eu vou puxar esse cara...

34

Para o meu projeto.

35

Para o nosso projétil ser apenas um cubinho. Vai ser um cubinho.

36

Então eu vou puxar esse cara para cá e importar.

37

Importação. Não é Skeletal Mesh. Deixa desligado isso aí.

38

Importar. Basicamente é só um cubinho e tem um material para ele, né?

39

Vou só renomear isso aqui, pra gente não se perder. Eu vou chamar de...

40

Projétil Mesh.

41

Aqui eu vou chamar do material, depois. M_projétil.

42

Aqui em ProjétilMesh, então, agora eu vou selecionar essa Mesh que eu acabei de importar.

43

ProjétilMesh.

44

Ficou bem grande, né?

45

É um cubo gigantesco.

46

Então eu vou redimensionar ele aí.

47

É porque ele é 1x1, né?

48

1m x 1m. Eu vou colocar 0.1 aqui.

49

Para ser um projétil bem pequenininho.

50

Eu posso posicionar ele um pouquinho melhor.

51

Ligando o Grid aqui.

52

Deixar ele bem no meio.

53

Tá?

54

E também mais para baixo.

55

Beleza.

56

Então, quando a gente disparar, criar o projétil...

57

A gente vai ver...

58

Esse cubinho aqui, né?

59

Tá?

60

Então, vamos testar isso aqui já. Para ver se está funcionando.

61

Vou vir aqui na minha arma. BP_Gun.

62

E aqui, agora, a gente vai começar a implementar...

63

O projétil saindo da arma, né?

64

E não só aquele Print String do Fire.

65

Né?

66

Então, aqui em Fire... Eu vou abrir essa Função.

67

Ela tem o Fire disparando.

68

Não quer... Eu vou deixar isso aqui, por enquanto.

69

Mas não é isso que a gente quer, né? A gente não quer ter isso disparando.

70

A gente quer o projétil.

71

Então, basicamente, quando a gente disparar a Função Fire...

72

A gente vai fazer um Spawn Actor From Class...

73

A gente vai criar esse Actor no mundo.

74

E a Classe desse Actor, a gente já sabe que é BP_Projétil.

75

Então é isso que ele vai fazer. Ele vai criar esse Actor no mundo.

76

Vou Compilar e você vai perceber que vai ter um erro.

77

Que a gente não disse para ele onde... Para o Transform, né? Onde criar esse projétil no mundo.

78

Tá? Eu preciso dizer para ele onde.

79

Então, aqui no meu...

80

Então eu venho aqui na minha Viewport...

81

Tá?

82

Só vou renomear esse cara aqui. SkeletalMesh1.

83

Está muito feio, esse nome.

84

Eu vou renomear para...

85

GunMesh.

86

Tá?

87

Então eu vou criar aqui um Arrow. Arrow é um bom...

88

É um bom Componente pra gente criar. Pra gente poder pegar um Transform aí.

89

Tá? A gente poder pegar uma localização no mundo.

90

E uma direção para onde aponta.

91

Então, eu tenho esse Arrow aqui.

92

Eu vou colocar ele exatamente na...

93

Naquele lugar que a gente acha né?

94

Que faz sentido...

95

O projétil aparecer. Que é bem aqui dentro, né?

96

Ele vai sair daqui.

97

Então, esse Arrow vai dar para mim o quê? Vai dar uma posição no mundo...

98

Uma localização.

99

E vai dar uma direção para mim também, né?

100

E uma escala, tá?

101

Então eu criei esse Arrow. Eu vou só renomear ele para...

102

ArrowProjétil.

103

E aqui na Função Fire, eu vou pegar esse carinha.

104

Tá?

105

Vou pegar o Transform dele. Get World Transform.

106

E isso aqui eu vou utilizar como Transform do meu projétil.

107

Né?

108

Basicamente, o que eu estou dizendo para a Unreal é o seguinte...

109

Você vai criar uma Classe do tipo BP_Projétil no mundo...

110

Vai aparecer esse Actor...

111

Ele vai aparecer aonde? Ele vai aparecer exatamente...

112

No Transform desse Arrow aqui, né?

113

Vai aparecer exatamente aqui, nesse ponto.

114

Tá?

115

Compilar agora. Não vai mais dar o erro. Porque já tem o Transform.

116

Eu vou salvar, vou apertar Play. Só pra gente ver o que acontece.

117

Toda vez que eu clico, então, aparece, né? Um...

118

Uma caixinha no mundo, né?

119

E ela cai. Porque a gente tem...

120

Gravidade. E eu tô preso.

121

Porque eu tenho colisão, tá vendo? Eu não consigo passar...

122

Porque eu tenho colisão aqui.

123

Então, essas coisas que a gente tem que começar a arrumar agora.

124

Mas, ele está aparecendo.

125

O tiro, exatamente...

126

Onde está o Arrow. Então está funcionando.

127

Tá?

128

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

129

Aqui na minha Blueprint do projétil...

130

Tá?

131

Vou pegar essa Mesh aqui e vou tirar toda a colisão dela.

132

Colision.

133

Eu vou colocar como...

134

No Colision.

135

Tá? Sem colisão.

136

E vou tirar o Overlap Events. Ou seja, isso aqui vai ser só a representação...

137

Do meu projétil, tá? Ele não vai ter interação com o mundo.

138

Por que a gente faz assim? Pra ter um pouquinho mais de controle, tá?

139

Então eu vou adicionar um novo Componente.

140

E vou colocar como Sphere Colision.

141

Vou arrastar esse cara em cima do DefaultSceneRoot. Ou seja, ele vai ser...

142

O novo Root. Make New Root.

143

E aqui em Sphere Radios, no Detalhes, eu vou colocar um pouquinho menos. Talvez, sei lá, 10.

144

Tá?

145

Então, basicamente, o que a gente vai fazer é...

146

Calcular a colisão através desse Sphere Colision.

147

Ou seja, onde nosso projétil vai bater e atingir as coisas.

148

Tá?

149

A gente deixa o cubo só como uma representação visual.

150

Beleza?

151

E aqui em Sphere Colision, então, a gente tem a Colisão desse cara.

152

Né? As várias colisões.

153

Por padrão, ele está OverlapAllDynamic.

154

Tá? Eu vou colocar como Custom.

155

Personalizado.

156

E vou pedir para ele ignorar aqui, na...

157

Ignore. Eu vou pedir para ele ignorar o Pawn.

158

Eu faço isso para que, quando a gente atirar...

159

Não dê nenhum tipo de conflito de...

160

De ficar disparando um aviso que eu estou atirando em mim mesmo.

161

Tá?

162

Lembrando, claro, que se o teu inimigo for do tipo Pawn, ele vai ignorar o inimigo...

163

Não é a ideia.

164

Então, o nosso inimigo, quando a gente for fazer...

165

Ele não pode ser uma Classe do tipo Pawn.

166

A gente vai fazer uma Classe do tipo Actor, tá?

167

Só para esclarecer aí.

168

Isto feito...

169

Não vai mudar muita coisa ainda. Porque a gente vai dar Play.

170

E vai continuar igual.

171

Né?

172

Você percebe que não tem mais a colisão.

173

Eu posso passar por cima.

174

Porque ele esta ignorando eu mesmo, né?

175

Ele não tem colisão comigo mesmo.

176

Tá?

177

Mas, ele tem colisão com o mundo.

178

Tá bom.

179

A gente vai fazer agora o seguinte... Eu preciso dar uma velocidade para esse projétil.

180

Para ele não ficar parado no chão, né?

181

Ficar parado no ar, ali.

182

Por nossa sorte...

183

A Unreal já tem isso pronto pra gente.

184

Eu vou adicionar um Componente, chamado...

185

Projectile.

186

Projectile Movement.

187

Já é um Componente que vai cuidar de tudo isso pra gente. Da velocidade do projétil, tá?

188

Então, quando eu clico aqui em ProjectileMovement...

189

A gente tem todos os detalhes.

190

E nesses detalhes, a gente tem as questões de velocidade...

191

Né?

192

Speed.

193

A gente tem Velocity.

194

Que vai dar a direção para você.

195

Para onde ele vai.

196

Né?

197

E vai dar as questões de gravidade, que está aqui.

198

ProjectileGratitute. Se a gente quiser que ele caia no chão.

199

Tá? Então vamos resolver isso aí.

200

Cada projétil tem um jeito diferente.

201

Né? Nem todos são iguais.

202

Eu vou colocar os valores que eu tinha colocado para o meu.

203

Que eu achei que...

204

Funcionou bem.

205

Então, em velocidade, eu vou colocar 15.000.

206

Escala, no meu caso, eu vou tirar. Eu não quero que o meu projétil caia no chão.

207

Eu quero que ele vá infinitamente para a frente.

208

E, basicamente, é isso. Eu vou Compilar.

209

Já vai ver uma mudança bem drástica aí.

210

Você está vendo. Está difícil de ver, né?

211

Está indo o negócio para a frente.

212

Está bem pequenininho.

213

Eu vou aumentar ele agora, então.

214

Se não, a gente não vai conseguir ver.

215

Isso é a escala que está vindo daqui.

216

O Scale que está vindo daqui, né?

217

Se a gente fizer um...

218

Deixa eu só desconectar.

219

Fizer um Split Structure Pin.

220

Clicar em Split Structure Pin.

221

A gente coloca... Pega só a posição.

222

E só a rotação.

223

E aí, a gente digita... Opa!

224

Só a rotação.

225

E a gente digita aqui, o valor que a gente quiser para esse cara. Eu vou deixar em 1.

226

Tá?

227

E vou dar Play. Então, agora, o meu cubinho está maior.

228

E está aparecendo no mundo.

229

Tudo fica bem difícil de ver, porque a gente não tem ainda a cor de nada, né?

230

Mas, se eu segurar, ele está dando tiro...

231

E aí, quantos tiros eu vou dar por segundo? Isso é muito fácil.

232

É só a gente mudar.

233

Lá na nossa arma. Aqui... Shoot per Second.

234

Shoot per Second.

235

Então agora eu posso mudar aqui, por exemplo, para 2 tiros por segundo.

236

Então, agora é o dobro.

237

Vou colocar 5 tiros por segundo.

238

Tá? A gente coloca o valor que a gente quiser ali.

239

E, maravilha.

240

Tá?

241

Uma coisa que a gente pode fazer aqui. Só um detalhezinho a mais...

242

Aqui em projétil...

243

A gente vai em ProjectileMovement.

244

E liga Rotation Follows Velocity.

245

Isso aqui vai dar um resultado melhor pra gente, quando estiver rotacionando...

246

Para que o projétil siga essa velocidade aí.

247

Tá? Te dá um resultado melhor.

248

Você pode testar sem e com, depois. Para você ver a diferença.

249

Tá bom?

250

O último ajuste que a gente precisa fazer...

251

Que você talvez já tenha percebido.

252

Se eu deixar...

253

O Player atirando, né?

254

Você percebe que o meu projétil...

255

Ele está andando. Ele vai para um lado e para o outro.

256

E isso é péssimo para um jogo de Shooter, né?

257

Porque eu estou mirando em um personagem.

258

E o meu projétil está balançando.

259

Isso está acontecendo porque a gente fez o seguinte...

260

A gente colocou o nosso Arrow...

261

Linkado na nossa arma, né?

262

Como a arma tem uma animação, ela fica balançando de um lado para o outro.

263

E o nosso tiro vai junto.

264

A gente quer que o nosso tiro sempre fique apontando...

265

Para o mesmo lugar...

266

Que a gente está mirando.

267

Então, uma solução que a gente vai fazer é o seguinte... A gente não vai usar o Arrow.

268

Conectado na arma. A gente vai pegar um Arrow conectado no Hero.

269

Tá?

270

Então eu vou criar um Arrow aqui. A gente não tem ainda.

271

Então, Novo Componente.

272

Arrow.

273

Arrow.

274

Tá. Aí, eu vou conectar ele na câmera.

275

Deixar ele dentro da câmera.

276

Para ele seguir a mira, né? Do personagem.

277

E vou chamar de...

278

ArrowProjétil.

279

Então, esse cara, agora, vai ser a minha referência, tá?

280

Por enquanto ele está lá no pé do personagem, basicamente.

281

Eu vou colocar aqui...

282

Depois a gente ajusta a posição.

283

Tá? Mais para a frente.

284

Compilar e Salvar.

285

Então, aqui na minha arma, agora, eu não vou utilizar mais esse cara.

286

Eu vou até jogar esse cara fora.

287

Aqui vai dar erro, né? Porque esse GetWorldTransform estava utilizando esse Arrow.

288

Então, agora não está utilizando mais nada.

289

Então, eu vou fazer o seguinte.

290

Aqui no BeginPlay...

291

Na arma. Eu estou dentro da arma. Eu vou pegar o meu personagem, em primeiro lugar.

292

GetPlayerCharacter.

293

Isso aqui é das nossas aulinhas lá, de...

294

Comunicação entre Blueprints.

295

Cast to BP_HeroChar.

296

E esse cara vai virar uma variável.

297

Que eu vou chamar de...

298

HeroRefer. Referência do Herói, né? HeroRefer.

299

E isso acontece logo que o jogo começar.

300

Então, eu tenho esse cara aqui...

301

Eu vou comentar, né? É sempre bom comentar o código.

302

Get Hero...

303

Char Referência.

304

Então, agora que eu tenho a referência dele, eu posso acessar...

305

O Arrow que está dentro dele, lá. Então, Get...

306

E aí, eu pego o Arrow. GetArrow...

307

É a última opçãozinha aqui, né? Get Arrow Projétil.

308

Então, agora a gente vai utilizar esse cara como referência de WorldTransform.

309

Tá?

310

Eu vou deixar o Scale conectado também.

311

Beleza. Vamos só testar.

312

Compilar e dar Play.

313

Agora, mesmo que a minha animação da arma esteja movendo, né?

314

O meu tiro sempre aponta para o mesmo lugar.

315

Tá?

316

Agora é questão de a gente fazer os ajustes finos, né?

317

Eu vou colocar aqui, já, os valores que eu tinha utilizado no meu jogo, né?

318

Pra gente não precisar ficar testando valores.

319

Então, esse Arrow aqui, no meu jogo, está posicionado em 70...

320

16 e -10.

321

E a escala 2.5.

322

Tá?

323

A gente não vai conseguir ver exatamente...

324

Perfeito, por causa que a gente não tem os materiais ainda.

325

Né?

326

Nosso visual ainda está bem...

327

Está bem tosquinho.

328

Tá? Mas isso aqui já está funcionando.

329

São exatamente os mesmos valores que eu utilizei no meu projeto.

330

Tá? Só pra gente não precisar ficar...

331

Descobrindo.

332

Então, agora, a grande questão é que, mesmo com a animação da arma...

333

Se movendo.

334

A gente está sempre apontando a mira para o mesmo lugar.

335

Tá?

336

E agora está na hora de a gente começar a implementar os inimigos, né?

337

Então, vamos começar a fazer isso nas próximas aulas.

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