﻿1
00:00:04,800 --> 00:00:05,880
‫Olá e bem-vindo.

2
00:00:05,880 --> 00:00:11,430
‫Nesta palestra, vamos ficar de olho para patrulhar de um lado para o outro entre as alocações.

3
00:00:11,730 --> 00:00:16,860
‫Então eu vou para o meu local inicial original, depois volto para o local inicial dele, espero um

4
00:00:17,130 --> 00:00:18,570
‫pouco e depois vou novamente.

5
00:00:18,570 --> 00:00:21,390
‫Vamos conseguir isso por meio de nossas árvores de comportamento.

6
00:00:21,630 --> 00:00:23,520
‫Então vamos mergulhar e ver como isso é feito.

7
00:00:24,750 --> 00:00:27,690
‫Então agora não fizemos muito uso de nossa árvore de comportamento.

8
00:00:27,700 --> 00:00:28,800
‫Vamos consertar isso.

9
00:00:28,890 --> 00:00:36,510
‫Vamos criar um comportamento que nos permita ir do local onde começamos até o

10
00:00:36,510 --> 00:00:42,330
‫local do jogador e depois voltar ao local inicial original.

11
00:00:43,020 --> 00:00:46,080
‫Agora, a maneira como vamos fazer isso é usando o seguinte.

12
00:00:46,080 --> 00:00:53,130
‫Portanto, há uma distinção nas árvores de comportamento entre coisas chamadas tarefas e coisas chamadas nós compostos, ou neste

13
00:00:53,130 --> 00:00:56,940
‫caso, o exemplo do nó composto é uma sequência.

14
00:00:57,240 --> 00:01:01,050
‫Então vamos entender as sequências e tarefas como elas soam.

15
00:01:01,500 --> 00:01:03,060
‫Uma tarefa é algo que você faz.

16
00:01:03,420 --> 00:01:08,820
‫Uma sequência é uma sequência de tais tarefas e executará todas as tarefas em ordem.

17
00:01:09,780 --> 00:01:15,660
‫Então, se clicarmos com o botão direito e expandirmos as tarefas aqui, você poderá ver um exemplo do que pode ser usado como uma

18
00:01:15,660 --> 00:01:16,080
‫tarefa.

19
00:01:16,560 --> 00:01:21,600
‫Por exemplo, podemos ter um movimento para o qual os movimentos para um local também são movidos diretamente.

20
00:01:21,600 --> 00:01:23,670
‫Não estou inteiramente certo da distinção que vamos usar.

21
00:01:23,670 --> 00:01:24,150
‫Mova dois.

22
00:01:24,570 --> 00:01:27,630
‫Você pode fazer com que ele reproduza uma animação, como uma animação de nariz arranhado.

23
00:01:27,630 --> 00:01:30,930
‫Você pode fazer com que eles toquem um som como, Ei você, esse tipo de coisa.

24
00:01:30,930 --> 00:01:34,500
‫Você pode fazer com que ele execute outro comportamento animal, se quiser.

25
00:01:35,130 --> 00:01:39,480
‫Há também um peso aqui que é muito útil para adicionar algumas pausas ao seu comportamento.

26
00:01:40,020 --> 00:01:45,870
‫Agora, o que é interessante sobre essas tarefas é que elas podem ser executadas em vários quadros para várias tomadas.

27
00:01:46,200 --> 00:01:53,010
‫Portanto, o movimento dois estará em execução o tempo todo em que você estiver se movendo para um local e só terminará quando

28
00:01:53,340 --> 00:01:54,330
‫você chegar lá.

29
00:01:54,990 --> 00:02:02,370
‫Então, se fizemos um movimento também e tivemos, podemos colocá-lo na sequência aqui apenas arrastando para baixo do nó

30
00:02:02,370 --> 00:02:03,450
‫da sequência.

31
00:02:04,020 --> 00:02:08,610
‫Então o que você vai conseguir é, em primeiro lugar, tentar se mover para o destino.

32
00:02:09,120 --> 00:02:15,940
‫E então podemos adicionar um segundo nó de tarefa que diz para esperar e então podemos adicionar uma terceira tarefa.

33
00:02:15,990 --> 00:02:20,760
‫Sassanid observa que estou retirando da sequência aqui e liberando, o que me permite adicionar uma

34
00:02:20,760 --> 00:02:23,160
‫tarefa rapidamente sob esse nó de sequência.

35
00:02:23,400 --> 00:02:26,520
‫E então eu posso dizer que quero me mudar para outro local e então posso dizer.

36
00:02:26,520 --> 00:02:29,850
‫Eu quero esperar novamente por um certo período de tempo.

37
00:02:29,850 --> 00:02:35,640
‫Agora, isso é o básico para se mover para o jogador, depois voltar para onde começamos.

38
00:02:35,940 --> 00:02:39,960
‫E você pode ver como o nó de sequência está funcionando aqui agora também como um nó de rota.

39
00:02:40,020 --> 00:02:44,250
‫A rota agora pode ter apenas um nó filho, então não tente adicionar mais coisas sob isso.

40
00:02:44,550 --> 00:02:49,740
‫Então, temos um nó de sequência como a rota aqui e isso está basicamente dizendo que

41
00:02:49,740 --> 00:02:55,680
‫vou executar todas essas tarefas em ordem até que uma delas falhe e, quando terminarmos, podemos iniciar o processo

42
00:02:55,680 --> 00:02:56,100
‫novamente.

43
00:02:57,180 --> 00:03:01,980
‫Então, a outra coisa a notar aqui é que se você clicar em qualquer um desses nós, os

44
00:03:01,980 --> 00:03:05,310
‫detalhes aqui nos dão algum impacto sobre como esse nó funciona.

45
00:03:05,820 --> 00:03:13,380
‫Por exemplo, nossa mudança para atualmente leva uma tecla de quadro-negro na seção de quadro-negro de seu painel de detalhes do

46
00:03:13,380 --> 00:03:17,100
‫ator próprio, mas podemos alterá-lo para o local de reprodução.

47
00:03:17,520 --> 00:03:22,350
‫Então, basicamente, isso significa que essa mudança para o Node agora será movida para a localização do nosso jogador.

48
00:03:22,350 --> 00:03:27,420
‫Então vamos esperar 5 segundos por padrão, mas podemos mudar isso novamente para dizer que podemos

49
00:03:27,420 --> 00:03:34,110
‫querer esperar 2 segundos e você pode querer ter um desvio aleatório de 1/2 para que basicamente você esteja esperando em algum

50
00:03:34,110 --> 00:03:36,210
‫lugar entre 1/2 e 3 segundos.

51
00:03:36,710 --> 00:03:41,580
‫Então, queremos mudar para um local diferente, e esse é um local que não temos no momento,

52
00:03:41,580 --> 00:03:43,080
‫que é nosso local inicial.

53
00:03:43,530 --> 00:03:44,730
‫Então você pode ir em frente e adicionar isso.

54
00:03:44,730 --> 00:03:51,540
‫Vamos para o nosso quadro-negro, adicionar uma nova chave, adicionar um vetor e tê-lo como nosso local inicial.

55
00:03:52,230 --> 00:03:56,280
‫E então podemos voltar para a árvore de comportamento e ver essa mudança para o Node.

56
00:03:56,280 --> 00:04:01,980
‫Se você for para os detalhes, o painel agora tem o local de início como uma opção e, em seguida, podemos dizer que queremos

57
00:04:01,980 --> 00:04:06,390
‫esperar 5 segundos e, em seguida, o processo será iniciado novamente porque teremos concluído com êxito nossa nota

58
00:04:06,390 --> 00:04:07,110
‫de sequência.

59
00:04:07,470 --> 00:04:08,340
‫Então é assim que funciona.

60
00:04:08,340 --> 00:04:10,230
‫Você desce para a nota de sequência.

61
00:04:10,530 --> 00:04:13,520
‫O nó de sequência então diz, ok, bem, onde estão minhas formigas?

62
00:04:13,530 --> 00:04:15,330
‫Eu quero começar do começo.

63
00:04:15,690 --> 00:04:19,680
‫E você pode ver que essas numeração aqui estão nos dizendo a ordem de execução.

64
00:04:19,680 --> 00:04:25,800
‫Começamos em zero, que é o nó de sequência um é o movimento para então dois é esperar,

65
00:04:26,010 --> 00:04:30,720
‫três é movido para quatro, etc. Então, passamos por cada tarefa até a conclusão ou falha.

66
00:04:30,720 --> 00:04:33,870
‫Se falharmos, um nó de sequência falhará como um todo.

67
00:04:34,110 --> 00:04:39,960
‫No entanto, nenhum deles provavelmente falhará, então passaremos por tudo e, em seguida, o nó de sequência será

68
00:04:39,960 --> 00:04:42,600
‫concluído e a rota será iniciada novamente.

69
00:04:42,600 --> 00:04:47,640
‫Então, vamos passar em um loop, indo para o local de jogo, esperando, voltando para o

70
00:04:47,640 --> 00:04:49,650
‫local inicial, esperando um pouco mais.

71
00:04:50,100 --> 00:04:53,970
‫Então esse é o poder das árvores de comportamento e você pode começar a aninhá-las mais profundamente.

72
00:04:53,970 --> 00:04:58,320
‫Você pode ter escolhas aqui, você pode ter decoradores, todas as coisas que veremos nas próximas

73
00:04:58,320 --> 00:04:58,770
‫palestras.

74
00:04:59,010 --> 00:05:06,090
‫Mas esta é a base de uma série de instruções que seu ar pode executar e pode levar mais de um quadro

75
00:05:06,090 --> 00:05:07,350
‫para ser concluído.

76
00:05:07,560 --> 00:05:13,140
‫Agora, o que queremos fazer é definir esse local de início como algo significativo.

77
00:05:13,710 --> 00:05:16,620
‫Agora isso deve ser razoavelmente simples.

78
00:05:16,620 --> 00:05:22,500
‫A única coisa que eu provavelmente quero dizer a vocês como fazer é como nos apossamos do -- do qual estamos

79
00:05:22,500 --> 00:05:23,220
‫no controle?

80
00:05:23,550 --> 00:05:24,060
‫Então apenas.

81
00:05:24,110 --> 00:05:31,640
‫Um lembrete de que, se formos para o controlador dot h aqui, podemos dar uma olhada no get --.

82
00:05:32,180 --> 00:05:39,740
‫E o método get -- para controladores de jogador e controladores aéreos nos permite obter o -- que

83
00:05:39,740 --> 00:05:41,180
‫está sendo controlado.

84
00:05:41,180 --> 00:05:49,100
‫Portanto, você pode usar isso para controlar o -- e obter sua localização no início do jogo para

85
00:05:49,100 --> 00:05:51,410
‫definir nosso local de início.

86
00:05:51,800 --> 00:05:53,180
‫Então aqui está o desafio para você.

87
00:05:53,180 --> 00:05:59,030
‫Defina um local de início, obtenha o local de --' como acabamos de falar um pouco, defina a tecla

88
00:05:59,030 --> 00:06:04,040
‫correta do quadro-negro, use a posição do jogador que já usamos como modelo para isso.

89
00:06:04,700 --> 00:06:09,470
‫Monte a árvore de comportamento da maneira que fiz na palestra e teste-a.

90
00:06:09,800 --> 00:06:17,450
‫Veja se esse comportamento obtém o comportamento desejado do jogador ou do inimigo se movendo para o jogador - e depois de

91
00:06:17,450 --> 00:06:19,850
‫volta ao seu local inicial original.

92
00:06:19,850 --> 00:06:21,620
‫Pause o vídeo e vá em frente.

93
00:06:22,970 --> 00:06:23,230
‫OK.

94
00:06:23,240 --> 00:06:23,810
‫Bem vindo de volta.

95
00:06:23,840 --> 00:06:25,250
‫Então espero que tenha dado certo para você.

96
00:06:25,280 --> 00:06:26,870
‫Vamos tentar.

97
00:06:27,170 --> 00:06:30,920
‫Então, vou copiar a linha para a localização do nosso jogador.

98
00:06:31,370 --> 00:06:36,050
‫E em vez de definir o local de jogo para ir ao nosso quadro-negro, dê uma olhada no nosso local de início.

99
00:06:36,410 --> 00:06:39,530
‫Vamos copiar esse valor de chave aqui.

100
00:06:40,190 --> 00:06:45,440
‫E então, em vez de obter a localização real do peão, vamos obter o peão

101
00:06:45,440 --> 00:06:51,770
‫e, em seguida, obter a localização do ator, que chegará ao peão que estamos controlando atualmente e obterá

102
00:06:51,800 --> 00:06:53,300
‫sua localização no mundo.

103
00:06:53,750 --> 00:06:58,310
‫Então podemos ir em frente e voltar ao editor e compilar isso.

104
00:06:58,370 --> 00:07:03,140
‫E uma vez feito isso, aperte o play e dê uma olhada no nosso peão.

105
00:07:03,140 --> 00:07:09,500
‫Ele se aproxima, se move em nossa direção e espera 3 segundos ou 2 segundos ou 1/2, depois volta

106
00:07:09,500 --> 00:07:16,220
‫para seu local inicial original, e depois espera 5 segundos e depois volta para o local original do peão de

107
00:07:16,220 --> 00:07:16,850
‫jogo.

108
00:07:16,850 --> 00:07:19,010
‫Então ele não está atualizando isso a cada quadro, e tudo bem.

109
00:07:19,010 --> 00:07:20,750
‫Foi assim que o projetamos no momento.

110
00:07:21,050 --> 00:07:23,320
‫Mas você pode ver o comportamento acontecendo.

111
00:07:23,330 --> 00:07:25,280
‫Ele está patrulhando para frente e para trás.

112
00:07:25,640 --> 00:07:29,210
‫Então, vamos dar uma olhada em tudo isso em ação.

113
00:07:29,220 --> 00:07:30,470
‫Dê uma olhada em nossa árvore de comportamento.

114
00:07:30,950 --> 00:07:34,910
‫Se formos até nossa árvore de comportamento e selecionarmos o em questão, você poderá ver onde ele está.

115
00:07:34,910 --> 00:07:39,410
‫Ele está se movendo para está esperando tantos segundos que está se movendo para seu local de partida.

116
00:07:39,410 --> 00:07:40,430
‫Ele está esperando novamente.

117
00:07:40,790 --> 00:07:45,860
‫Assim, podemos desencaixar isso e ver essas duas coisas acontecendo ao mesmo tempo.

118
00:07:46,100 --> 00:07:48,980
‫Em nosso jogo, você pode ver que ele está se mudando para aquele local.

119
00:07:48,980 --> 00:07:49,670
‫Ele está esperando.

120
00:07:49,670 --> 00:07:52,850
‫Agora ele está de volta para movê-lo para seu local de início.

121
00:07:52,850 --> 00:07:58,940
‫Portanto, isso é realmente útil para podermos depurar, especialmente quando esses comportamentos ficam um pouco mais

122
00:07:58,940 --> 00:07:59,660
‫complicados.

123
00:07:59,660 --> 00:08:06,260
‫E também dá uma noção de quão irreal é calcular a árvore de comportamento e como esse fluxo de

124
00:08:06,260 --> 00:08:09,260
‫execução está funcionando em nossa árvore de comportamento.

125
00:08:09,740 --> 00:08:10,280
‫Coisas boas.

126
00:08:10,280 --> 00:08:15,170
‫No próximo programa, vamos tornar esses comportamentos ainda mais complicados e

127
00:08:15,170 --> 00:08:21,380
‫adicionar algum elemento de decisão se escolhemos seguir um jogador ou se escolhemos ficar onde estamos.

128
00:08:21,740 --> 00:08:23,110
‫Vejo você nessa palestra.

