﻿1
00:00:04,440 --> 00:00:05,700
‫Olá e bem-vindo a esta palestra.

2
00:00:05,700 --> 00:00:11,100
‫Vamos brincar com deslocamentos AIM que permitirão que nossa malha mova seus braços para cima e para baixo.

3
00:00:11,370 --> 00:00:15,120
‫À medida que apontamos para cima e para baixo, vamos mergulhar e ver do que se trata.

4
00:00:16,200 --> 00:00:20,880
‫Então, no momento, se mirarmos para cima e para baixo, você pode ver que os braços de nossos personagens

5
00:00:20,880 --> 00:00:26,310
‫não estão realmente fazendo nada e a arma não está realmente parecendo que deveria estar apontando para cima e atirando e acertando

6
00:00:26,310 --> 00:00:28,230
‫o local que estamos realmente acertando. .

7
00:00:28,800 --> 00:00:30,810
‫Então, como vamos mudar isso?

8
00:00:30,870 --> 00:00:33,390
‫Bem, é uma mudança para um projeto de animação.

9
00:00:33,390 --> 00:00:38,460
‫Então vamos em frente e abrir o blueprint de animação como ponto de partida e encaixá-lo em nossa janela principal.

10
00:00:39,180 --> 00:00:44,190
‫E então quero apresentar a você um novo tipo de ativo de animação que não vimos antes.

11
00:00:44,190 --> 00:00:46,440
‫Vimos espaços de mistura, vimos animações.

12
00:00:46,800 --> 00:00:53,070
‫A próxima coisa que quero mostrar a vocês é algo chamado de compensação de animação e, particularmente, de compensação de

13
00:00:53,070 --> 00:00:53,670
‫mira.

14
00:00:53,670 --> 00:01:00,600
‫Então, se procurarmos a palavra-chave A0 em animações, estamos procurando por essas com um pequeno sublinhado azul

15
00:01:00,600 --> 00:01:01,890
‫chamado deslocamentos AIM.

16
00:01:02,250 --> 00:01:03,060
‫E há alguns deles.

17
00:01:03,060 --> 00:01:09,090
‫O que me interessa é o combate AOE, que deve estar por aqui em algum lugar.

18
00:01:09,120 --> 00:01:11,460
‫Eles eram cinzas, combates ociosos.

19
00:01:11,950 --> 00:01:16,620
‫Você entra, seleciona isso, então você verá que temos algo muito parecido com o nosso espaço de mistura.

20
00:01:16,800 --> 00:01:22,470
‫Exceto que desta vez se você mover o pequeno botão verde, o que está acontecendo é que ele está mudando

21
00:01:22,470 --> 00:01:25,620
‫a direção que a malha de nossos personagens está apontando.

22
00:01:25,620 --> 00:01:30,660
‫Então, se formos para a esquerda, ele aponta a arma para a esquerda, nós para a direita, ele

23
00:01:30,660 --> 00:01:32,460
‫aponta a arma para a direita.

24
00:01:32,790 --> 00:01:36,810
‫E da mesma forma com para cima e para baixo, se você vai para cima, então ele olha para cima,

25
00:01:36,810 --> 00:01:39,000
‫você para baixo, ele olha para baixo e tenta derrubar.

26
00:01:39,600 --> 00:01:46,620
‫Agora, a diferença com esta e outras animações que vimos é que isso é conhecido como animação

27
00:01:46,620 --> 00:01:47,280
‫aditiva.

28
00:01:47,280 --> 00:01:51,690
‫Se você for ao painel de detalhes, poderá ver que é aditivo porque diz configurações

29
00:01:51,690 --> 00:01:55,680
‫aditivas e há essa pose baseada em animação que está baseando tudo isso.

30
00:01:56,370 --> 00:02:01,500
‫Basicamente, o que significa quando é aditivo é que essa animação pode ser adicionada em cima de suas

31
00:02:01,500 --> 00:02:02,400
‫outras animações.

32
00:02:02,400 --> 00:02:06,030
‫Então está dizendo, eu posso fazer isso mirando enquanto você está correndo.

33
00:02:06,030 --> 00:02:13,020
‫Posso adicionar as informações sobre onde meus braços se moveram em relação à sua pose de corrida e adicioná-los no topo.

34
00:02:13,620 --> 00:02:14,670
‫Então, como isso se parece?

35
00:02:14,670 --> 00:02:22,260
‫Se formos ao plano de animação, o que queremos fazer é adicionar essa informação depois de adicionarmos todas essas informações

36
00:02:22,260 --> 00:02:28,410
‫sobre locomoção e provavelmente não antes da morte, porque a morte deve ser a última coisa.

37
00:02:29,160 --> 00:02:31,080
‫Então, queremos após a locomoção.

38
00:02:31,080 --> 00:02:33,690
‫Portanto, temos todas as nossas animações em execução que queremos adicionar.

39
00:02:33,690 --> 00:02:40,110
‫Além disso, um pouco de informação sobre onde nossos braços devem ser movidos para que possamos mirar

40
00:02:40,110 --> 00:02:40,770
‫corretamente.

41
00:02:41,280 --> 00:02:45,000
‫Então, para fazer isso, podemos clicar com o botão direito do mouse e adicionar o deslocamento da mira.

42
00:02:45,000 --> 00:02:47,850
‫Também podemos fazer isso no navegador de ativos e procurar por A0.

43
00:02:48,240 --> 00:02:53,550
‫E então, como eu disse, estamos procurando por essa versão de combate, que é um lugar diferente neste navegador.

44
00:02:53,550 --> 00:02:59,880
‫Curiosamente, se eu arrastar isso, o que você obtém é algo com um pino de entrada que diz Qual

45
00:02:59,880 --> 00:03:01,620
‫é o aviso básico pago?

46
00:03:01,620 --> 00:03:06,810
‫A base de planos do Locomotion não tinha um pino de entrada porque está

47
00:03:07,260 --> 00:03:14,550
‫fornecendo a você toda a animação, enquanto esse deslocamento de mira porque é uma animação aditiva, requer algo para adicionar em cima.

48
00:03:14,550 --> 00:03:19,950
‫Então você precisa dar uma pose base que virá de nossa locomoção, e então vamos

49
00:03:19,950 --> 00:03:26,460
‫inserir isso em nossa falsa pose da mistura, se estamos mortos ou não, porque estamos apenas mostrando isso

50
00:03:26,460 --> 00:03:27,990
‫se não estivermos mortos.

51
00:03:29,030 --> 00:03:36,710
‫E então eu quero mostrar a vocês que se eu mudar o tom para um ou talvez para 180, na verdade, e ir

52
00:03:36,710 --> 00:03:41,480
‫em frente e compilar, então você pode ver que ele está olhando para cima.

53
00:03:42,020 --> 00:03:44,540
‫Agora, outro truque que quero fazer aqui é no gráfico de eventos.

54
00:03:44,540 --> 00:03:50,090
‫No momento, temos uma situação bastante irritante em que não podemos fazer algo na visualização do

55
00:03:50,090 --> 00:03:54,830
‫anim porque está sendo substituído por zeros pelo nosso gráfico de eventos.

56
00:03:54,830 --> 00:04:01,610
‫Uma maneira fácil de corrigir isso é simplesmente verificar aqui se o dono do peão que temos aqui

57
00:04:02,090 --> 00:04:02,910
‫é válido.

58
00:04:02,930 --> 00:04:04,130
‫Ou seja, é nulo?

59
00:04:04,850 --> 00:04:10,730
‫Então, se put for válido aqui e aquele com o ponto de interrogação nos fornecer automaticamente esses nós de

60
00:04:11,090 --> 00:04:18,500
‫execução e se passarmos por um nó de execução de animação de atualização e apenas definir as coisas se isso for válido, então o

61
00:04:18,500 --> 00:04:23,900
‫que acontecerá é que quando você não estiver realmente jogando e não há um peão lá para

62
00:04:23,900 --> 00:04:26,900
‫nos dar a informação, ele vai nos permitir colocá-la.

63
00:04:26,900 --> 00:04:28,040
‫A Anim Preview adicionada.

64
00:04:28,610 --> 00:04:36,380
‫Então agora eu posso mudar a velocidade e você pode ver que ele começa a correr com seu deslocamento de mira configurado alto.

65
00:04:36,980 --> 00:04:41,030
‫Então, vamos definir isso para que nosso tom seja realmente uma variável aqui.

66
00:04:41,030 --> 00:04:47,060
‫Então eu vou clicar com o botão direito do mouse em pitch e promover para variável e trazer essa variável aqui para

67
00:04:47,060 --> 00:04:50,150
‫baixo, que está visível e mudar seu nome para pitch.

68
00:04:51,080 --> 00:04:54,470
‫Ou, de fato, vamos ser mais específicos, esse é o tipo de mira.

69
00:04:54,470 --> 00:05:00,230
‫Então, agora, se formos em frente e compilarmos, definimos nossa mira padrão por acidente.

70
00:05:00,230 --> 00:05:03,110
‫Queremos definir isso para zero por padrão.

71
00:05:03,530 --> 00:05:04,820
‫Eu vou em frente e compilar isso.

72
00:05:05,270 --> 00:05:10,970
‫E agora se formos em frente e mudarmos a velocidade e depois mudarmos o passo da mira.

73
00:05:12,140 --> 00:05:16,850
‫Você pode ver que podemos apontar para cima e podemos apontar para baixo, que é exatamente o que queremos.

74
00:05:17,150 --> 00:05:20,120
‫Agora, o problema aqui é que ainda não está sendo definido em um jogo.

75
00:05:20,150 --> 00:05:26,660
‫Se subirmos e descermos, nada disso vem de informações de nossa rotação de controle e nossa mira.

76
00:05:27,170 --> 00:05:31,010
‫Então, precisamos voltar ao nosso gráfico de eventos e obter algumas dessas informações aqui.

77
00:05:31,040 --> 00:05:35,810
‫Agora, vou apenas apimentar um pouco as coisas aqui porque isso está ficando muito longo.

78
00:05:36,170 --> 00:05:42,590
‫E o que eu quero fazer é, fora desse pino válido, colocar um nó de sequência

79
00:05:42,680 --> 00:05:47,670
‫que me permitirá espalhar as coisas um pouco na direção vertical também.

80
00:05:47,690 --> 00:05:52,980
‫Então, o nó de sequência, em primeiro lugar, vai definir a velocidade e o ângulo aqui.

81
00:05:53,000 --> 00:05:57,050
‫Então acho que podemos mudar essas coisas para o elenco para filmar um personagem.

82
00:05:57,410 --> 00:06:04,130
‫Acho que podemos reduzir ainda mais verticalmente, conectando com esse pino de sequência e o pino de

83
00:06:04,130 --> 00:06:07,310
‫objeto para tentar obter -- em um nó.

84
00:06:07,340 --> 00:06:09,800
‫Então podemos adicionar outro pino na sequência.

85
00:06:09,810 --> 00:06:13,580
‫E desta vez quero obter duas informações do nosso dono do peão.

86
00:06:14,060 --> 00:06:17,280
‫A primeira será uma rotação de controle.

87
00:06:17,300 --> 00:06:19,820
‫Então vamos fazer uma rotação de controle de obtenção.

88
00:06:20,450 --> 00:06:26,180
‫Mas isso não será suficiente porque como uma rotação de controle, se dividirmos o pino, você pode ver que

89
00:06:26,180 --> 00:06:29,520
‫temos um tom aqui e podemos tentar definir esse tom.

90
00:06:29,560 --> 00:06:30,650
‫Vamos dar uma chance a isso.

91
00:06:31,100 --> 00:06:38,540
‫Então, se eu fizer um pitch definido e conectar o nó de execução ao nó de execução de nossa sequência, adicionando um

92
00:06:38,540 --> 00:06:44,870
‫pouco de redirecionamento a isso, o que acontecerá se compilarmos, salvarmos, clicar em play e depois apontar para

93
00:06:44,870 --> 00:06:46,100
‫cima funciona bem.

94
00:06:46,310 --> 00:06:48,530
‫Apontar para baixo não vira.

95
00:06:48,890 --> 00:06:52,070
‫Então as coisas começam a ficar ainda mais estranhas.

96
00:06:52,520 --> 00:06:59,270
‫Agora, o que está acontecendo é que essa rotação de controle é totalmente global e, portanto, não leva em

97
00:06:59,270 --> 00:07:02,600
‫consideração a direção que nosso jogador já está enfrentando.

98
00:07:03,080 --> 00:07:10,880
‫Então, para levar isso em consideração, precisamos ir ao peão novamente e obter a rotação do ator.

99
00:07:10,880 --> 00:07:18,290
‫E então o que queremos encontrar é a rotação entre a rotação do ator e a rotação de controle.

100
00:07:18,680 --> 00:07:22,340
‫E a maneira como fazemos isso é que vou desconectar o tom AM.

101
00:07:22,880 --> 00:07:28,700
‫Quebre esse link e clique com o botão direito e recombinar os pinos da estrutura é quero fazer um delta entre

102
00:07:28,700 --> 00:07:33,230
‫esses dois para que eu possa tirar a rotação do controle e procurar o Delta.

103
00:07:34,270 --> 00:07:41,050
‫E Delta é basicamente uma maneira elegante de dizer subtração entre rotadores.

104
00:07:41,440 --> 00:07:48,760
‫Então, o que queremos fazer é pegar nossa rotação de controle e subtrair a rotação base, que será

105
00:07:48,790 --> 00:07:50,780
‫nossa rotação de ator.

106
00:07:50,800 --> 00:07:55,690
‫Então isso é B então vai ser A menos B se você passar o mouse, é isso que a rotação delta faz.

107
00:07:56,170 --> 00:08:01,600
‫E basicamente queremos dizer: Sim, quero a rotação de controle, mas retire todas essas

108
00:08:01,600 --> 00:08:03,580
‫informações sobre nossa rotação ativa.

109
00:08:03,580 --> 00:08:10,720
‫Então, eu posso saber se estamos mirando para cima e para baixo em relação à direção que o personagem está enfrentando.

110
00:08:11,230 --> 00:08:17,650
‫E então, se eu dividir o valor de retorno oculto disso e usar o pitch de lá, veremos

111
00:08:17,650 --> 00:08:20,140
‫que tudo funciona conforme o esperado.

112
00:08:20,140 --> 00:08:26,440
‫Quando olho para cima meu nome, quando olho para baixo, estou mirando para baixo e não importa para que lado

113
00:08:26,440 --> 00:08:29,380
‫estou enfrentando no mundo, esse sempre será o caso.

114
00:08:29,440 --> 00:08:33,160
‫Então é quase isso para a nossa rotação de mira.

115
00:08:33,190 --> 00:08:38,320
‫O único problema é que, no momento, Ally é incapaz de mirar assim.

116
00:08:38,320 --> 00:08:46,600
‫Então, se eu for e colocar um personagem de atirador nas escadas aqui e depois tentarmos esmurrá-lo,

117
00:08:46,600 --> 00:08:49,180
‫tentar fazê-lo vir até nós.

118
00:08:49,480 --> 00:08:50,230
‫Aqui ele vem.

119
00:08:50,590 --> 00:08:53,260
‫Você pode ver que ele está apenas atirando na parede.

120
00:08:53,320 --> 00:08:55,960
‫Ele não está tentando mirar, o que é um pouco triste.

121
00:08:56,350 --> 00:09:02,260
‫Então, o que está acontecendo, se formos para nosso aliado e nossa árvore de comportamento, você pode ver que estamos definindo

122
00:09:02,260 --> 00:09:04,060
‫um foco padrão para um local.

123
00:09:04,060 --> 00:09:10,150
‫E, por padrão, se você definir um foco para um local, o Unreal não atualizará sua rotação de

124
00:09:10,150 --> 00:09:13,270
‫controle da mesma forma que não fará o tom.

125
00:09:13,840 --> 00:09:14,860
‫Então isso é um pouco triste.

126
00:09:15,010 --> 00:09:21,940
‫Ok, então o que precisamos fazer é ir ao nosso quadro-negro e alterar a localização do player para ser apenas

127
00:09:21,940 --> 00:09:27,730
‫uma referência ao player, em vez disso precisamos alterar esse vetor para ser um objeto.

128
00:09:27,790 --> 00:09:33,370
‫Então agora o que temos é uma chave de tabuleiro em branco para o jogador, que é um objeto,

129
00:09:33,370 --> 00:09:38,530
‫e podemos mudar a classe base para o ator se quisermos, embora não seja particularmente importante.

130
00:09:38,980 --> 00:09:44,560
‫E então o que isso significa está acabado na árvore de comportamento, podemos mudar as coisas para que,

131
00:09:44,560 --> 00:09:49,270
‫em vez de mover para aplicar o local, estejamos nos movendo para o ator jogador.

132
00:09:49,690 --> 00:09:57,340
‫Podemos definir o foco para ser o ator jogador e atualizar a localização do jogador se a cena agora

133
00:09:57,340 --> 00:10:00,370
‫precisar apontar para um ator jogador também.

134
00:10:00,370 --> 00:10:05,800
‫Agora, isso ainda não funcionará porque nossa localização do player de atualização se a cena estiver tentando

135
00:10:05,800 --> 00:10:08,110
‫definir um local para essa chave.

136
00:10:08,350 --> 00:10:10,990
‫Então, um pequeno mini desafio para você, veja se consegue atualizá-lo.

137
00:10:10,990 --> 00:10:18,760
‫Então, em vez de definir o local nesse serviço de árvore de comportamento, estamos definindo o vídeo de pose do ator real

138
00:10:18,760 --> 00:10:19,540
‫e tentamos.

139
00:10:19,660 --> 00:10:19,960
‫OK.

140
00:10:19,960 --> 00:10:20,650
‫Bem vindo de volta.

141
00:10:20,650 --> 00:10:25,750
‫Então, vamos entrar no código do Visual Studio e procurar o serviço ASC em particular.

142
00:10:25,750 --> 00:10:29,410
‫É a localização do player de sublinhado de serviço, se vista.

143
00:10:29,890 --> 00:10:32,860
‫E vamos mudar isso para um conjunto de valor definido como vetor.

144
00:10:32,860 --> 00:10:37,030
‫Vai ser definido o valor como objeto, simples assim.

145
00:10:37,030 --> 00:10:41,950
‫Temos as opções de tipos no quadro-negro e é isso que vamos dizer aqui.

146
00:10:42,370 --> 00:10:46,120
‫Agora, obviamente, vai reclamar que o que estamos tentando dizer é um vetor em vez de um objeto.

147
00:10:46,510 --> 00:10:52,690
‫Então, vamos apenas remover a localização do ator get e passar o player, e em vez disso, limpar o valor

148
00:10:52,690 --> 00:10:54,610
‫é o mesmo de antes.

149
00:10:54,610 --> 00:11:00,580
‫Então, podemos simplesmente voltar ao editor, clicar, compilar e ver se essa nova configuração está funcionando com Aiming

150
00:11:00,580 --> 00:11:01,580
‫for the High.

151
00:11:01,630 --> 00:11:02,710
‫Kate, vamos mergulhar.

152
00:11:02,710 --> 00:11:03,310
‫Aperte o play.

153
00:11:03,310 --> 00:11:05,560
‫Vá e encontre aquele ar nas escadas.

154
00:11:06,530 --> 00:11:08,680
‫Faça-os tentar vir e olhar para nós.

155
00:11:08,690 --> 00:11:09,170
‫Vamos.

156
00:11:09,330 --> 00:11:16,730
‫Eu tenho mais uma coisa que esqueci da árvore de comportamento para atualizar é que o jogador pode ver no momento foi redefinir

157
00:11:16,730 --> 00:11:23,600
‫a tecla do quadro-negro para o ator próprio queremos que seja jogador basicamente é o jogador definido vamos lá e fazer

158
00:11:23,600 --> 00:11:28,820
‫essa mudança porque no momento o eu não estava vindo nos perseguir agora ele está

159
00:11:29,120 --> 00:11:35,030
‫nos perseguindo e de fato, se você pulou, você pode ver que a rotação da mira desse cara

160
00:11:35,030 --> 00:11:35,990
‫está mudando.

161
00:11:35,990 --> 00:11:40,310
‫Vamos subir as escadas e ver se ele pode atirar das escadas em nós.

162
00:11:40,970 --> 00:11:41,630
‫Excelente.

163
00:11:41,630 --> 00:11:45,920
‫Ele mudou sua rotação e, de fato, está atirando diretamente em nós.

164
00:11:46,190 --> 00:11:46,850
‫Ambos são.

165
00:11:47,030 --> 00:11:49,040
‫Nós o vimos perdendo a saúde e logo morrerá.

166
00:11:50,540 --> 00:11:51,710
‫Ok, é isso para esta palestra.

167
00:11:51,710 --> 00:11:59,060
‫Adicionamos um deslocamento de mira e atualizamos nosso ar para que ele possa usá-lo para mirar também.

168
00:11:59,120 --> 00:12:03,170
‫Na próxima palestra, vamos fazer algo sobre essa corrida engraçada no ar.

169
00:12:03,440 --> 00:12:04,190
‫Eu vou ver isso.

