Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:00,190 --> 00:00:04,420
15. The Grid
Player - Arma: Projétil
2
00:00:04,420 --> 00:00:07,470
Agora vamos criar o nosso projétil.
Vou vir aqui no meu Content Browser...
3
00:00:08,080 --> 00:00:09,890
E vou criar uma nova Blueprint Class.
4
00:00:10,650 --> 00:00:13,690
Do tipo Actor, né?
Porque esse projétil vai existir no mundo.
5
00:00:14,540 --> 00:00:18,310
E vou chamar de BP_Projétil...
6
00:00:18,720 --> 00:00:19,210
Tá?
7
00:00:20,190 --> 00:00:20,930
Salvar tudo.
8
00:00:21,380 --> 00:00:22,320
Salva.
9
00:00:22,320 --> 00:00:23,890
Dentro desse Actor, eu vou criar...
10
00:00:24,110 --> 00:00:25,790
Então, o meu projétil, tá?
11
00:00:26,110 --> 00:00:28,240
É uma Blueprint Class do tipo Actor.
12
00:00:28,240 --> 00:00:29,620
Não tem muito segredo.
13
00:00:29,920 --> 00:00:32,620
Vamos lá então. Nessa Blueprint
do tipo Actor, eu não tenho nada, né?
14
00:00:33,190 --> 00:00:36,040
A primeira coisa que eu vou criar
é uma Mesh, pra gente poder ver...
15
00:00:36,370 --> 00:00:38,650
Esse cara no mundo.
Então, Adicionar Componente.
16
00:00:39,330 --> 00:00:41,340
Eu vou colocar como Static Mesh.
17
00:00:42,890 --> 00:00:44,250
Static Mesh.
18
00:00:44,980 --> 00:00:46,270
E vou chamar de...
19
00:00:47,180 --> 00:00:48,610
Projétil Mesh, né?
20
00:00:48,880 --> 00:00:51,290
Então, qualquer coisa que eu colocar
aqui dentro desse Static Mesh...
21
00:00:51,920 --> 00:00:54,580
Vai ser a cara, a aparência
do meu projétil, tá?
22
00:00:54,820 --> 00:00:57,720
Então, essa Mesh aqui vai ser só a
aparência, na verdade, do meu projétil.
23
00:00:58,330 --> 00:01:00,310
Então, aqui em Static Mesh,
eu posso selecionar...
24
00:01:00,960 --> 00:01:02,890
O que eu tiver.
Na verdade, eu não tenho nada, né?
25
00:01:03,300 --> 00:01:05,190
Porque a gente não fez o Starter Content.
26
00:01:05,190 --> 00:01:08,640
Mas, como eu disponibilizei
para vocês os arquivos do jogo...
27
00:01:09,120 --> 00:01:11,520
Naquele Zip, a gente tem várias FBX.
28
00:01:11,830 --> 00:01:15,450
Você pode utilizar algum deles
para fazer a Mesh do teu projétil.
29
00:01:16,030 --> 00:01:17,540
Eu vou abrir lá, só para vocês verem.
30
00:01:18,100 --> 00:01:20,930
Na pastinha Bloco, Final,
a gente tem uns blocos bem simples.
31
00:01:20,930 --> 00:01:22,360
A gente tem um cubo de 1x1.
32
00:01:22,610 --> 00:01:23,190
Né?
33
00:01:23,190 --> 00:01:24,420
Eu vou puxar esse cara...
34
00:01:24,700 --> 00:01:25,590
Para o meu projeto.
35
00:01:26,830 --> 00:01:29,980
Para o nosso projétil ser apenas
um cubinho. Vai ser um cubinho.
36
00:01:30,260 --> 00:01:31,980
Então eu vou puxar esse
cara para cá e importar.
37
00:01:32,780 --> 00:01:35,380
Importação. Não é Skeletal Mesh.
Deixa desligado isso aí.
38
00:01:35,670 --> 00:01:38,700
Importar. Basicamente é só um cubinho
e tem um material para ele, né?
39
00:01:39,880 --> 00:01:42,860
Vou só renomear isso aqui, pra gente
não se perder. Eu vou chamar de...
40
00:01:44,230 --> 00:01:45,540
Projétil Mesh.
41
00:01:47,870 --> 00:01:52,150
Aqui eu vou chamar do
material, depois. M_projétil.
42
00:01:53,970 --> 00:01:57,660
Aqui em ProjétilMesh, então, agora eu vou
selecionar essa Mesh que eu acabei de importar.
43
00:01:58,100 --> 00:01:59,070
ProjétilMesh.
44
00:01:59,730 --> 00:02:00,960
Ficou bem grande, né?
45
00:02:01,390 --> 00:02:02,900
É um cubo gigantesco.
46
00:02:03,100 --> 00:02:04,450
Então eu vou redimensionar ele aí.
47
00:02:05,530 --> 00:02:06,890
É porque ele é 1x1, né?
48
00:02:07,230 --> 00:02:10,110
1m x 1m.
Eu vou colocar 0.1 aqui.
49
00:02:11,220 --> 00:02:13,740
Para ser um projétil bem pequenininho.
50
00:02:14,950 --> 00:02:16,760
Eu posso posicionar ele
um pouquinho melhor.
51
00:02:19,630 --> 00:02:20,710
Ligando o Grid aqui.
52
00:02:21,400 --> 00:02:22,350
Deixar ele bem no meio.
53
00:02:23,500 --> 00:02:23,840
Tá?
54
00:02:24,990 --> 00:02:26,590
E também mais para baixo.
55
00:02:27,170 --> 00:02:27,830
Beleza.
56
00:02:27,830 --> 00:02:29,830
Então, quando a gente
disparar, criar o projétil...
57
00:02:30,180 --> 00:02:30,910
A gente vai ver...
58
00:02:31,230 --> 00:02:33,160
Esse cubinho aqui, né?
59
00:02:33,650 --> 00:02:34,080
Tá?
60
00:02:34,330 --> 00:02:36,850
Então, vamos testar isso aqui já.
Para ver se está funcionando.
61
00:02:38,130 --> 00:02:40,250
Vou vir aqui na minha arma.
BP_Gun.
62
00:02:41,260 --> 00:02:43,180
E aqui, agora, a gente vai
começar a implementar...
63
00:02:43,780 --> 00:02:45,720
O projétil saindo da arma, né?
64
00:02:46,310 --> 00:02:48,740
E não só aquele Print String do Fire.
65
00:02:48,970 --> 00:02:49,420
Né?
66
00:02:49,920 --> 00:02:51,670
Então, aqui em Fire...
Eu vou abrir essa Função.
67
00:02:52,240 --> 00:02:54,300
Ela tem o Fire disparando.
68
00:02:54,300 --> 00:02:56,160
Não quer...
Eu vou deixar isso aqui, por enquanto.
69
00:02:56,160 --> 00:02:58,360
Mas não é isso que a gente quer, né?
A gente não quer ter isso disparando.
70
00:02:58,360 --> 00:02:59,340
A gente quer o projétil.
71
00:03:00,080 --> 00:03:02,430
Então, basicamente, quando
a gente disparar a Função Fire...
72
00:03:02,840 --> 00:03:06,050
A gente vai fazer um
Spawn Actor From Class...
73
00:03:07,820 --> 00:03:09,280
A gente vai criar esse Actor no mundo.
74
00:03:09,610 --> 00:03:12,870
E a Classe desse Actor, a gente
já sabe que é BP_Projétil.
75
00:03:17,200 --> 00:03:20,370
Então é isso que ele vai fazer.
Ele vai criar esse Actor no mundo.
76
00:03:20,370 --> 00:03:22,650
Vou Compilar e você vai
perceber que vai ter um erro.
77
00:03:22,650 --> 00:03:26,840
Que a gente não disse para ele onde... Para
o Transform, né? Onde criar esse projétil no mundo.
78
00:03:27,400 --> 00:03:28,980
Tá?
Eu preciso dizer para ele onde.
79
00:03:29,650 --> 00:03:30,670
Então, aqui no meu...
80
00:03:31,130 --> 00:03:32,590
Então eu venho aqui na minha Viewport...
81
00:03:32,870 --> 00:03:33,390
Tá?
82
00:03:33,390 --> 00:03:35,520
Só vou renomear esse
cara aqui. SkeletalMesh1.
83
00:03:35,520 --> 00:03:36,790
Está muito feio, esse nome.
84
00:03:37,370 --> 00:03:39,050
Eu vou renomear para...
85
00:03:40,270 --> 00:03:41,190
GunMesh.
86
00:03:41,560 --> 00:03:42,050
Tá?
87
00:03:42,620 --> 00:03:45,230
Então eu vou criar aqui
um Arrow. Arrow é um bom...
88
00:03:46,110 --> 00:03:49,460
É um bom Componente pra gente criar.
Pra gente poder pegar um Transform aí.
89
00:03:50,020 --> 00:03:52,300
Tá? A gente poder pegar uma
localização no mundo.
90
00:03:52,940 --> 00:03:54,480
E uma direção para onde aponta.
91
00:03:54,840 --> 00:03:56,520
Então, eu tenho esse Arrow aqui.
92
00:03:57,310 --> 00:03:58,920
Eu vou colocar ele exatamente na...
93
00:03:59,290 --> 00:04:00,700
Naquele lugar que a gente acha né?
94
00:04:01,180 --> 00:04:02,310
Que faz sentido...
95
00:04:03,910 --> 00:04:06,090
O projétil aparecer.
Que é bem aqui dentro, né?
96
00:04:06,570 --> 00:04:07,770
Ele vai sair daqui.
97
00:04:08,700 --> 00:04:11,490
Então, esse Arrow vai dar para mim
o quê? Vai dar uma posição no mundo...
98
00:04:11,490 --> 00:04:12,430
Uma localização.
99
00:04:12,780 --> 00:04:14,840
E vai dar uma direção
para mim também, né?
100
00:04:15,110 --> 00:04:16,290
E uma escala, tá?
101
00:04:17,400 --> 00:04:19,630
Então eu criei esse Arrow.
Eu vou só renomear ele para...
102
00:04:19,630 --> 00:04:21,880
ArrowProjétil.
103
00:04:23,600 --> 00:04:26,300
E aqui na Função Fire, eu
vou pegar esse carinha.
104
00:04:26,570 --> 00:04:27,080
Tá?
105
00:04:27,080 --> 00:04:29,670
Vou pegar o Transform dele.
Get World Transform.
106
00:04:32,040 --> 00:04:35,050
E isso aqui eu vou utilizar
como Transform do meu projétil.
107
00:04:35,050 --> 00:04:35,500
Né?
108
00:04:35,740 --> 00:04:37,240
Basicamente, o que eu estou
dizendo para a Unreal é o seguinte...
109
00:04:37,240 --> 00:04:41,010
Você vai criar uma Classe
do tipo BP_Projétil no mundo...
110
00:04:41,230 --> 00:04:42,500
Vai aparecer esse Actor...
111
00:04:42,970 --> 00:04:45,020
Ele vai aparecer aonde?
Ele vai aparecer exatamente...
112
00:04:45,420 --> 00:04:47,440
No Transform desse Arrow aqui, né?
113
00:04:47,440 --> 00:04:49,320
Vai aparecer exatamente aqui, nesse ponto.
114
00:04:49,320 --> 00:04:49,790
Tá?
115
00:04:50,230 --> 00:04:53,010
Compilar agora. Não vai mais dar o erro.
Porque já tem o Transform.
116
00:04:54,410 --> 00:04:56,900
Eu vou salvar, vou apertar Play.
Só pra gente ver o que acontece.
117
00:04:58,360 --> 00:05:00,620
Toda vez que eu clico,
então, aparece, né? Um...
118
00:05:01,720 --> 00:05:02,950
Uma caixinha no mundo, né?
119
00:05:03,760 --> 00:05:05,410
E ela cai. Porque a gente tem...
120
00:05:06,190 --> 00:05:07,790
Gravidade.
E eu tô preso.
121
00:05:08,530 --> 00:05:10,870
Porque eu tenho colisão, tá vendo?
Eu não consigo passar...
122
00:05:11,440 --> 00:05:12,540
Porque eu tenho colisão aqui.
123
00:05:12,950 --> 00:05:14,750
Então, essas coisas que a gente
tem que começar a arrumar agora.
124
00:05:15,150 --> 00:05:16,190
Mas, ele está aparecendo.
125
00:05:17,080 --> 00:05:18,180
O tiro, exatamente...
126
00:05:18,430 --> 00:05:20,360
Onde está o Arrow.
Então está funcionando.
127
00:05:21,280 --> 00:05:21,760
Tá?
128
00:05:22,190 --> 00:05:23,970
Então, a primeira coisa que
a gente tem que fazer é o seguinte...
129
00:05:24,910 --> 00:05:26,650
Aqui na minha Blueprint do projétil...
130
00:05:26,830 --> 00:05:27,310
Tá?
131
00:05:27,560 --> 00:05:30,220
Vou pegar essa Mesh aqui e
vou tirar toda a colisão dela.
132
00:05:30,640 --> 00:05:31,240
Colision.
133
00:05:31,690 --> 00:05:33,190
Eu vou colocar como...
134
00:05:33,190 --> 00:05:34,090
No Colision.
135
00:05:34,550 --> 00:05:35,490
Tá? Sem colisão.
136
00:05:36,300 --> 00:05:39,550
E vou tirar o Overlap Events.
Ou seja, isso aqui vai ser só a representação...
137
00:05:39,950 --> 00:05:42,740
Do meu projétil, tá?
Ele não vai ter interação com o mundo.
138
00:05:43,810 --> 00:05:46,530
Por que a gente faz assim?
Pra ter um pouquinho mais de controle, tá?
139
00:05:47,060 --> 00:05:48,530
Então eu vou adicionar um novo Componente.
140
00:05:48,730 --> 00:05:51,360
E vou colocar como Sphere Colision.
141
00:05:54,040 --> 00:05:57,400
Vou arrastar esse cara em cima do
DefaultSceneRoot. Ou seja, ele vai ser...
142
00:05:57,830 --> 00:06:00,040
O novo Root.
Make New Root.
143
00:06:01,190 --> 00:06:05,890
E aqui em Sphere Radios, no Detalhes, eu vou
colocar um pouquinho menos. Talvez, sei lá, 10.
144
00:06:07,050 --> 00:06:07,580
Tá?
145
00:06:07,580 --> 00:06:09,340
Então, basicamente,
o que a gente vai fazer é...
146
00:06:09,620 --> 00:06:12,080
Calcular a colisão através desse Sphere Colision.
147
00:06:12,080 --> 00:06:15,780
Ou seja, onde nosso projétil
vai bater e atingir as coisas.
148
00:06:16,030 --> 00:06:16,430
Tá?
149
00:06:16,660 --> 00:06:19,320
A gente deixa o cubo só
como uma representação visual.
150
00:06:19,630 --> 00:06:20,320
Beleza?
151
00:06:20,810 --> 00:06:23,490
E aqui em Sphere Colision, então,
a gente tem a Colisão desse cara.
152
00:06:24,070 --> 00:06:25,280
Né? As várias colisões.
153
00:06:25,570 --> 00:06:27,860
Por padrão, ele está OverlapAllDynamic.
154
00:06:28,120 --> 00:06:29,920
Tá? Eu vou colocar como Custom.
155
00:06:30,780 --> 00:06:31,620
Personalizado.
156
00:06:32,030 --> 00:06:33,910
E vou pedir para ele ignorar aqui, na...
157
00:06:33,910 --> 00:06:35,960
Ignore. Eu vou pedir
para ele ignorar o Pawn.
158
00:06:36,560 --> 00:06:38,400
Eu faço isso para que, quando a gente atirar...
159
00:06:38,660 --> 00:06:40,320
Não dê nenhum tipo de conflito de...
160
00:06:40,600 --> 00:06:43,020
De ficar disparando um aviso que
eu estou atirando em mim mesmo.
161
00:06:43,290 --> 00:06:43,820
Tá?
162
00:06:43,820 --> 00:06:48,400
Lembrando, claro, que se o teu inimigo for
do tipo Pawn, ele vai ignorar o inimigo...
163
00:06:48,400 --> 00:06:49,280
Não é a ideia.
164
00:06:49,280 --> 00:06:51,260
Então, o nosso inimigo,
quando a gente for fazer...
165
00:06:51,260 --> 00:06:52,960
Ele não pode ser uma Classe do tipo Pawn.
166
00:06:53,300 --> 00:06:55,200
A gente vai fazer uma
Classe do tipo Actor, tá?
167
00:06:55,590 --> 00:06:56,640
Só para esclarecer aí.
168
00:06:57,480 --> 00:06:58,600
Isto feito...
169
00:06:58,600 --> 00:07:01,110
Não vai mudar muita coisa ainda.
Porque a gente vai dar Play.
170
00:07:01,990 --> 00:07:03,110
E vai continuar igual.
171
00:07:03,430 --> 00:07:03,830
Né?
172
00:07:04,750 --> 00:07:06,340
Você percebe que não tem mais a colisão.
173
00:07:06,810 --> 00:07:07,980
Eu posso passar por cima.
174
00:07:08,650 --> 00:07:10,230
Porque ele esta ignorando eu mesmo, né?
175
00:07:10,700 --> 00:07:12,150
Ele não tem colisão comigo mesmo.
176
00:07:13,210 --> 00:07:13,720
Tá?
177
00:07:14,110 --> 00:07:15,400
Mas, ele tem colisão com o mundo.
178
00:07:16,260 --> 00:07:16,830
Tá bom.
179
00:07:17,190 --> 00:07:20,080
A gente vai fazer agora o seguinte...
Eu preciso dar uma velocidade para esse projétil.
180
00:07:20,080 --> 00:07:22,630
Para ele não ficar parado no chão, né?
181
00:07:22,630 --> 00:07:23,990
Ficar parado no ar, ali.
182
00:07:25,140 --> 00:07:26,100
Por nossa sorte...
183
00:07:26,810 --> 00:07:28,490
A Unreal já tem isso pronto pra gente.
184
00:07:28,840 --> 00:07:30,720
Eu vou adicionar
um Componente, chamado...
185
00:07:31,360 --> 00:07:32,530
Projectile.
186
00:07:32,880 --> 00:07:34,040
Projectile Movement.
187
00:07:34,570 --> 00:07:38,740
Já é um Componente que vai cuidar de tudo
isso pra gente. Da velocidade do projétil, tá?
188
00:07:39,360 --> 00:07:41,640
Então, quando eu clico aqui em ProjectileMovement...
189
00:07:41,640 --> 00:07:42,960
A gente tem todos os detalhes.
190
00:07:43,640 --> 00:07:46,410
E nesses detalhes, a gente
tem as questões de velocidade...
191
00:07:46,800 --> 00:07:47,260
Né?
192
00:07:47,550 --> 00:07:48,270
Speed.
193
00:07:48,750 --> 00:07:50,280
A gente tem Velocity.
194
00:07:50,640 --> 00:07:52,520
Que vai dar a direção para você.
195
00:07:53,060 --> 00:07:53,880
Para onde ele vai.
196
00:07:54,110 --> 00:07:54,600
Né?
197
00:07:55,670 --> 00:07:58,790
E vai dar as questões de
gravidade, que está aqui.
198
00:07:59,020 --> 00:08:01,650
ProjectileGratitute.
Se a gente quiser que ele caia no chão.
199
00:08:01,990 --> 00:08:03,540
Tá? Então vamos resolver isso aí.
200
00:08:03,840 --> 00:08:05,690
Cada projétil tem um jeito diferente.
201
00:08:05,690 --> 00:08:07,170
Né? Nem todos são iguais.
202
00:08:07,170 --> 00:08:09,400
Eu vou colocar os valores que
eu tinha colocado para o meu.
203
00:08:09,600 --> 00:08:10,320
Que eu achei que...
204
00:08:10,810 --> 00:08:11,740
Funcionou bem.
205
00:08:12,150 --> 00:08:14,000
Então, em velocidade, eu vou colocar 15.000.
206
00:08:15,930 --> 00:08:18,870
Escala, no meu caso, eu vou tirar.
Eu não quero que o meu projétil caia no chão.
207
00:08:18,870 --> 00:08:20,980
Eu quero que ele vá
infinitamente para a frente.
208
00:08:21,960 --> 00:08:23,960
E, basicamente, é isso.
Eu vou Compilar.
209
00:08:24,530 --> 00:08:26,380
Já vai ver uma mudança bem drástica aí.
210
00:08:28,260 --> 00:08:30,480
Você está vendo.
Está difícil de ver, né?
211
00:08:31,280 --> 00:08:32,570
Está indo o negócio para a frente.
212
00:08:36,820 --> 00:08:37,770
Está bem pequenininho.
213
00:08:38,250 --> 00:08:39,630
Eu vou aumentar ele agora, então.
214
00:08:39,890 --> 00:08:41,030
Se não, a gente não vai conseguir ver.
215
00:08:41,560 --> 00:08:43,140
Isso é a escala que está vindo daqui.
216
00:08:43,520 --> 00:08:44,930
O Scale que está vindo daqui, né?
217
00:08:45,260 --> 00:08:46,440
Se a gente fizer um...
218
00:08:47,460 --> 00:08:48,320
Deixa eu só desconectar.
219
00:08:48,740 --> 00:08:50,490
Fizer um Split Structure Pin.
220
00:08:51,140 --> 00:08:53,090
Clicar em Split Structure Pin.
221
00:08:53,420 --> 00:08:55,240
A gente coloca... Pega só a posição.
222
00:08:55,880 --> 00:08:56,850
E só a rotação.
223
00:08:57,640 --> 00:08:58,960
E aí, a gente digita... Opa!
224
00:08:59,860 --> 00:09:00,700
Só a rotação.
225
00:09:01,030 --> 00:09:04,100
E a gente digita aqui, o valor que a gente
quiser para esse cara. Eu vou deixar em 1.
226
00:09:04,540 --> 00:09:04,980
Tá?
227
00:09:06,110 --> 00:09:08,280
E vou dar Play. Então, agora,
o meu cubinho está maior.
228
00:09:08,280 --> 00:09:09,520
E está aparecendo no mundo.
229
00:09:10,740 --> 00:09:13,430
Tudo fica bem difícil de ver, porque
a gente não tem ainda a cor de nada, né?
230
00:09:14,550 --> 00:09:16,070
Mas, se eu segurar, ele está dando tiro...
231
00:09:16,540 --> 00:09:19,300
E aí, quantos tiros eu vou dar
por segundo? Isso é muito fácil.
232
00:09:19,660 --> 00:09:20,790
É só a gente mudar.
233
00:09:21,140 --> 00:09:23,350
Lá na nossa arma. Aqui...
Shoot per Second.
234
00:09:23,530 --> 00:09:24,450
Shoot per Second.
235
00:09:24,630 --> 00:09:27,940
Então agora eu posso mudar aqui,
por exemplo, para 2 tiros por segundo.
236
00:09:28,220 --> 00:09:29,050
Então, agora é o dobro.
237
00:09:33,670 --> 00:09:35,850
Vou colocar 5 tiros por segundo.
238
00:09:36,400 --> 00:09:38,080
Tá? A gente coloca o valor
que a gente quiser ali.
239
00:09:40,380 --> 00:09:41,150
E, maravilha.
240
00:09:41,650 --> 00:09:42,080
Tá?
241
00:09:44,420 --> 00:09:47,410
Uma coisa que a gente pode fazer aqui.
Só um detalhezinho a mais...
242
00:09:47,830 --> 00:09:48,950
Aqui em projétil...
243
00:09:48,950 --> 00:09:50,510
A gente vai em ProjectileMovement.
244
00:09:50,840 --> 00:09:53,410
E liga Rotation Follows Velocity.
245
00:09:54,330 --> 00:09:57,420
Isso aqui vai dar um resultado melhor
pra gente, quando estiver rotacionando...
246
00:09:57,420 --> 00:09:59,610
Para que o projétil siga essa velocidade aí.
247
00:09:59,610 --> 00:10:00,790
Tá? Te dá um resultado melhor.
248
00:10:01,120 --> 00:10:04,080
Você pode testar sem e com, depois.
Para você ver a diferença.
249
00:10:04,330 --> 00:10:04,900
Tá bom?
250
00:10:05,440 --> 00:10:07,520
O último ajuste que a gente precisa fazer...
251
00:10:08,000 --> 00:10:09,470
Que você talvez já tenha percebido.
252
00:10:09,840 --> 00:10:10,460
Se eu deixar...
253
00:10:10,910 --> 00:10:12,220
O Player atirando, né?
254
00:10:12,460 --> 00:10:14,220
Você percebe que o meu projétil...
255
00:10:14,780 --> 00:10:17,770
Ele está andando. Ele vai para
um lado e para o outro.
256
00:10:18,700 --> 00:10:20,810
E isso é péssimo para um jogo de Shooter, né?
257
00:10:20,810 --> 00:10:22,540
Porque eu estou mirando em um personagem.
258
00:10:23,230 --> 00:10:24,690
E o meu projétil está balançando.
259
00:10:24,980 --> 00:10:27,300
Isso está acontecendo porque
a gente fez o seguinte...
260
00:10:27,600 --> 00:10:29,300
A gente colocou o nosso Arrow...
261
00:10:29,800 --> 00:10:31,320
Linkado na nossa arma, né?
262
00:10:31,320 --> 00:10:34,380
Como a arma tem uma animação,
ela fica balançando de um lado para o outro.
263
00:10:34,890 --> 00:10:36,450
E o nosso tiro vai junto.
264
00:10:36,450 --> 00:10:38,720
A gente quer que o nosso
tiro sempre fique apontando...
265
00:10:39,040 --> 00:10:40,070
Para o mesmo lugar...
266
00:10:40,300 --> 00:10:41,230
Que a gente está mirando.
267
00:10:41,630 --> 00:10:44,350
Então, uma solução que a gente vai fazer
é o seguinte... A gente não vai usar o Arrow.
268
00:10:44,650 --> 00:10:47,680
Conectado na arma. A gente vai
pegar um Arrow conectado no Hero.
269
00:10:48,240 --> 00:10:48,670
Tá?
270
00:10:49,280 --> 00:10:51,330
Então eu vou criar um Arrow aqui.
A gente não tem ainda.
271
00:10:51,550 --> 00:10:53,120
Então, Novo Componente.
272
00:10:53,660 --> 00:10:54,310
Arrow.
273
00:10:54,880 --> 00:10:55,610
Arrow.
274
00:10:55,850 --> 00:10:57,610
Tá. Aí, eu vou conectar ele na câmera.
275
00:10:57,840 --> 00:10:58,990
Deixar ele dentro da câmera.
276
00:10:59,330 --> 00:11:01,630
Para ele seguir a mira, né?
Do personagem.
277
00:11:02,280 --> 00:11:03,150
E vou chamar de...
278
00:11:03,410 --> 00:11:04,690
ArrowProjétil.
279
00:11:05,450 --> 00:11:07,390
Então, esse cara, agora, vai
ser a minha referência, tá?
280
00:11:07,780 --> 00:11:10,040
Por enquanto ele está lá
no pé do personagem, basicamente.
281
00:11:10,410 --> 00:11:11,210
Eu vou colocar aqui...
282
00:11:11,560 --> 00:11:12,900
Depois a gente ajusta a posição.
283
00:11:13,330 --> 00:11:14,410
Tá?
Mais para a frente.
284
00:11:15,940 --> 00:11:16,970
Compilar e Salvar.
285
00:11:17,890 --> 00:11:20,360
Então, aqui na minha arma, agora,
eu não vou utilizar mais esse cara.
286
00:11:20,590 --> 00:11:22,360
Eu vou até jogar esse cara fora.
287
00:11:23,610 --> 00:11:27,640
Aqui vai dar erro, né? Porque esse
GetWorldTransform estava utilizando esse Arrow.
288
00:11:28,790 --> 00:11:30,340
Então, agora não está utilizando mais nada.
289
00:11:31,830 --> 00:11:32,670
Então, eu vou fazer o seguinte.
290
00:11:33,090 --> 00:11:34,140
Aqui no BeginPlay...
291
00:11:34,390 --> 00:11:37,650
Na arma. Eu estou dentro da arma.
Eu vou pegar o meu personagem, em primeiro lugar.
292
00:11:38,180 --> 00:11:39,560
GetPlayerCharacter.
293
00:11:39,850 --> 00:11:41,870
Isso aqui é das nossas aulinhas lá, de...
294
00:11:42,940 --> 00:11:44,340
Comunicação entre Blueprints.
295
00:11:44,880 --> 00:11:47,340
Cast to BP_HeroChar.
296
00:11:48,090 --> 00:11:49,830
E esse cara vai virar uma variável.
297
00:11:50,550 --> 00:11:51,740
Que eu vou chamar de...
298
00:11:53,120 --> 00:11:56,310
HeroRefer. Referência
do Herói, né? HeroRefer.
299
00:11:57,960 --> 00:11:59,840
E isso acontece logo que o jogo começar.
300
00:12:00,130 --> 00:12:01,150
Então, eu tenho esse cara aqui...
301
00:12:01,590 --> 00:12:03,770
Eu vou comentar, né?
É sempre bom comentar o código.
302
00:12:05,250 --> 00:12:06,470
Get Hero...
303
00:12:07,060 --> 00:12:08,470
Char Referência.
304
00:12:09,000 --> 00:12:11,080
Então, agora que eu tenho
a referência dele, eu posso acessar...
305
00:12:12,560 --> 00:12:14,900
O Arrow que está dentro dele, lá.
Então, Get...
306
00:12:16,200 --> 00:12:19,060
E aí, eu pego o Arrow.
GetArrow...
307
00:12:19,620 --> 00:12:22,330
É a última opçãozinha aqui, né?
Get Arrow Projétil.
308
00:12:22,330 --> 00:12:25,830
Então, agora a gente vai utilizar esse
cara como referência de WorldTransform.
309
00:12:26,310 --> 00:12:26,760
Tá?
310
00:12:27,050 --> 00:12:29,090
Eu vou deixar o Scale conectado também.
311
00:12:30,560 --> 00:12:31,710
Beleza.
Vamos só testar.
312
00:12:32,950 --> 00:12:34,270
Compilar e dar Play.
313
00:12:34,270 --> 00:12:37,320
Agora, mesmo que a minha
animação da arma esteja movendo, né?
314
00:12:38,070 --> 00:12:39,920
O meu tiro sempre aponta
para o mesmo lugar.
315
00:12:40,170 --> 00:12:40,530
Tá?
316
00:12:40,780 --> 00:12:42,880
Agora é questão de a gente
fazer os ajustes finos, né?
317
00:12:43,560 --> 00:12:46,900
Eu vou colocar aqui, já, os valores
que eu tinha utilizado no meu jogo, né?
318
00:12:46,900 --> 00:12:49,210
Pra gente não precisar
ficar testando valores.
319
00:12:49,570 --> 00:12:53,100
Então, esse Arrow aqui, no meu
jogo, está posicionado em 70...
320
00:12:53,770 --> 00:12:55,370
16 e -10.
321
00:12:57,100 --> 00:12:58,520
E a escala 2.5.
322
00:12:59,040 --> 00:12:59,440
Tá?
323
00:12:59,800 --> 00:13:02,000
A gente não vai conseguir ver exatamente...
324
00:13:03,730 --> 00:13:06,050
Perfeito, por causa que a gente
não tem os materiais ainda.
325
00:13:06,340 --> 00:13:06,740
Né?
326
00:13:07,060 --> 00:13:08,430
Nosso visual ainda está bem...
327
00:13:08,950 --> 00:13:10,020
Está bem tosquinho.
328
00:13:10,970 --> 00:13:12,610
Tá?
Mas isso aqui já está funcionando.
329
00:13:13,030 --> 00:13:15,440
São exatamente os mesmos valores
que eu utilizei no meu projeto.
330
00:13:15,440 --> 00:13:16,730
Tá? Só pra gente
não precisar ficar...
331
00:13:17,100 --> 00:13:17,730
Descobrindo.
332
00:13:18,240 --> 00:13:21,520
Então, agora, a grande questão é
que, mesmo com a animação da arma...
333
00:13:22,460 --> 00:13:23,260
Se movendo.
334
00:13:23,260 --> 00:13:25,790
A gente está sempre apontando
a mira para o mesmo lugar.
335
00:13:26,040 --> 00:13:26,440
Tá?
336
00:13:27,360 --> 00:13:29,710
E agora está na hora de a gente começar
a implementar os inimigos, né?
337
00:13:29,710 --> 00:13:31,850
Então, vamos começar a fazer
isso nas próximas aulas.
27862
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.