﻿1
00:00:04,650 --> 00:00:05,550
‫Olá e bem-vindo.

2
00:00:05,550 --> 00:00:12,210
‫Nesta palestra, vamos resolver o ângulo do nosso espaço de mistura, conectando-o à jogabilidade.

3
00:00:12,210 --> 00:00:17,550
‫E no processo vamos aprender muita matemática, muitas transformadas e vetores.

4
00:00:17,550 --> 00:00:20,340
‫Então vamos mergulhar e descobrir como isso funciona.

5
00:00:22,480 --> 00:00:22,840
‫OK.

6
00:00:22,840 --> 00:00:27,010
‫Então, queremos ser capazes de obter o ângulo em que devemos nos mover.

7
00:00:27,760 --> 00:00:34,540
‫No entanto, antes de fazermos isso, precisamos fazer um pouco de matemática porque queremos entender como podemos obter

8
00:00:34,630 --> 00:00:37,810
‫esse ângulo que é local para o jogador.

9
00:00:38,420 --> 00:00:45,250
‫Vou explicar o que quero dizer com local e global e como podemos obter isso de uma velocidade global e o que esses termos

10
00:00:45,250 --> 00:00:46,630
‫significam de qualquer maneira.

11
00:00:47,200 --> 00:00:48,010
‫Então vamos dar uma olhada.

12
00:00:48,010 --> 00:00:53,110
‫Primeiro de tudo, precisamos ter um pouco de cartilha básica sobre Transformers e o que são os Transformers.

13
00:00:53,110 --> 00:00:56,350
‫Nós os vimos ou já os vimos um pouco antes.

14
00:00:56,830 --> 00:01:00,640
‫Quando você olha para qualquer um dos componentes da cena, são esses na hierarquia.

15
00:01:01,270 --> 00:01:02,830
‫Você pode ver que eles têm um transformador aqui.

16
00:01:02,830 --> 00:01:07,420
‫Então, localização, rotação, propriedades de escala, é basicamente isso que um transformador é.

17
00:01:08,110 --> 00:01:13,270
‫Mas uma coisa que você não está vendo aqui também faz parte dessa transformação é o fato

18
00:01:13,270 --> 00:01:19,540
‫de que esses mesmos componentes estão em uma hierarquia, o que significa que o transformador também tem um pai ou, você

19
00:01:19,600 --> 00:01:20,800
‫sabe, basicamente hierárquico.

20
00:01:21,520 --> 00:01:23,200
‫Então, como isso funciona?

21
00:01:23,380 --> 00:01:26,410
‫Bem, aqui está um exemplo de brinquedo.

22
00:01:26,410 --> 00:01:30,790
‫Nós temos o cubo aqui, que é nossa base é o centro do nosso mundo ou algo assim.

23
00:01:31,450 --> 00:01:33,430
‫Então esse será o nosso espaço mundial.

24
00:01:34,030 --> 00:01:39,850
‫Temos esse personagem aqui, o pequeno rosto sorridente, e ele tem uma posição no mundo em

25
00:01:39,850 --> 00:01:41,320
‫relação à sua base.

26
00:01:42,130 --> 00:01:47,680
‫E então esse personagem tem uma arma e a arma tem uma posição em relação ao personagem.

27
00:01:47,710 --> 00:01:53,740
‫Então, a maneira como essa hierarquia funciona é que os pais da arma são o personagem, os pais são

28
00:01:53,740 --> 00:01:56,350
‫o personagem, sua base ou o mundo.

29
00:01:57,670 --> 00:02:01,720
‫E então temos alguns sistemas de coordenadas locais dentro deles.

30
00:02:01,720 --> 00:02:06,400
‫Assim, o sistema de coordenadas do mundo é o sistema mundial, o sistema global.

31
00:02:07,030 --> 00:02:12,430
‫Então as coordenadas do nosso personagem são locais à sua posição.

32
00:02:12,430 --> 00:02:15,840
‫Assim, a arma é posicionada em relação ao seu caráter.

33
00:02:15,850 --> 00:02:16,600
‫O que isso significa?

34
00:02:16,990 --> 00:02:22,690
‫Isso significa que se o personagem decide sair em uma pequena escapada, então a arma se move com

35
00:02:22,690 --> 00:02:28,060
‫ela, porque a posição da arma em relação ao personagem permaneceu a mesma, mas porque o personagem

36
00:02:28,060 --> 00:02:30,850
‫se moveu, sua posição no mundo mudou. .

37
00:02:31,780 --> 00:02:33,550
‫O mesmo acontece com a rotação.

38
00:02:33,730 --> 00:02:37,450
‫Se o personagem se virar, a arma deve virar também.

39
00:02:38,230 --> 00:02:42,310
‫É assim que as transformações funcionam essencialmente também em escala, mas não vamos olhar para a escala.

40
00:02:42,310 --> 00:02:47,500
‫É a mesma coisa, mas está apenas complicando as coisas e não precisamos dar uma olhada nisso.

41
00:02:47,500 --> 00:02:48,760
‫Não é relevante para nós.

42
00:02:49,960 --> 00:02:52,270
‫Então vamos dar uma olhada, uma visão diferente disso.

43
00:02:52,270 --> 00:02:54,670
‫Temos espaço global e espaço local.

44
00:02:54,670 --> 00:03:02,890
‫Então o espaço global tem a base no centro do mundo e o personagem foi para a direita.

45
00:03:03,520 --> 00:03:06,970
‫O espaço local, por outro lado, vê as coisas na luz oposta.

46
00:03:06,970 --> 00:03:13,390
‫Diz que o personagem é o centro do mundo e que a base passou para a esquerda.

47
00:03:13,720 --> 00:03:14,710
‫Isso ficou para trás.

48
00:03:14,710 --> 00:03:17,230
‫Você sabe, essa é a diferença entre global e local.

49
00:03:17,230 --> 00:03:19,180
‫Tudo depende do seu ponto de vista.

50
00:03:19,180 --> 00:03:20,320
‫Tudo é relativo.

51
00:03:20,740 --> 00:03:28,090
‫Então é isso que queremos dizer quando falamos em transformar entre o espaço global e o local e em qual deles

52
00:03:28,090 --> 00:03:29,100
‫estamos interessados?

53
00:03:29,380 --> 00:03:34,780
‫Para o nosso ângulo, estamos interessados em um ângulo local em relação a onde o jogador está olhando.

54
00:03:35,110 --> 00:03:38,470
‫Estamos dizendo, você sabe, estamos nos movendo para a direita?

55
00:03:38,860 --> 00:03:42,160
‫É isso que estamos dizendo, aquele local, não globalmente, mas localmente.

56
00:03:42,160 --> 00:03:45,250
‫Estamos nos movendo para a direita localmente para o nosso jogador?

57
00:03:45,280 --> 00:03:50,470
‫Porque se nossos jogadores girassem 180 graus, ele não deveria jogar uma animação para a esquerda só porque

58
00:03:50,470 --> 00:03:51,280
‫ele virou.

59
00:03:52,090 --> 00:03:59,020
‫Portanto, mais uma distinção importante é como fazemos transformações para vetores de diferentes tipos.

60
00:03:59,710 --> 00:04:04,150
‫O primeiro exemplo que quero ver é um vetor de posição.

61
00:04:04,690 --> 00:04:12,820
‫Então um vetor de posição basicamente é um vetor que nos dá a diferença entre a localização atual ou o ponto

62
00:04:13,300 --> 00:04:19,690
‫zero em nosso sistema de coordenadas, que quando estamos focados no personagem, é o próprio personagem, e

63
00:04:19,690 --> 00:04:24,640
‫então nos dá uma seta que aponta para onde algo deveria estar.

64
00:04:24,910 --> 00:04:28,360
‫Então, neste caso, é o vetor de localização da arma.

65
00:04:28,960 --> 00:04:34,120
‫Agora, se transformarmos isso em nosso espaço mundial, é isso que acontece.

66
00:04:34,120 --> 00:04:40,340
‫A seta agora aponta do centro do nosso novo mundo, o espaço global, e aponta para a arma.

67
00:04:41,080 --> 00:04:44,890
‫Então é isso que acontece se você transformar um vetor de posição.

68
00:04:45,430 --> 00:04:49,420
‫Agora, se você fizer um vetor de direção, as coisas parecem um pouco diferentes.

69
00:04:49,420 --> 00:04:56,740
‫Um vetor de direção é aquele que diz, este é o caminho que devo apontar, não necessariamente para

70
00:04:56,740 --> 00:05:05,410
‫onde uma coisa está, e isso se transforma de maneira bem diferente porque agora não estamos interessados em apontar para o mesmo

71
00:05:05,410 --> 00:05:06,160
‫local.

72
00:05:06,430 --> 00:05:09,850
‫Então essa posição não é realmente atualizada.

73
00:05:10,150 --> 00:05:18,430
‫Em vez disso, o vetor é girado e dimensionado ou o que quer que seja, e acabamos ficando um pouco

74
00:05:18,430 --> 00:05:19,090
‫assim.

75
00:05:19,780 --> 00:05:21,730
‫Então esse é realmente o tipo de transferência.

76
00:05:21,800 --> 00:05:27,440
‫Nação que queremos fazer porque estamos lidando com uma velocidade que é um vetor de direção ao invés de uma

77
00:05:27,440 --> 00:05:28,850
‫velocidade de vetor de posição.

78
00:05:29,150 --> 00:05:31,340
‫Não nos diz nada sobre onde devemos estar.

79
00:05:31,350 --> 00:05:36,500
‫Ele nos diz sobre em que direção devemos ir e quão rápido devemos ir nessa direção.

80
00:05:38,600 --> 00:05:45,290
‫Então, com essa teoria fora do caminho, vamos em frente e calcular nossa direção a partir dessa velocidade.

81
00:05:45,290 --> 00:05:51,890
‫Então, sabemos que a velocidade está no espaço global e queremos convertê-la para o espaço local.

82
00:05:52,220 --> 00:05:57,950
‫Agora, isso significa que, de um modo geral, estamos sempre tentando fazer as coisas ao contrário, geralmente porque estamos

83
00:05:57,950 --> 00:06:02,660
‫dizendo, bem, temos a posição, a posição local da arma, é a transformação local.

84
00:06:02,990 --> 00:06:09,980
‫Queremos descobrir o que é no espaço do mundo para que possamos renderizá-lo em relação a todo o resto.

85
00:06:10,490 --> 00:06:12,580
‫Agora, não é isso que estamos tentando fazer aqui.

86
00:06:12,590 --> 00:06:13,820
‫Estamos tentando fazer o contrário.

87
00:06:13,820 --> 00:06:17,270
‫Então, o que realmente queremos é chamado de transformada inversa.

88
00:06:17,270 --> 00:06:19,820
‫A transformação vai do local para o global.

89
00:06:20,180 --> 00:06:22,850
‫A transformação inversa vai de global para local.

90
00:06:23,660 --> 00:06:27,920
‫Então, porque temos essa velocidade global, queremos transformar inversa.

91
00:06:27,920 --> 00:06:32,210
‫Então vamos decolar aqui e procurar a transformada inversa.

92
00:06:32,240 --> 00:06:34,850
‫E você pode ver que temos essas duas opções.

93
00:06:34,850 --> 00:06:36,530
‫Não nos importamos com essas matrizes.

94
00:06:36,830 --> 00:06:39,950
‫Temos as duas opções de direção e localização.

95
00:06:39,950 --> 00:06:44,810
‫E como eu disse, a diferença é que um local moverá essa posição.

96
00:06:45,140 --> 00:06:49,430
‫A direção só vai aplicar a rotação e a escala.

97
00:06:49,700 --> 00:06:50,930
‫Então nós queremos a direção.

98
00:06:51,900 --> 00:06:54,000
‫Precisamos de um transformador para girá-lo.

99
00:06:54,000 --> 00:06:57,820
‫Nós vamos ter que conseguir aquela transformação do peão em si, do personagem.

100
00:06:57,840 --> 00:06:59,700
‫Onde está aquele peão no mundo?

101
00:07:00,240 --> 00:07:04,770
‫Então vamos em frente e pegue o dono do peão e procure a transformação.

102
00:07:06,120 --> 00:07:06,780
‫Propriedade.

103
00:07:06,810 --> 00:07:08,040
‫Obtenha a transformação do ator.

104
00:07:08,040 --> 00:07:08,820
‫Seria esse.

105
00:07:09,360 --> 00:07:13,080
‫Vamos canalizar isso em nossa direção de transformação inversa.

106
00:07:13,570 --> 00:07:16,140
‫E temos um novo vetor a partir disso.

107
00:07:17,820 --> 00:07:22,020
‫Então, o próximo passo seria obter a rotação desse vetor.

108
00:07:22,110 --> 00:07:25,250
‫Então, vamos procurar e procurar rotação.

109
00:07:25,380 --> 00:07:26,760
‫Veja o que podemos encontrar.

110
00:07:27,360 --> 00:07:31,470
‫Temos encontrar rotação de olhar, fazer rotação de eixos para ligar.

111
00:07:31,490 --> 00:07:35,100
‫Agora, vamos dar uma olhada na rotação do vetor X.

112
00:07:36,250 --> 00:07:42,190
‫Se você ler a documentação aqui, ele diz que vai definir o EUR e o pitch desse vetor, mas não definirá

113
00:07:42,460 --> 00:07:45,730
‫a função porque não pode obter essas informações de um vetor.

114
00:07:45,760 --> 00:07:46,420
‫Isso é bom.

115
00:07:46,660 --> 00:07:48,610
‫Não nos importamos com o papel neste caso.

116
00:07:48,640 --> 00:07:53,140
‫Tudo o que nos importa é o usuário, porque queremos ver até onde estamos virando para a direita ou para a esquerda.

117
00:07:53,140 --> 00:07:56,320
‫Então rotação do vetor X, é o que queremos.

118
00:07:56,560 --> 00:08:02,140
‫Ele vai nos retornar um rotador e para nós pegarmos apenas o usuário que roda.

119
00:08:02,140 --> 00:08:09,550
‫Vamos clicar com o botão direito do mouse no pino e clicar no pino de estrutura dividida, que vai em frente e divide essa estrutura

120
00:08:09,550 --> 00:08:10,840
‫nesse pitch de rolagem.

121
00:08:10,840 --> 00:08:12,700
‫E você pode fazer isso em um vetor também.

122
00:08:12,730 --> 00:08:18,160
‫A propósito, acho que você pode clicar com o botão direito e vamos ver, acho que teria que quebrar o link para fazer isso.

123
00:08:18,160 --> 00:08:18,930
‫Então eu não vou te mostrar.

124
00:08:19,450 --> 00:08:23,170
‫Mas basicamente agora temos o seu aqui e é isso que queremos definir.

125
00:08:23,170 --> 00:08:27,820
‫Então, novamente, muitos desafios configuram o usuário para ser o ângulo e testá-lo.

126
00:08:28,950 --> 00:08:36,510
‫Então, novamente, muitos desafios configurados para que você seja uma variável de ângulo que vá para o espaço de mesclagem e teste-a, experimente-a no jogo

127
00:08:36,510 --> 00:08:39,840
‫e veja se você é capaz de correr com sucesso.

128
00:08:41,220 --> 00:08:41,400
‫OK.

129
00:08:41,400 --> 00:08:41,830
‫Bem vindo de volta.

130
00:08:41,850 --> 00:08:45,720
‫Então, vamos arrastar o ângulo de Gana, ângulo de ajuste variável.

131
00:08:46,260 --> 00:08:48,150
‫Indo para definir o ângulo da guinada.

132
00:08:48,150 --> 00:08:53,400
‫E vamos pegar o pino de execução do final da velocidade e uma compilação e salvá-lo.

133
00:08:53,400 --> 00:08:56,580
‫E nós vamos até a caixa de areia e apertamos o play.

134
00:08:58,190 --> 00:09:00,200
‫E agora vamos tentar mover o controle.

135
00:09:00,200 --> 00:09:05,210
‫Isso seria ideal para que você possa testar os diferentes gradientes e nuances.

136
00:09:05,210 --> 00:09:10,220
‫E com certeza você pode ver se eu começar a me mover agora, sou capaz de me mover

137
00:09:10,220 --> 00:09:14,810
‫para trás, posso me mover para frente, correndo e para os lados e 45 graus.

138
00:09:14,810 --> 00:09:20,300
‫Tudo isso funciona com base na matemática que calculamos para calcular nosso ângulo.

139
00:09:21,640 --> 00:09:22,090
‫Coisas boas.

140
00:09:22,090 --> 00:09:28,870
‫Aprendemos muito sobre transformações e vetores e como você pode transformar vetores, tanto inversa

141
00:09:28,870 --> 00:09:30,190
‫quanto direta.

142
00:09:30,610 --> 00:09:36,460
‫E na próxima palestra, veremos como consertar esse pé deslizante que estamos vendo aqui.

143
00:09:36,730 --> 00:09:37,450
‫Eu te vejo lá.

