﻿1
00:00:04,390 --> 00:00:05,560
‫Olá e bem-vindo.

2
00:00:05,560 --> 00:00:11,230
‫Nesta palestra, vamos fazer plataformas rotativas e móveis.

3
00:00:11,230 --> 00:00:17,560
‫Vamos fazer isso aprendendo sobre o tipo de rotador F em C++ para que possamos adicionar um

4
00:00:17,560 --> 00:00:20,950
‫pouco mais de outro elemento ao nosso quebra-cabeça.

5
00:00:20,950 --> 00:00:23,950
‫Vamos mergulhar e descobrir como isso funciona.

6
00:00:24,280 --> 00:00:28,300
‫Então, vamos falar sobre o preenchimento da nossa função de plataforma de rotação.

7
00:00:28,510 --> 00:00:34,930
‫Então, para fazer a rotação, é muito semelhante à maneira como fazemos a localização e temos funções muito

8
00:00:34,930 --> 00:00:35,350
‫semelhantes.

9
00:00:35,350 --> 00:00:43,240
‫Podemos chamar em vez de chamar, obter a localização do ator, podemos chamar, obter a rotação do ator.

10
00:00:43,240 --> 00:00:49,270
‫E se eu colocar parênteses no final desta linha e apenas passar o mouse sobre a

11
00:00:49,270 --> 00:00:55,630
‫função, o Visual Studio IntelliSense nos mostrará que o valor de retorno disso é um rotador F.

12
00:00:55,630 --> 00:01:02,110
‫Usamos o vetor F ao trabalhar com locais e falamos sobre rotadores nas seções

13
00:01:02,110 --> 00:01:02,830
‫anteriores.

14
00:01:02,830 --> 00:01:07,090
‫Então vamos dar uma olhada em colocar este rotador F em uma variável local.

15
00:01:07,090 --> 00:01:14,920
‫Então o tipo vai ser F rotator e vamos chamar isso de rotação atual igual à rotação do ator get, coloque um

16
00:01:14,920 --> 00:01:17,680
‫ponto e vírgula no final da linha.

17
00:01:17,680 --> 00:01:20,260
‫Também vou excluir a instrução de log porque não precisamos mais dela.

18
00:01:20,260 --> 00:01:25,450
‫E então o que queremos fazer é essencialmente exatamente o mesmo que fizemos com

19
00:01:25,450 --> 00:01:31,810
‫a velocidade da plataforma, que é um tipo de velocidade rotacional multiplicada pelo tempo delta adicionado à rotação atual.

20
00:01:31,810 --> 00:01:35,470
‫Então, qual deve ser essa velocidade de rotação?

21
00:01:35,470 --> 00:01:39,520
‫Bem, é aí que queremos ir para o arquivo de cabeçalho e adicionar uma nova propriedade U.

22
00:01:39,520 --> 00:01:48,760
‫Então, vou adicioná-lo abaixo da distância de movimento e vou ter uma propriedade U editada em qualquer lugar e, em seguida, dar-lhe uma

23
00:01:49,300 --> 00:01:55,900
‫categoria igual a este tempo, vou chamá-lo de rotação e vou alterar o nome da categoria

24
00:01:55,900 --> 00:02:00,100
‫da plataforma móvel para a mudança em ambas as instâncias.

25
00:02:00,100 --> 00:02:03,850
‫Então vamos ter uma categoria para movimentação, uma categoria para rotação.

26
00:02:03,850 --> 00:02:11,800
‫Então, abaixo da propriedade, vamos colocar um rotador F chamado velocidade de rotação e não vamos dar a ele um valor

27
00:02:11,800 --> 00:02:16,780
‫padrão aqui porque, por padrão, não quero que nenhuma de nossas plataformas gire.

28
00:02:16,780 --> 00:02:21,190
‫Portanto, o valor padrão será 000, e é exatamente o que precisamos.

29
00:02:21,280 --> 00:02:26,470
‫Então, vou colocar um ponto e vírgula no final da linha aqui e agora podemos voltar ao

30
00:02:26,470 --> 00:02:31,330
‫arquivo C++ e usar essa variável de membro em nossa função de plataforma de rotação.

31
00:02:31,330 --> 00:02:42,610
‫Então, o que queremos fazer é a rotação atual igual à rotação atual mais a velocidade de rotação multiplicada pelo tempo Delta e colocar

32
00:02:42,610 --> 00:02:46,750
‫um ponto e vírgula no final da linha.

33
00:02:46,900 --> 00:02:52,660
‫E agora a peça final do quebra-cabeça é definir nosso ator para essa nova rotação.

34
00:02:52,660 --> 00:02:58,300
‫Então, exatamente como você esperaria, talvez um pequeno mini desafio para você, na verdade, é como

35
00:02:58,300 --> 00:03:00,130
‫você faria isso sozinho?

36
00:03:01,970 --> 00:03:10,430
‫Bem, o que usaríamos é a função set ator de rotação e passaríamos um argumento de rotação atual assim

37
00:03:10,430 --> 00:03:14,930
‫e colocaríamos um ponto e vírgula no final da linha.

38
00:03:14,960 --> 00:03:19,160
‫Agora, infelizmente, não funciona tão simplesmente assim.

39
00:03:19,310 --> 00:03:22,190
‫Chegou ao meu conhecimento, alguns alunos apontaram no assistente de ensino.

40
00:03:22,190 --> 00:03:27,920
‫Dan, muito obrigado, apontou que apenas adicionar rotações assim nem sempre funcionará por causa de algumas

41
00:03:27,920 --> 00:03:32,710
‫das complicações em torno das rotações que se enrolam em si mesmas.

42
00:03:32,720 --> 00:03:38,870
‫Se você for até -90 graus de rotação, em algum momento você precisará virar para mais 90 graus

43
00:03:38,870 --> 00:03:41,070
‫de rotação e assim por diante.

44
00:03:41,090 --> 00:03:49,580
‫Portanto, uma maneira melhor de contornar isso, em vez de definir a rotação ativa, é chamar a rotação local do

45
00:03:49,580 --> 00:03:50,540
‫ator adicionar.

46
00:03:50,540 --> 00:03:57,110
‫E você pode notar aqui que existem algumas transformações locais de atores adicionados também e deslocamento local que é

47
00:03:57,110 --> 00:03:57,830
‫para localização.

48
00:03:57,830 --> 00:04:00,920
‫Então você pode usar isso também em vez de adicionar localização.

49
00:04:00,920 --> 00:04:05,840
‫No entanto, não há o mesmo tipo de problemas que encontraremos nos casos extremos em torno da

50
00:04:05,840 --> 00:04:06,380
‫rotação.

51
00:04:06,380 --> 00:04:12,800
‫Então, o que eu recomendo que você faça é adicionar a rotação local do ator aqui e, em

52
00:04:12,800 --> 00:04:19,670
‫seguida, basta colocar a velocidade de rotação multiplicada pelo tempo Delta e ele faz o restante desse código automaticamente para você.

53
00:04:19,670 --> 00:04:22,100
‫Então, podemos ir em frente e nos livrar dessas linhas.

54
00:04:22,100 --> 00:04:27,560
‫E você tem uma adição direta à rotação local acontecendo aqui, e você também pode se

55
00:04:27,560 --> 00:04:31,670
‫livrar disso obtendo a rotação atual porque não precisamos mais disso.

56
00:04:31,850 --> 00:04:35,450
‫Então vamos para o editor e aperte o botão compilar.

57
00:04:35,450 --> 00:04:37,520
‫E quando isso for feito, feche o log.

58
00:04:37,640 --> 00:04:42,530
‫Vamos selecionar uma das plataformas no nível que qualquer uma delas fará e dar uma olhada nas categorias.

59
00:04:42,530 --> 00:04:46,970
‫Então temos nos movendo e temos rotação e temos a velocidade de rotação então.

60
00:04:46,970 --> 00:04:54,890
‫Então, eu quero girar esta plataforma em torno de seu eixo Z provavelmente, digamos, cerca de 90 graus por segundo.

61
00:04:54,890 --> 00:04:57,920
‫Portanto, leva 4 segundos para fazer uma rotação completa.

62
00:04:57,950 --> 00:04:59,990
‫Vamos em frente e aperte o play.

63
00:04:59,990 --> 00:05:00,620
‫E aí vai.

64
00:05:00,620 --> 00:05:03,590
‫Temos uma plataforma giratória e móvel.

65
00:05:03,590 --> 00:05:11,270
‫Assim, ao contrário do mecanismo da plataforma móvel, não precisamos nos preocupar com a nossa plataforma giratória realmente indo para

66
00:05:11,270 --> 00:05:13,040
‫trás e para frente.

67
00:05:13,040 --> 00:05:16,310
‫Se você quiser fazer isso, essa é uma extensão possível que você poderia pensar.

68
00:05:16,310 --> 00:05:22,400
‫Mas para mim isso é suficiente, porque queremos que essas coisas continuem girando e girando na

69
00:05:22,400 --> 00:05:23,420
‫mesma direção.

70
00:05:23,630 --> 00:05:29,270
‫Então deixe-me remover a rotação dessa plataforma em particular porque não queremos que essa

71
00:05:29,270 --> 00:05:30,200
‫plataforma gire.

72
00:05:30,200 --> 00:05:37,640
‫Então eu gostaria de desafiá-lo a fazer uma plataforma giratória de bip, basicamente mais uma variante para usarmos

73
00:05:37,640 --> 00:05:40,220
‫e encontrarmos uma malha apropriada.

74
00:05:40,220 --> 00:05:45,980
‫Eu iria com algo que é vagamente circular para que faça sentido como uma plataforma giratória e

75
00:05:45,980 --> 00:05:52,640
‫daria a ela uma velocidade de rotação padrão e a colocaria no nível para criar um quebra-cabeça de plataforma

76
00:05:52,640 --> 00:05:54,380
‫giratória para você atravessar.

77
00:05:54,380 --> 00:05:56,300
‫Pause o vídeo e vá em frente.

78
00:05:59,400 --> 00:05:59,700
‫OK.

79
00:05:59,700 --> 00:06:00,660
‫Bem vindo de volta.

80
00:06:00,690 --> 00:06:08,610
‫Então, vamos avançar em nossa gaveta de conteúdo e procurar as classes C++, Obstacle Assault e clicar com o botão direito

81
00:06:08,610 --> 00:06:14,270
‫do mouse na plataforma móvel para criar um dispositivo de classe blueprint derivado disso.

82
00:06:14,280 --> 00:06:21,060
‫Vamos chamá-la de plataforma rotativa de sublinhado da BP e vamos colocá-la na rota de

83
00:06:21,060 --> 00:06:23,430
‫conteúdo e criar classe blueprint.

84
00:06:23,430 --> 00:06:27,180
‫Assim que o editor aparecer, vamos encaixá-lo em nossa janela principal.

85
00:06:27,180 --> 00:06:33,180
‫Vou fechar meu navegador de conteúdo que parece querer aparecer toda vez, e vou para o

86
00:06:33,180 --> 00:06:39,390
‫nosso nível principal e vou para a ilha com todos os nossos recursos de teste no botão direito.

87
00:06:40,260 --> 00:06:44,490
‫Vá aqui e vamos ver se há algo que parece bom.

88
00:06:44,490 --> 00:06:48,600
‫Eu gosto da aparência dessas plataformas aqui.

89
00:06:48,600 --> 00:06:55,710
‫Se eu clicar nele com o botão direito ou se eu simplesmente clicar nele, então a malha que está sendo usada aqui na

90
00:06:55,740 --> 00:06:59,760
‫malha estática é a plataforma SM A. Então vamos procurar por essa.

91
00:06:59,760 --> 00:07:07,620
‫Vamos para nossos projetos, abrir o conteúdo, desenhar, ir para todos e então procurar por plataforma

92
00:07:07,620 --> 00:07:14,710
‫sublinhado M, sublinhado A e então temos a malha, que é esta aqui.

93
00:07:15,270 --> 00:07:16,890
‫A segunda para mim.

94
00:07:16,980 --> 00:07:21,480
‫Vou arrastá-lo para nossa janela de visualização para ter nossa plataforma.

95
00:07:21,480 --> 00:07:24,090
‫Agora vamos ver onde isso está centralizado.

96
00:07:24,090 --> 00:07:25,860
‫Ela é centralizada no meio?

97
00:07:25,860 --> 00:07:30,840
‫Sim, é, o que é bom e importante porque precisamos que gire no meio.

98
00:07:30,840 --> 00:07:34,560
‫Caso contrário, esta plataforma circular vai parecer um pouco estranha.

99
00:07:34,770 --> 00:07:43,680
‫Também podemos escalá-lo um pouco nas dimensões x e Y para tornar esta plataforma um pouco maior e podemos ir para os padrões da classe

100
00:07:43,680 --> 00:07:51,180
‫para remover qualquer velocidade da plataforma porque não queremos que ela se mova e defina a distância de movimento para zero

101
00:07:51,360 --> 00:07:57,480
‫potencialmente e, em seguida, olhar para a seção de rotação e definir isso para cerca de bem,

102
00:07:57,480 --> 00:08:01,440
‫tentamos 90 graus por segundo e isso parecia bastante razoável.

103
00:08:01,440 --> 00:08:04,050
‫Então vamos em frente e salvar esta plataforma rotativa.

104
00:08:04,170 --> 00:08:12,270
‫Nós iremos para o nosso nível principal e então clique com o botão direito na pequena ilha flutuante onde temos nosso nível, configure

105
00:08:12,270 --> 00:08:14,360
‫nosso quebra-cabeça, clique, vá aqui.

106
00:08:14,880 --> 00:08:21,930
‫Então, no topo desta ilha, quero colocar nosso novo projeto.

107
00:08:21,930 --> 00:08:28,050
‫Então vamos cancelar a busca, ir até a raiz do conteúdo e encontrar nossa plataforma rotativa e colocá-la no

108
00:08:28,050 --> 00:08:28,410
‫nível.

109
00:08:28,410 --> 00:08:31,050
‫E instantaneamente estou vendo que realmente quero que seja um pouco maior.

110
00:08:31,200 --> 00:08:33,630
‫Então vamos em frente e escalá-lo.

111
00:08:33,630 --> 00:08:37,500
‫Mais algumas unidades, talvez três vezes, deve ser bom.

112
00:08:37,500 --> 00:08:38,850
‫Vamos dar uma olhada.

113
00:08:38,850 --> 00:08:44,940
‫Agora, acho que poderia ser ainda maior, então vou aumentar um pouco mais para que essencialmente no X e

114
00:08:44,940 --> 00:08:48,630
‫no Y seja cinco vezes maior do que era originalmente.

115
00:08:48,660 --> 00:08:54,330
‫Ok, esse é um bom disco giratório amplo e pode ser bastante desafiador para nós atravessarmos.

116
00:08:54,330 --> 00:09:02,190
‫Então, vou duplicar isso usando alt e arrastar para fazer alguns deles na plataforma

117
00:09:02,190 --> 00:09:07,860
‫e tentar posicioná-los adequadamente e, em seguida, arrastar mais alguns.

118
00:09:08,550 --> 00:09:14,320
‫Para que tenhamos um pequeno conjunto de quebra-cabeças aqui para tentarmos resolver.

119
00:09:14,340 --> 00:09:18,570
‫Então, apenas mexi um pouco até que eu conseguisse colocá-los praticamente de ponta a ponta.

120
00:09:18,570 --> 00:09:24,540
‫E é aqui que poder ter um modo de jogo realmente ajuda, porque podemos clicar com o botão direito

121
00:09:24,540 --> 00:09:30,450
‫perto das plataformas e o clique jogar daqui, e aqui estão todas as nossas plataformas rotativas para pisarmos.

122
00:09:30,450 --> 00:09:37,620
‫E é um pouco desafiador agora para nós encontrarmos nosso caminho através dessas plataformas móveis de maneira fácil e agradável.

123
00:09:37,620 --> 00:09:41,370
‫Agora há essa zona morta no meio que poderíamos tentar apagar,

124
00:09:41,370 --> 00:09:47,190
‫mas na verdade é muito difícil chegar e permanecer na zona morta, então não vou tentar colocar nada lá

125
00:09:47,190 --> 00:09:48,930
‫especificamente para tentar impedir isso.

126
00:09:49,350 --> 00:09:50,280
‫Mas você pode ver lá você vai.

127
00:09:50,280 --> 00:09:55,080
‫É um desafio factível que podemos superar, mas é um pouco complicado e isso é divertido.

128
00:09:55,080 --> 00:09:55,590
‫Coisas boas.

129
00:09:55,590 --> 00:10:01,270
‫Então, nesta palestra, vimos como fazer plataformas rotativas aprendendo sobre um novo tipo, o rotador

130
00:10:01,290 --> 00:10:05,940
‫F e como podemos usá-lo para definir a rotação de nossos atores.

131
00:10:05,940 --> 00:10:07,530
‫Vejo você na próxima palestra.

