Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:00,220 --> 00:00:04,360
15. The Grid
Player - Animação: Pulo
2
00:00:04,360 --> 00:00:07,120
Agora é a hora de a gente fazer
o pulo, né? A gente sabe que...
3
00:00:07,120 --> 00:00:09,370
Para o pulo, a gente tem três States.
Start...
4
00:00:09,980 --> 00:00:10,600
O Loop.
5
00:00:10,980 --> 00:00:11,620
E o End.
6
00:00:12,140 --> 00:00:14,990
Beleza? Então, a gente tem que
fazer isso também, no State Machine.
7
00:00:15,520 --> 00:00:17,940
E, basicamente, a gente tem três
States, para que a gente...
8
00:00:18,370 --> 00:00:19,940
Consiga pular de qualquer altura, né?
9
00:00:19,940 --> 00:00:21,830
Mais informações sobre isso, eu vou...
10
00:00:21,830 --> 00:00:25,070
A explicação é mais calma no próximo
capítulo, de Animação. Não se preocupe.
11
00:00:25,530 --> 00:00:26,860
Agora a gente vai só implementar.
12
00:00:27,220 --> 00:00:28,910
Então, eu vou vir aqui no meu Idle/Run.
13
00:00:30,410 --> 00:00:32,360
Vou fazer um estado de Jump.
14
00:00:32,360 --> 00:00:34,230
Né? Então, eu vou trazer
do Idle para cá.
15
00:00:34,610 --> 00:00:36,310
E vou colocar Add State.
16
00:00:36,620 --> 00:00:38,040
E eu vou colocar como Jump.
17
00:00:38,790 --> 00:00:39,690
Start.
18
00:00:41,730 --> 00:00:44,290
Vou escrever assim, para ficar bem claro.
JumpSTART.
19
00:00:44,560 --> 00:00:45,050
Tá?
20
00:00:46,310 --> 00:00:48,960
Depois do JumpSTART, a gente tem o Jump...
21
00:00:49,470 --> 00:00:50,270
Add State.
22
00:00:51,070 --> 00:00:52,750
A gente tem o JumpLOOP.
23
00:00:56,230 --> 00:00:58,300
Depois desse, a gente vai ter o JumpEND.
24
00:00:59,350 --> 00:01:00,300
Add State.
25
00:01:00,990 --> 00:01:01,950
Jump...
26
00:01:02,460 --> 00:01:03,130
END.
27
00:01:03,470 --> 00:01:04,020
Né?
28
00:01:04,020 --> 00:01:05,820
Então, basicamente, o que ele
está dizendo para mim é o seguinte...
29
00:01:06,120 --> 00:01:08,490
"Eu estou aqui, numa boa, em Idle, esperando."
30
00:01:08,970 --> 00:01:11,580
Quando o jogador
apertar o Espaço para pular...
31
00:01:11,580 --> 00:01:13,140
Então, ele pula para o JumpSTART.
32
00:01:14,080 --> 00:01:16,960
Está tocando o JumpSTART.
Daí, ele já toca para o JumpLOOP.
33
00:01:16,960 --> 00:01:19,390
Assim que acabar...
Que estiver acabando essa animaçãozinha.
34
00:01:19,740 --> 00:01:20,880
Ele toca o JumpLOOP.
35
00:01:21,200 --> 00:01:22,880
Então, ele fica no JumpLOOP, JumpLOOP.
36
00:01:23,240 --> 00:01:26,860
E aí, ele fica mais ou menos como se
fosse caindo, né? O personagem está caindo.
37
00:01:26,860 --> 00:01:28,300
Está no...
Está no ar, caindo.
38
00:01:28,820 --> 00:01:31,720
A gente não sabe quando ele vai cair,
porque depende da altura que ele vai pular.
39
00:01:32,030 --> 00:01:32,490
Né?
40
00:01:32,490 --> 00:01:34,180
Mas, assim que ele cair no chão...
41
00:01:34,180 --> 00:01:35,950
A gente dispara o JumpEND.
42
00:01:36,380 --> 00:01:37,740
E toca o JumpEND.
43
00:01:37,740 --> 00:01:39,780
E, quando essa animação estiver acabando...
44
00:01:39,780 --> 00:01:41,440
A gente vai disparar novamente.
45
00:01:41,440 --> 00:01:43,320
O Idle.
Ele vai voltar para o Idle, né?
46
00:01:43,730 --> 00:01:45,660
Então, esse é o ciclo do Jump, né?
47
00:01:45,660 --> 00:01:47,370
Start, Loop e End.
48
00:01:48,510 --> 00:01:52,070
Uma coisa que é importante é que, ele
tem que sair do Idle, para o JumpSTART.
49
00:01:52,570 --> 00:01:54,930
Mas, ele também tem que sair
do Run, para o JumpSTART, né?
50
00:01:55,210 --> 00:01:56,290
Independente se eu estiver...
51
00:01:56,620 --> 00:02:00,070
Parado ou andando, eu tenho que ser
capaz de tocar a animação de Jump, né?
52
00:02:00,730 --> 00:02:03,920
Beleza, então essa aqui é a estrutura
básica aí, do Jump, né?
53
00:02:03,920 --> 00:02:07,270
Eu vou já colocar as animações aqui dentro.
Então, JumpSTART, eu tenho...
54
00:02:07,790 --> 00:02:09,060
Jump...
Opa!
55
00:02:09,060 --> 00:02:10,240
Eu tenho JumpSTART.
56
00:02:12,230 --> 00:02:13,780
Dentro do JumpLOOP...
57
00:02:13,780 --> 00:02:15,270
Eu tenho o JumpLOOP.
58
00:02:17,310 --> 00:02:20,800
E dentro do JumpEND,
eu tenho o JumpEND.
59
00:02:23,380 --> 00:02:25,220
Então, eu tenho todo mundo aí.
Vou Compilar.
60
00:02:26,220 --> 00:02:28,150
Ele está falando para mim,
das transições, né?
61
00:02:28,150 --> 00:02:30,040
Não está funcionando nenhuma das transições.
62
00:02:30,040 --> 00:02:31,690
Exatamente porque a gente não fez ainda, tá?
63
00:02:32,210 --> 00:02:34,420
Então, essas transições vão
depender de uma coisa.
64
00:02:35,220 --> 00:02:38,550
Vão depender se o personagem está
no ar ou não está, né? Quando ele pula...
65
00:02:39,110 --> 00:02:39,970
Ele está no ar.
66
00:02:40,360 --> 00:02:42,660
E eu não sei quanto tempo
ele vai ficar no ar.
67
00:02:43,310 --> 00:02:45,460
E, depois que ele cai no chão...
68
00:02:45,460 --> 00:02:46,120
Ele...
69
00:02:46,440 --> 00:02:47,580
Termina a animação, né?
70
00:02:48,150 --> 00:02:50,040
Existe uma Função pronta, na Unreal.
71
00:02:50,640 --> 00:02:53,970
Que já me dá se o personagem está
no ar ou não está. Não preciso fazer...
72
00:02:54,920 --> 00:02:56,790
Um monte de cálculos mirabolantes.
73
00:02:57,320 --> 00:03:00,470
Para saber se ele está flutuando.
Se ele pulou e está no ar.
74
00:03:00,800 --> 00:03:02,220
E, depois, que ele caiu.
75
00:03:02,220 --> 00:03:04,950
A Unreal já tem isso para mim.
Então, vamos utilizar o que a Unreal já tem.
76
00:03:05,490 --> 00:03:07,460
Vou pegar esse cara lá do HeroChar.
77
00:03:07,460 --> 00:03:09,440
Né? É de lá que vai vir essa informação.
78
00:03:10,230 --> 00:03:11,780
Então, eu vou pegar aqui, um Add Pin.
79
00:03:13,010 --> 00:03:16,860
E nesse Add Pin, eu vou fazer uma
nova lógica. Parecida com essa aqui, tá?
80
00:03:16,860 --> 00:03:18,220
Aqui a gente está pegando a velocidade.
81
00:03:18,490 --> 00:03:19,910
Mas, nesse caso, eu vou pegar...
82
00:03:20,570 --> 00:03:21,140
O...
83
00:03:22,500 --> 00:03:24,920
Is Falling.
Deixa eu pegar aqui, Is Falling.
84
00:03:26,700 --> 00:03:27,950
Está vendo aqui?
Is Falling.
85
00:03:28,620 --> 00:03:31,630
Basicamente, ele é uma
Função pronta, dentro da Unreal.
86
00:03:31,970 --> 00:03:33,960
Que está me dizendo se o personagem está...
87
00:03:33,960 --> 00:03:36,750
Caindo. Is Falling é caindo.
Se ele está caindo.
88
00:03:36,750 --> 00:03:39,040
Ou seja, se ele não está
encontrando o chão, né?
89
00:03:39,380 --> 00:03:40,390
Se eu clicar aqui...
90
00:03:40,690 --> 00:03:42,810
Ele pegou para mim, essa conexãozinha.
91
00:03:43,830 --> 00:03:46,430
Porque essa Função faz parte
do Character Movement.
92
00:03:46,910 --> 00:03:49,190
A gente está pegando se
ele está "Is Falleando".
93
00:03:49,190 --> 00:03:51,990
Se ele está caindo, tá?
"Is Falleando" não existe.
94
00:03:52,550 --> 00:03:55,890
Então, se ele estiver caindo,
isso aqui vai sair como verdadeiro.
95
00:03:55,890 --> 00:03:56,680
Essa Boolean.
96
00:03:56,960 --> 00:03:59,670
Se ele não estiver caindo,
aqui ele vai sair como falso.
97
00:04:00,270 --> 00:04:02,510
Ora, quando ele não está caindo,
é porque ele está no chão, né?
98
00:04:02,510 --> 00:04:03,330
Basicamente, é isso.
99
00:04:03,520 --> 00:04:04,030
Né?
100
00:04:04,030 --> 00:04:07,670
Então, eu vou guardar essa informação numa
variável aqui dentro da Animation Blueprint.
101
00:04:07,910 --> 00:04:10,250
Pra gente poder utilizar isso no nosso...
102
00:04:10,250 --> 00:04:11,060
Pulo, né?
103
00:04:11,350 --> 00:04:14,920
Porque assim que ele estiver caindo,
a gente tem que ficar tocando o Loop do Pulo.
104
00:04:15,430 --> 00:04:18,730
E, depois que ele encontrar o chão,
a gente para de tocar a animação.
105
00:04:18,730 --> 00:04:20,650
Então, deixa eu só criar uma variável aqui.
106
00:04:21,630 --> 00:04:24,460
Variável. Vou chamar de IsOnAir.
107
00:04:26,440 --> 00:04:30,180
Vocês vão encontrar em alguns tutoriais,
com esse nome, IsInTheAir.
108
00:04:30,660 --> 00:04:32,180
Na verdade é IsInAir.
109
00:04:32,410 --> 00:04:34,250
Né?
Você vai encontrar esse nome aí.
110
00:04:34,780 --> 00:04:36,450
Em alguns tutoriais que vocês podem ver...
111
00:04:36,710 --> 00:04:37,840
Na própria Epic.
112
00:04:38,980 --> 00:04:40,530
Mas, você poderia chamar de outra coisa.
113
00:04:40,860 --> 00:04:42,430
Is Falling, também podia ser.
114
00:04:43,680 --> 00:04:45,200
Né? Porque a gente está
pegando esse valor aqui.
115
00:04:45,570 --> 00:04:46,090
TÁ?
116
00:04:46,440 --> 00:04:47,690
Deixa eu só Compilar.
117
00:04:49,180 --> 00:04:50,500
Então, esse valor vem para cá.
118
00:04:51,260 --> 00:04:54,550
Então, eu estou pegando o valor
do personagem, na Booleana.
119
00:04:54,550 --> 00:04:56,130
Se ele está caindo ou não está.
120
00:04:56,510 --> 00:04:58,630
E estou guardando uma variável local aqui.
121
00:04:59,070 --> 00:05:01,050
No nosso Animation Blueprint.
122
00:05:01,370 --> 00:05:02,640
Tá? E isso aqui, eu vou fazer...
123
00:05:03,350 --> 00:05:04,090
Aqui.
124
00:05:04,890 --> 00:05:06,580
Seguindo a sequência.
125
00:05:07,490 --> 00:05:10,130
Venho para cá.
Bem parecido com a lógica de cima.
126
00:05:10,680 --> 00:05:13,010
Esse cara, eu vou colocar como Get...
127
00:05:14,100 --> 00:05:16,370
HeroChar Is Falling.
128
00:05:17,680 --> 00:05:19,370
E aí, eu coloco como...
129
00:05:19,760 --> 00:05:22,660
Set IsInAir.
130
00:05:23,750 --> 00:05:24,280
Tá?
131
00:05:24,630 --> 00:05:29,120
Então, basicamente, essa variável aqui, do tipo
Boolean, está me dizendo se o personagem está no ar...
132
00:05:29,510 --> 00:05:30,930
Ou, não está no ar, né?
133
00:05:31,300 --> 00:05:32,370
E isso, basicamente...
134
00:05:32,660 --> 00:05:35,250
É o suficiente pra gente fazer a transição do...
135
00:05:35,250 --> 00:05:37,170
O Idle, né?
Do chão para o pulo.
136
00:05:37,510 --> 00:05:38,110
Né?
137
00:05:38,110 --> 00:05:39,910
Então, eu vou voltar aqui no meu Idle/Run.
138
00:05:40,310 --> 00:05:42,970
Então, assim que eu estou no Idle lá.
Estou de boa.
139
00:05:42,970 --> 00:05:44,790
O meu personagem não está pulando.
140
00:05:44,790 --> 00:05:46,900
Quando o jogador apertar Pular...
141
00:05:47,390 --> 00:05:49,560
A gente vai ter que disparar o JumpSTART.
142
00:05:49,860 --> 00:05:51,160
Então, esse IsInAir...
143
00:05:51,490 --> 00:05:55,140
Ele é a condição, né? Que vai
operar a transição desse cara.
144
00:05:55,400 --> 00:05:56,570
Se ele estiver no ar...
145
00:05:56,840 --> 00:05:58,160
Ou seja, se o carinha pulou...
146
00:05:58,440 --> 00:06:00,270
Você entra na animação do JumpSTART.
147
00:06:00,580 --> 00:06:02,570
Então, está tocandinho
a animação do JumpSTART.
148
00:06:03,640 --> 00:06:04,980
E ele vai entrar no JumpLOOP.
149
00:06:05,190 --> 00:06:06,520
Assim que essa animação acabar.
150
00:06:06,800 --> 00:06:09,630
Então, a transição desse para esse, vai ser...
151
00:06:10,050 --> 00:06:13,020
Uma Função que a gente chama,
que é Get Timming Remaining.
152
00:06:13,020 --> 00:06:14,820
Deixa eu colocar aqui...
Time Remaining.
153
00:06:16,400 --> 00:06:17,440
Time Remaining.
154
00:06:18,510 --> 00:06:20,230
FirstPerson_JumpStart.
155
00:06:20,230 --> 00:06:22,120
Né?
Eu quero a de baixo, que é o Ratio.
156
00:06:24,770 --> 00:06:26,970
Basicamente, ele está pegando
para mim se essa animação...
157
00:06:27,750 --> 00:06:30,600
Estiver quase acabando, né?
O Rate dela, do tempo...
158
00:06:30,600 --> 00:06:32,200
O tempo restante.
Time Remaining.
159
00:06:32,710 --> 00:06:35,460
Se estiver quase acabando,
então você entra na próxima animação.
160
00:06:35,780 --> 00:06:37,190
Então, isso aqui, eu que tenho que colocar...
161
00:06:37,610 --> 00:06:39,090
Se isso aqui for igual...
162
00:06:39,090 --> 00:06:40,400
Menor ou igual...
163
00:06:41,930 --> 00:06:42,640
À um valor.
164
00:06:42,970 --> 00:06:46,690
Normalmente a gente
coloca aí 0.3, tá? 30%.
165
00:06:47,360 --> 00:06:49,260
Digitar de novo aqui, 0.3.
166
00:06:51,100 --> 00:06:55,320
Então, se a animação JumpSTART
estiver faltando só 0.3 para acabar...
167
00:06:56,310 --> 00:06:58,220
Você, então, pode entrar na próxima.
168
00:06:58,750 --> 00:07:01,260
JumpLOOP.
Então, ele faz a transição para o JumpLOOP.
169
00:07:01,750 --> 00:07:03,980
A gente pode testar isso
aqui depois, se estiver...
170
00:07:03,980 --> 00:07:07,840
Dando alguns enroscos.
Você pode mudar de 0.3 para 0.2, 0.1, tá?
171
00:07:08,230 --> 00:07:10,190
Depende como é que foi feita a...
172
00:07:10,190 --> 00:07:14,270
A divisão entre essas animações.
JumpSTART, LOOP e END.
173
00:07:14,270 --> 00:07:16,340
Mas, assim que estiver acabando a animação...
174
00:07:16,340 --> 00:07:17,460
0.3.
175
00:07:18,400 --> 00:07:20,910
Restando para acabar
essa animação JumpSTART.
176
00:07:21,240 --> 00:07:22,400
A gente entra no JumpLOOP.
177
00:07:22,760 --> 00:07:25,550
Então, o cara fica aqui, no JumpLOOP.
JumpLOOP, ele está caindo.
178
00:07:26,040 --> 00:07:27,450
E assim que ele encostar no chão...
179
00:07:27,740 --> 00:07:29,310
A gente vai colocar o JumpEND.
180
00:07:29,640 --> 00:07:32,690
Então, aqui nessa transição
do LOOP para o END. Bem aqui.
181
00:07:33,710 --> 00:07:35,880
Você tem que colocar, novamente, o IsInAir.
182
00:07:36,270 --> 00:07:36,790
Tá?
183
00:07:37,510 --> 00:07:40,120
Mas, agora é ao contrário.
Não é mais verdadeiro.
184
00:07:40,500 --> 00:07:43,070
Se ele não estiver no ar.
Ou seja, se ele caiu no chão.
185
00:07:44,010 --> 00:07:46,460
A gente vai entrar na próxima animação.
Então, isso aqui...
186
00:07:46,460 --> 00:07:47,700
Vai ser a transição.
187
00:07:48,180 --> 00:07:48,880
Maravilha?
188
00:07:49,320 --> 00:07:51,930
Se eu coloco o mouse em cima,
aparece para mim. NOT IsInAir.
189
00:07:52,260 --> 00:07:53,690
Se ele não estiver mais no ar...
190
00:07:53,690 --> 00:07:57,260
Então, ele vai correr aqui, para o JumpEND.
Essa animação vai tocar...
191
00:07:58,090 --> 00:07:59,870
Ela está tocando.
E assim que...
192
00:07:59,870 --> 00:08:02,710
Mesma coisa. Assim que ela estiver
acabando, ela tem que voltar para o Idle.
193
00:08:03,080 --> 00:08:05,980
Então, a condição
para ele voltar para o Idle...
194
00:08:06,520 --> 00:08:07,450
É a mesma coisa.
195
00:08:08,020 --> 00:08:09,040
Time Remaining.
196
00:08:10,310 --> 00:08:11,040
Ratio.
197
00:08:11,810 --> 00:08:13,650
E aí, menor ou igual à 3.
198
00:08:13,650 --> 00:08:14,710
0.3.
199
00:08:15,510 --> 00:08:17,390
Menor ou igual à...
200
00:08:18,260 --> 00:08:19,390
0.3.
201
00:08:22,100 --> 00:08:23,630
Você pode entrar na transição.
202
00:08:24,500 --> 00:08:25,140
Beleza?
203
00:08:25,420 --> 00:08:27,440
Ele volta para cá e continua esse ciclo.
204
00:08:27,930 --> 00:08:29,980
A única coisa que faltou foi desse cara...
205
00:08:30,560 --> 00:08:33,020
Para esse cara aqui.
Essa transiçãozinha, a gente não fez.
206
00:08:33,380 --> 00:08:34,240
Então, mesma coisa.
207
00:08:34,850 --> 00:08:36,050
Aqui é o IsInAir.
208
00:08:37,980 --> 00:08:40,740
Ele vai entrando na transição.
Deixa eu Compilar para ver se está tudo certo.
209
00:08:43,170 --> 00:08:45,300
Então, agora está funcionando.
Ele aperta...
210
00:08:45,300 --> 00:08:47,320
Quando eu aperto, dá o JumpSTART.
Ele entra no LOOP...
211
00:08:47,630 --> 00:08:49,320
E dá um END, quando eu vou cair.
212
00:08:49,790 --> 00:08:50,680
Está funcionando.
213
00:08:50,680 --> 00:08:53,170
A gente tem, então, já, funcionando
a animação de corrida.
214
00:08:53,810 --> 00:08:56,650
E a animação de Pulo.
Eu só vou nomear aqui, última coisinha.
215
00:08:56,950 --> 00:08:57,710
Idle/Run.
216
00:08:58,260 --> 00:09:01,000
Tem mais uma coisa que a gente colocou
agora, aqui dentro, né? Que é o Jump.
217
00:09:01,370 --> 00:09:02,830
Idle/Run/Jump.
218
00:09:03,890 --> 00:09:07,080
Então, na próxima aula, já vamos implementar
a animação de tiro, pra gente já ter pronta.
219
00:09:07,080 --> 00:09:09,640
Mesmo que a gente não tenha a arma ainda.
Só pra gente já ter ela pronta.
220
00:09:10,300 --> 00:09:12,270
E não precisar voltar aqui tão cedo.
18384
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.