﻿1
00:00:04,320 --> 00:00:05,160
‫Olá e bem-vindo.

2
00:00:05,160 --> 00:00:10,110
‫Nesta palestra, vamos obter uma linha de visão para o nosso jogador do inimigo

3
00:00:10,110 --> 00:00:17,040
‫para que possamos, como jogador, nos esconder atrás de obstáculos e não ter que os seguidores inimigos não o tenham.

4
00:00:17,040 --> 00:00:22,530
‫Continue mirando em nós até sairmos e ficarmos visíveis para eles.

5
00:00:22,530 --> 00:00:25,680
‫Então você pode ver aqui que eu me escondi atrás de uma esquina e ele não pode me encontrar.

6
00:00:25,920 --> 00:00:29,130
‫Vamos mergulhar e ver como isso pode ser feito usando ferramentas irreais.

7
00:00:30,500 --> 00:00:36,890
‫Portanto, não é ideal que esse inimigo que eu possa seguir atualmente como cantos arredondados, não importa o quão longe vamos, não importa o

8
00:00:37,400 --> 00:00:40,640
‫quanto nos escondamos atrás de pilares, ele ainda vai nos encontrar.

9
00:00:40,640 --> 00:00:43,220
‫Ele ainda vai vir e continuar apontando para nós.

10
00:00:43,490 --> 00:00:47,930
‫Queremos corrigir isso, e vamos fazer isso verificando a linha de visão do inimigo para

11
00:00:47,930 --> 00:00:48,590
‫o jogador.

12
00:00:48,650 --> 00:00:54,740
‫Agora, como muitas coisas aqui no Unreal, já existe uma função para isso no ponto do controlador

13
00:00:55,130 --> 00:00:57,020
‫aliado chamado linha de visão.

14
00:00:57,350 --> 00:01:01,220
‫E se você pesquisar isso, descobrirá que há uma função que retorna um booleano.

15
00:01:01,550 --> 00:01:06,350
‫Então, nos dizendo se temos ou não linha de visão e, em seguida, leva o

16
00:01:06,350 --> 00:01:12,740
‫ator para o qual devemos tentar verificar a linha de visão, e automaticamente leva em consideração coisas como a posição do

17
00:01:12,740 --> 00:01:14,570
‫olho do peão em questão.

18
00:01:14,990 --> 00:01:20,240
‫Tudo isso já está codificado no Unreal é muito legal, então deve ser bem direto.

19
00:01:20,240 --> 00:01:27,170
‫Se formos para o nosso controlador aéreo dot CP, o que basicamente queremos fazer é mudar as coisas

20
00:01:27,950 --> 00:01:32,300
‫na tecnologia para que primeiro façamos uma linha de visão if.

21
00:01:33,390 --> 00:01:42,720
‫Então o que queremos fazer se tivermos linha de visão, é que queremos avançar e queremos definir o foco.

22
00:01:43,410 --> 00:01:48,930
‫No entanto, se não o fizermos no outro, o que queremos fazer é um foco claro.

23
00:01:48,930 --> 00:01:57,390
‫Lembre-se, vimos essa função antes e queremos fazer o movimento de parada, basicamente.

24
00:01:58,650 --> 00:02:01,200
‫E essa é outra função que existe que ainda não vimos.

25
00:02:01,740 --> 00:02:08,160
‫Então, o que vou fazer aqui é que posso desafiá-lo a implementar tudo isso sozinho, se você se sentir

26
00:02:08,160 --> 00:02:08,730
‫confiante.

27
00:02:09,210 --> 00:02:14,940
‫Caso contrário, essa outra parte é a parte mais complexa que não vimos antes, porque as outras duas, já fizemos uma mudança

28
00:02:14,940 --> 00:02:18,450
‫para o ator, já fizemos nosso foco definido, já fizemos isso antes.

29
00:02:18,450 --> 00:02:23,700
‫E há apenas isso, se a linha de visão, que acabamos de ver, for bem direta, você pode implementar

30
00:02:23,700 --> 00:02:24,270
‫isso.

31
00:02:24,510 --> 00:02:25,590
‫Mas e quanto a este outro?

32
00:02:25,590 --> 00:02:29,010
‫Vamos tentar implementar a cláusula just the else.

33
00:02:29,010 --> 00:02:34,770
‫Ele não vai compilar porque você obviamente precisa de um F antes e else, mas vamos escrever a

34
00:02:34,770 --> 00:02:35,580
‫cláusula else.

35
00:02:36,270 --> 00:02:42,030
‫Então, a primeira coisa a limpar o foco, basicamente, estamos dizendo para parar de tentar rastrear o jogador porque você

36
00:02:42,030 --> 00:02:43,040
‫não pode vê-lo.

37
00:02:43,060 --> 00:02:47,550
‫Você não deve dar a impressão de que sabe onde o jogador está, mesmo que o olho obviamente

38
00:02:47,550 --> 00:02:50,820
‫possa, porque ele pode acessar a localização do jogador e assim por diante.

39
00:02:51,090 --> 00:02:55,950
‫Mas precisamos dar a ilusão de que o único sabe tanto quanto pode ver.

40
00:02:56,490 --> 00:02:59,520
‫Então o que vamos fazer é chamar para limpar o foco.

41
00:02:59,520 --> 00:03:05,460
‫E se formos para o H e dermos uma olhada no foco claro, você pode ver que ele tem

42
00:03:05,460 --> 00:03:07,350
‫a prioridade que precisamos limpar.

43
00:03:07,350 --> 00:03:13,440
‫Agora, um lembrete de que essas prioridades são basicamente diferentes níveis de foco.

44
00:03:13,710 --> 00:03:20,580
‫Portanto, normalmente temos movimentos padrão e jogabilidade de jogo sendo a coisa de maior prioridade.

45
00:03:20,910 --> 00:03:24,240
‫E o que definimos por padrão é a prioridade de jogabilidade.

46
00:03:24,240 --> 00:03:29,520
‫Então, o que queremos fazer é limpar a prioridade do jogo, o que significa que se

47
00:03:29,520 --> 00:03:37,020
‫tivermos focado com base no movimento, por exemplo, se nosso olho quiser voltar ao seu ponto de Deus, esse foco não será limpo

48
00:03:37,020 --> 00:03:40,830
‫e será fora movendo-se de volta ao seu ponto de orientação.

49
00:03:41,490 --> 00:03:43,410
‫Então é assim que o foco funciona.

50
00:03:43,410 --> 00:03:45,600
‫É assim que o sistema de prioridade funciona lá.

51
00:03:45,600 --> 00:03:49,560
‫Então, o que queremos fazer é copiar esta é uma prioridade focada.

52
00:03:49,650 --> 00:03:51,180
‫Quanto tempo, quanto tempo de jogo.

53
00:03:51,600 --> 00:03:55,200
‫E essa é a prioridade que queremos esclarecer nesta linha aqui.

54
00:03:55,590 --> 00:03:57,960
‫E então a outra coisa é parar o movimento.

55
00:03:57,960 --> 00:04:02,850
‫Então, queremos ir até a linha, controlar a direita novamente e dar uma olhada no movimento de parada.

56
00:04:03,270 --> 00:04:09,450
‫E aqui, com certeza, há uma função simples sem argumentos chamada movimento de parada, que nos

57
00:04:09,450 --> 00:04:11,430
‫permite fazer exatamente isso.

58
00:04:12,000 --> 00:04:12,540
‫Então lá vai.

59
00:04:12,840 --> 00:04:15,780
‫Essa é basicamente a instrução else escrita.

60
00:04:16,080 --> 00:04:23,070
‫Então agora apenas lembra que continua sendo um desafio para você implementar a parte if com a linha de visão if e mover

61
00:04:23,070 --> 00:04:24,960
‫para e definir o foco.

62
00:04:25,290 --> 00:04:27,720
‫E você basicamente quer remover este código aqui.

63
00:04:27,720 --> 00:04:32,940
‫Eu só vou comentar e decidir onde você quer que isso seja.

64
00:04:32,940 --> 00:04:33,810
‫Então pause o vídeo.

65
00:04:33,810 --> 00:04:34,890
‫Sem desafio, deslize aqui.

66
00:04:35,250 --> 00:04:37,920
‫Basta ir e implementar essas três linhas para si mesmo.

67
00:04:39,120 --> 00:04:39,660
‫OK.

68
00:04:39,660 --> 00:04:40,200
‫Bem vindo de volta.

69
00:04:40,230 --> 00:04:48,240
‫Então vamos começar com a nossa linha de visão dois se sim se abrir colchetes.

70
00:04:48,720 --> 00:04:54,330
‫E então queremos fazer uma linha de visão para o ator, que é o peão do jogador ao qual queremos ter acesso.

71
00:04:54,330 --> 00:05:00,840
‫Então, vamos apenas descomentar essa jogada de peão aqui e isso atrapalha um pouco o recuo.

72
00:05:00,840 --> 00:05:01,860
‫Vamos consertar isso.

73
00:05:02,550 --> 00:05:10,830
‫E então queremos que nossos colchetes sejam colchetes aqui e queremos fazer uma mudança para o ator quando, na verdade, podemos apenas copiar

74
00:05:10,830 --> 00:05:14,190
‫e descomentar e passar para o ator aqui.

75
00:05:15,260 --> 00:05:18,370
‫E queremos descomentar.

76
00:05:18,380 --> 00:05:19,040
‫Sim, vamos lá.

77
00:05:19,040 --> 00:05:20,550
‫E o foco.

78
00:05:20,570 --> 00:05:22,280
‫Podemos mover isso também.

79
00:05:22,580 --> 00:05:26,060
‫Agora, o foco, não importa se você faz isso antes ou depois.

80
00:05:26,060 --> 00:05:33,080
‫Mover para o ator, porque enquanto mover para o ator define um foco, ele diz que é uma prioridade mais baixa, o foco do movimento em

81
00:05:33,080 --> 00:05:34,580
‫vez do foco da jogabilidade.

82
00:05:34,580 --> 00:05:38,660
‫Portanto, não importa em qual ordem fazemos essas duas operações.

83
00:05:39,110 --> 00:05:44,360
‫E então, finalmente, podemos remover este esboço de comentário em que estávamos colocando um peão no início do jogo porque

84
00:05:44,360 --> 00:05:49,240
‫não precisamos mais dele e tudo está em tecnologia agora para que possamos remover o início do jogo.

85
00:05:49,250 --> 00:05:53,780
‫Vou deixá-lo por perto caso precisemos dele mais tarde, apenas para me poupar o incômodo de adicioná-lo

86
00:05:53,780 --> 00:05:54,080
‫novamente.

87
00:05:54,170 --> 00:05:58,190
‫Vamos para o Unreal e compilar e quando terminar, vamos jogar.

88
00:05:58,200 --> 00:06:00,640
‫Então vamos ver se podemos nos esconder desse ato.

89
00:06:00,650 --> 00:06:04,100
‫Vou tentar me mover pelas curvas razoavelmente rápido.

90
00:06:04,700 --> 00:06:08,780
‫Isso é um pouco complicado porque eles podem se mover tão rápido quanto você, mas se você

91
00:06:08,780 --> 00:06:11,540
‫virar uma esquina assim, eles vão, Ele me perdeu de vista.

92
00:06:11,540 --> 00:06:13,070
‫Ele parou de tentar me perseguir.

93
00:06:13,430 --> 00:06:16,460
‫Eu posso apenas espiar ao virar da esquina e ver isso enquanto estou me movendo.

94
00:06:16,460 --> 00:06:19,850
‫Ele não está mudando sua mira porque limpamos o foco.

95
00:06:20,240 --> 00:06:22,070
‫Pode espiar ao virar da esquina do outro lado.

96
00:06:22,550 --> 00:06:24,050
‫Vamos ver em volta.

97
00:06:24,050 --> 00:06:25,010
‫Aqui vão eles.

98
00:06:25,010 --> 00:06:27,560
‫Você pode ver que ele ainda está mirando no último local onde eu estava.

99
00:06:27,860 --> 00:06:33,980
‫Mas se eu aparecer, ele continua mirando e se move dentro do raio de aceitação.

100
00:06:34,460 --> 00:06:38,870
‫Falando nisso, quero que esse raio de aceitação seja configurável pelo designer.

101
00:06:38,870 --> 00:06:40,850
‫Então, vamos movê-lo para uma nova propriedade.

102
00:06:41,270 --> 00:06:45,110
‫Vou criar uma seção privada aqui com uma nova propriedade.

103
00:06:46,320 --> 00:06:48,060
‫Que vai ser uma edição em qualquer lugar.

104
00:06:48,870 --> 00:06:58,530
‫E queremos que seja um float chamado raio de aceitação e dê a ele o valor padrão de duas centenas.

105
00:06:59,190 --> 00:07:04,410
‫E então esse raio de aceitação podemos seguir em frente e usar em nossa mudança para ator.

106
00:07:04,650 --> 00:07:08,820
‫E se você compilar, isso lhe dará exatamente o mesmo comportamento, exceto que agora

107
00:07:08,820 --> 00:07:11,640
‫você pode alterar isso no projeto do controlador aéreo.

108
00:07:12,090 --> 00:07:13,260
‫Então é isso para esta palestra.

109
00:07:13,260 --> 00:07:18,810
‫Descobrimos essa função de linha de visão, que nos permite verificar se o ar pode ou não

110
00:07:18,810 --> 00:07:19,530
‫ver algo.

111
00:07:19,800 --> 00:07:25,920
‫E implementamos essa funcionalidade básica de ocultação para que o ar não nos siga quando não puder nos ver.

112
00:07:26,340 --> 00:07:26,790
‫Próxima palestra.

113
00:07:26,790 --> 00:07:33,030
‫Vamos elevar um pouco as coisas deste programa personalizado e usar o comportamento.

114
00:07:33,030 --> 00:07:38,790
‫Tree é uma ferramenta realmente poderosa no Unreal para deixar nosso ar muito mais frio.

