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 Player - Animação: Corrida
2
Então, agora que a gente vai implementar a nossa primeira animação...
3
No personagem.
4
A gente vai começar pela corrida, tá?
5
Então, basicamente...
6
A gente está andando aqui, parece que está flutuando, né?
7
Tem que ter aquela animaçãozinha de...
8
De correr.
9
E isso, a gente tem aqui. Vou abrir o...
10
Animation Blueprint. A gente tem essa animaçãozinha aqui, Run.
11
Né?
12
Que, basicamente, ele está...
13
Andandinho, ali. Correndo.
14
Beleza?
15
Então, vamos fazer isso no nosso Animation Blueprint.
16
Deixa eu fechar esses caras todos aqui.
17
Animation Blueprint.
18
Então, vamos lá.
19
Primeira coisa.
20
Aqui em Animation Graph...
21
Né? Eu tenho o meu Final Animation Pose.
22
Que é a pose final que vai aparecer.
23
Então, tudo que eu conectar lá...
24
Vai aparecer. Então, eu poderia, por exemplo...
25
Desconectar esse cara e conectar o Run.
26
Aqui.
27
Dar um Compilar e agora ele está tocando a animação de Run, né?
28
Mas, eu preciso que tenha uma lógica.
29
Para que isso varie.
30
Entre o Idle, que ele está esperando.
31
E o Run, que ele está correndo, ele está andando.
32
Então, eu vou criar uma coisa que a gente chama de State Machine.
33
Add New State Machine.
34
Que é uma ferramenta própria aí, do Animation Blueprint, perfeita para essas coisas.
35
A gente pode criar vários estados.
36
E colocar lógicas...
37
Para que a gente varie entre esses estados.
38
Então, a gente coloca uma lógica para que ele varie entre o Idle e o Run.
39
Né?
40
Eu vou só colocar um nome para esse State Machine.
41
Esse aqui, eu vou colocar como Idle/Run.
42
Para eu saber que essa State Machine tem a ver com...
43
A variação entre o Idle e o Run.
44
Tá?
45
Clico duas vezes aqui.
46
Tem uma entrada e não tem mais nada.
47
Eu tenho que criar alguns estados aqui. Então, vamos só clicar e arrastar.
48
Eu posso colocar um estado...
49
Add State.
50
E o nome para esse estado. O nome que eu vou colocar vai ser...
51
Idle.
52
Então, esse é o primeiro estado. O estado Idle!
53
E o outro estado que a gente tem, seria o Run.
54
Então, eu vou só clicar e arrastar aqui também.
55
Add State, Run.
56
Run.
57
Você percebe que quando eu fiz isso... Deixa eu só arrumar aqui, para...
58
Run.
59
Então, quando eu fiz isso, ele criou essa bolinha aqui.
60
Na verdade é uma condição. Ele está dizendo...
61
Ele está perguntando qual é a condição para variar entre o Idle e o Run.
62
Ok?
63
Então, depois a gente vai colocar uma condição.
64
Se eu clicar duas vezes aqui...
65
Tem uma condição. Você percebe que é uma Boolean.
66
Né?
67
Pode entrar na transição?
68
E aqui, a resposta é "sim" ou "não". Ele pode ou não pode entrar na transição.
69
Já vamos voltar aqui.
70
Idle e Run. Eu voltei.
71
Então, em Idle, eu tenho que colocar alguma coisa dentro.
72
Eu clico duas vezes.
73
No Idle, obviamente, eu vou colocar a animação de Idle.
74
Então, nesse State, né? Nesse estado...
75
Aqui dentro, ele vai tocar a animação de Idle.
76
E dentro do Run...
77
Aqui dentro.
78
Dentro desse estado.
79
Ele vai tocar a animação de Run. Trago o Run para cá.
80
E conecto no...
81
Animation Pose. Beleza?
82
Volto aqui, no Idle/Run.
83
Então, eu tenho o Idle...
84
E o Run.
85
Nesse cara, aqui dentro, eu tenho uma animação.
86
E nesse cara aqui, eu tenho a outra animação.
87
De Run. Beleza.
88
Então, tranquilo. Agora eu vou voltar aqui no meu começo.
89
No Anim Graph.
90
Ao invés de conectar esses caras, eu vou conectar o meu State Machine.
91
Beleza?
92
Conecto ele aqui.
93
E esse cara que vai dar a lógica...
94
Para que seja a pose final do personagem.
95
Eu Compilo.
96
Ele voltou para o Idle.
97
Por que voltou para o Idle?
98
Se eu entrar aqui dentro, ele está tocando o Idle, né?
99
Assim que eu fiz isso, ele já disse para mim, aqui embaixo, no...
100
Compilador. Quando eu Compilei.
101
Está dizendo: "O Idle to Run", né?
102
"Esse lugar que eu estou aqui."
103
"Nunca vai acontecer."
104
"Por favor, conecte alguma coisa no Can Enter Transition."
105
Ele está falando dessa bolinha aqui.
106
Não tem nada conectado.
107
Está dizendo para mim: "Nunca vai acontecer do cara ir para o Run..."
108
"Porque não tem nada aqui dentro, na condição."
109
Tá?
110
Se eu deixar a condição ligada...
111
Pode entrar na transição? Pode.
112
Pode.
113
Deixar ligado.
114
Eu vou Compilar.
115
Ele voltou para a animação de Run.
116
Ele vai tocar o Idle, mas ele olha a condição verdadeira, ele...
117
Pula para o Run.
118
Tá?
119
Então, agora ele vai ficar sempre no Run. Porque não tem nada que faça ele voltar para o Idle, né?
120
Então, a gente tem que trabalhar essa condição aqui.
121
Essa Booleana.
122
Eu vou desligar porque é o padrão.
123
Eu tenho que trabalhar essa condição para dizer para ele quando que ele pode entrar na animação de Run.
124
Basicamente, ele pode entrar na animação de Run quando ele correr, né?
125
Tá? Então, eu vou voltar aqui.
126
Em Anim Graph. Deixa quietinho, por enquanto.
127
A gente tem um Event Graph aqui no Animation Blueprint.
128
Existe uma Função, que se chama...
129
Try...
130
Get Pawn Owner.
131
Tá? Try Get Pawn Owner.
132
Eu clico nesse cara.
133
O que ele está tentando fazer? Ele está tentando pegar o Owner, o dono.
134
Né? O Pawn é a Classe Pawn.
135
E ele está tentando pegar o dono.
136
O dono dessa Animation Blueprint.
137
Ele vai pegar uma referência à Classe que é dona dele.
138
Mas, aí a gente tem que fazer um Cast.
139
Para a nossa Classe específica. Então, Cast to...
140
Qual que é a nossa Classe? BP_HeroChar.
141
Então, faz um Cast to.
142
Então, a partir daí, eu posso agora pegar o meu BP_HeroChar...
143
E pegar as variáveis que estão lá. Então...
144
Get...
145
Is Sprinting, né?
146
Is Sprinting.
147
Está lá.
148
Get Is Sprinting.
149
Eu vou guardar, então. Já que está funcionando, eu vou guardar esse valor aqui em uma variável.
150
Promote to Variable. A gente já fez isso.
151
Bastante, né?
152
Não é novidade.
153
Vou colocar aqui, como HeroRefer.
154
HeroChar.
155
Refer. Referência.
156
A partir de agora, então, dentro do Animation Blueprint, eu posso acessar o HeroChar...
157
Através dessa variável aqui.
158
Isso aqui, eu vou fazer...
159
Quando atualizar a animação. Update Animation.
160
Pronto.
161
Uma coisa que é legal de fazer é o seguinte. A gente vai colocar um DoOnce.
162
A gente vai fazer isso com mais calma, lá ná...
163
No capítulo de Animação.
164
Mas, eu vou fazer um DoOnce. Ou seja, "Faça isso só uma vez".
165
Né?
166
A gente só precisa pegar a referência, fazer esse Cast, uma vez.
167
E não todas as vezes.
168
Que a animação fizer um update.
169
Então, aqui, a primeira coisa que a gente vai fazer...
170
É...
171
Pegar a referência.
172
Do HeroChar.
173
Então, a partir de agora, com essa referência do HeroChar, eu posso pegar coisas lá do personagem, né?
174
Então, vamos só analisar de volta, o Idle/Run.
175
Qual a condição para ele mudar a animação de Idle...
176
De esperando, para Run, né?
177
Aquela animação que ele está andando.
178
Basicamente, se o personagem está se movendo, não está.
179
Certo?
180
Então, vamos fazer o seguinte...
181
Só deixa eu Compilar de novo e salvar.
182
Então, vamos fazer o seguinte. A gente tem que pegar um valor lá no personagem...
183
Que me diga se ele está se movendo ou não está.
184
Esse valor, basicamente, seria a velocidade dele.
185
Né? Se a velocidade é maior que zero, então ele está se movendo.
186
Se ela é zero, ele não está se movendo.
187
Né?
188
Lembrando das aulas de velocidade, lá no Vetor.
189
Né?
190
Então, deixa eu pegar esse personagem.
191
Get...
192
Vou pegar a velocidade dele. Então, eu vou pegar Get Velocity.
193
E Velocity a gente já sabe. A velocidade, a gente já sabe que é um Vetor, né?
194
É, ele tem três Floats.
195
Ele está se movendo em três direções. X, Y e Z.
196
Não me importa a direção que ele está se movendo.
197
Tá?
198
O que me importa é se essa velocidade é maior do que zero.
199
Então, eu vou pegar aqui, o Vector Lenght.
200
Que é o comprimento do Vetor.
201
Basicamente, o que a gente fez lá na aula de Vetores, né?
202
Peguei o Vector Lenght.
203
E eu quero saber se esse cara é maior do que zero. Maior...
204
Float > Float.
205
Então...
206
Se isso aqui for maior do que zero, então, basicamente, ele está se movendo.
207
Tá? Então, eu vou guardar esse resultado em uma variável.
208
Promote to Variable.
209
E vou colocar um nome para esse cara, como IsMoving.
210
Ou seja, se ele está se movendo ou não está.
211
Então, se o personagem...
212
Chegar a uma velocidade maior do que zero, ele está se movendo.
213
Então, IsMoving é verdadeiro.
214
Deixa eu Compilar aqui, para ficar bonitinho.
215
E vou colocar esse cara aqui. Conectei.
216
Então, agora, a minha Animation Blueprint...
217
Ela sabe se o personagem...
218
Está se movendo ou não está. Toda vez que a velocidade for maior do que zero.
219
Então, aqui...
220
Eu vou fazer...
221
Get...
222
HeroChar.
223
Velocity.
224
E a gente está colocando o Set...
225
IsMoving. Que é uma variável de dentro da Blueprint.
226
Por que a gente fez essa variável?
227
Porque a gente vai conseguir armazenar a informação, se ele está se movendo ou não está.
228
Beleza?
229
Então, agora, a gente vai voltar aqui no Idle/Run...
230
E vai ter uma coisa para conectar nessa transição aqui.
231
Então, se ele está se movendo...
232
Eu vou pegar esse IsMoving. Conectar aqui.
233
Se ele está se movendo, então, ele vai tocar a animação de Run.
234
Se ele não está, ele vai ficar tocando a animação de Idle.
235
Então, a gente só tem que fazer uma condição para que ele volte. Porque só tem uma flechinha indo, né?
236
De Idle para Run.
237
Então, eu vou clicar aqui e vou fazer uma setinha para voltar.
238
Então, para ir, ele vai quando ele está se movendo.
239
Beleza?
240
Para voltar, ele tem que voltar para Idle.
241
Quando ele não está se movendo. Então, clico aqui.
242
Eu pego exatamente a mesma variável.
243
Eu falo: "Não está". Então, not.
244
Not Boolean.
245
Se essa Booleana é falsa, se ele não está se movendo...
246
Então, você pode voltar para o Idle.
247
E está pronto aí, a nossa primeira State Machine. Então, vamos ver se está funcionando, né?
248
Play.
249
Então, a minha velocidade é zero, ele toca o Idle.
250
Se eu começo a andar, então agora ele está tocando...
251
A animação de Run.
252
Porque a velocidade dele é maior do que zero.
253
Tá?
254
Funcionando, então.
255
Beleza? Agora, a gente precisa fazer outros tipos de...
256
Implementações. Se eu pular...
257
Ele... Até funciona. Está até interessantezinha, essa animação.
258
Mas, ele tem uma animação de pulo.
259
Que a gente vai implementar...
260
Agora, na próxima aula.
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.