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 Inimigo - Animação
2
Então vamos lá. Vamos fazer a animação desse inimigo, só para ele não ficar paradão assim, né?
3
Esse negócio de não ter...
4
Os materiais, está começando a me incomodar um pouco.
5
Mas, depois a gente já arruma isso.
6
Como ele está parado aqui...
7
Né? Legal que ele fique se movendo, igual tem no exemplo lá, do jogo que eu fiz.
8
Ele fique se movendo para cima e para baixo.
9
A gente pode fazer isso com Timelines, né? É uma boa ideia.
10
Então, aqui no...
11
No Blueprint do Inimigo. Vamos começar a fazer isso.
12
Eu vou criar uma nova Timeline.
13
Vou chamar de EnemyLoop.
14
Mas, você pode dar o nome que você quiser aí. EnemyAnimação...
15
É, só Animação, né? Enfim...
16
Só o nome da tua Timeline aqui.
17
Basicamente, o que eu vou fazer é um Lerp Vector.
18
Lerp Vector.
19
E eu não preciso...
20
Explicar demais, né? Porque a gente viu tudo isso aqui na nossa aula de Timelines, né?
21
A gente vai fazer um Lerp...
22
Da posição A para a posição B.
23
Ao invés de eu digitar esses caras aqui, eu vou colocar em variáveis...
24
Pra gente poder ter um acesso mais fácil.
25
Então, eu vou pegar a posição dele...
26
No mundo.
27
E eu vou fazer isso no BeginPlay.
28
Para que a gente pegue já, a posição dele, no começo do jogo.
29
Então, para pegar a posição desse Actor no mundo...
30
GetActorLocation.
31
Ele vai mostrar para mim um Vetor.
32
E esse Vetor eu vou colocar em uma variável. Promote to Variable.
33
Eu vou colocar como...
34
Start Location. A posição inicial dele. Start Location.
35
Maravilha. Isso acontece no começo do jogo.
36
E eu vou fazer uma posição final, End Location, que seria a posição final dele...
37
Para o fim da animação, né?
38
Posição B.
39
A posição final dele vai ser a posição inicial.
40
Mais algum valor, né?
41
Vector + Vector.
42
Eu vou colocar aqui... Mais, por exemplo, 50 no Z.
43
Tá?
44
Posição final. Isso aqui, a gente faz um Promote to Variable também.
45
E esse cara, eu vou chamar de...
46
End Location.
47
Opa.
48
End...
49
Location. Então, a gente já tem aí a posição inicial dele e a posição no mundo.
50
E a posição final dele. Do final da animação.
51
Vai ser a posição do mundo + 50 no Z.
52
Então, a gente vem aqui e conecta Start Location.
53
E conecta End Location.
54
Agora só falta a gente conectar o Alfa.
55
Que vai vir do meu Timeline.
56
Basicamente, eu quero um gráfico Float.
57
De 0 a 1, né?
58
E aqui no comprimento, após deixar, por exemplo... Sei lá, 3 segundos.
59
3 segundos.
60
Aqui, eu vou colocar como...
61
Float Loop.
62
Add key frame.
63
Add key e...
64
Add key. A primeira vai ser 0 e 0.
65
A última vai ser 0 e 3 segundos.
66
E a segunda vai ser a metade do tempo.
67
1.5. E o valor é 1.
68
Deixa eu só arrumar aqui, porque eu me confundi nos key frames. Fui fazer...
69
Eu vou colocar todos eles em Alto.
70
E aqui, a gente liga o Loop.
71
E a gente liga o AutoPlay.
72
Compilar e Salvar.
73
Este Alfa vai para cá, então.
74
Vai ficar sempre tocando, né?
75
O resultado desse Vector...
76
Vai ser o Vector...
77
Para eu mudar a posição deste inimigo no mundo.
78
Para fazer a animação. Então...
79
Set...
80
ActorLocation.
81
Se você tiver dúvidas sobre o que eu estou fazendo...
82
Capítulo de Timelines explica tudo isso aqui.
83
Com mais calma, né?
84
Tudo que a gente já viu.
85
Vamos ver se está funcionando, então? Compilar e salvar.
86
Está ele, se movendo.
87
Só para eu não ter que andar toda vez aqui, deixa eu colocar o meu personagem...
88
Aqui.
89
Pronto.
90
Então, se a gente...
91
Fizer uma cópia desse inimigo, a gente vai ter mais um...
92
Fazendo a mesma animação, né?
93
O que não é tão legal, porque não tem variação entre eles.
94
Vamos criar uma variação, então.
95
Só para ficar um pouquinho mais legal.
96
A primeira variação que a gente pode criar é na altura que eles estão subindo e descendo, né?
97
Então, é uma variação nesse Z aqui.
98
Não precisa ser exatamente 50 para todos. Pode variar.
99
Então, eu vou fazer uma coisa.
100
Primeiro, eu vou dar um Split Structure Pin.
101
Então, a gente tem os valores...
102
Separados.
103
Né? E agora, cada um deles é um valor de Float.
104
E esse valor de Float, eu vou fazer um Random.
105
Random Float.
106
In Range.
107
Então, eu posso fazer um valor aleatório.
108
De Float.
109
De 50, no mínimo. No máximo, 100.
110
Por exemplo. Então, vai dar um valor para mim que vai...
111
Variar de 50 à 100.
112
Então, agora a gente vai ter...
113
Valores aleatórios.
114
Esse está subindo mais. O da esquerda, né?
115
Ele sobe mais.
116
Agora, o que a gente precisa fazer...
117
É mudar um pouco a velocidade de animação entre eles, para não ficar exatamente igual.
118
Tá? Então, a gente tem o seguinte...
119
A gente tem essa Timeline aqui, Enemy Loop.
120
Que eu posso... Opa, Get EnemyLoop.
121
Tem uma Funçãozinha aí, chamada Set...
122
Play Rate.
123
Lembra disso? No capítulo de Timelines?
124
Então, a gente tem esse cara aqui.
125
Eu posso fazer um Play Rate diferente, para cada um dos...
126
Dos inimigos, assim que o jogo começa.
127
Tá?
128
E aqui nesse New Rate, a gente pode fazer a mesma coisa.
129
Random, Float e Range.
130
Então, vai dar um valor aleatório para mim.
131
Em Range.
132
Então, vamos fazer um Play Rate de 1, que é o valor...
133
Padrão, né? Que seria o Play Rate atual.
134
Até 2, que é o dobro da velocidade.
135
Então, a gente vai ter uma Timeline que vai tocar na velocidade atual.
136
Até, no máximo, o dobro da velocidade. Isso vai ser aleatório.
137
Dependendo da Blueprint ali, do inimigo.
138
Tá? Então, Play.
139
Aquele toca mais rápido, esse toca mais lento, né?
140
É super legal.
141
Isso é...
142
Random, né? Aleatório.
143
Eu posso duplicar mais uma aqui.
144
A gente vai ter três diferentes agora.
145
Né?
146
Toda vez que eu der um Play no jogo, vai ter um Random diferente.
147
Resultado diferente.
148
Tá?
149
Só para dar uma brincadeira aí. Ficar um pouco diferente.
150
Não ficar todo mundo igual.
151
Então, agora, comentar o código, pra gente não esquecer.
152
Aqui, a gente está fazendo o seguinte...
153
Set Start...
154
End Location.
155
Set Timeline...
156
Play Rate.
157
Depois a gente não esquece mais.
158
E aqui, a gente vai...
159
Nomear como...
160
Timeline Loop.
161
Então, está guardado aí. A gente tem as animações do inimigo.
162
Prontas.
163
Vamos para a próxima aula.
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.