﻿1
00:00:04,400 --> 00:00:05,600
‫Olá e bem-vindo.

2
00:00:05,600 --> 00:00:11,420
‫Nesta palestra, vamos desenhar linhas de depuração em nossas cenas para que possamos visualizar o que um traço

3
00:00:11,420 --> 00:00:16,730
‫de linha está fazendo ou o que deveria estar fazendo e descobrir se nossos valores que

4
00:00:16,730 --> 00:00:18,320
‫estamos calculando estão corretos.

5
00:00:18,470 --> 00:00:20,060
‫Vamos mergulhar e dar uma olhada.

6
00:00:21,270 --> 00:00:28,200
‫Então, como podemos ver, nossa função de varredura multi por canal requer um vetor inicial e um vetor final.

7
00:00:28,230 --> 00:00:33,300
‫Agora pode ser um pouco difícil descobrir o que está acontecendo com essas funções quando realmente as

8
00:00:33,300 --> 00:00:33,780
‫usamos.

9
00:00:34,230 --> 00:00:39,840
‫Porque se você começar a usá-lo e não obtiver os resultados esperados, às vezes você pode se perguntar: Bem,

10
00:00:40,650 --> 00:00:43,320
‫eu fiz a pergunta certa em primeiro lugar?

11
00:00:43,320 --> 00:00:46,410
‫Eu enviei os vetores iniciais e finais corretos mesmo?

12
00:00:46,890 --> 00:00:52,470
‫Bem, para descobrir isso, o que vamos fazer é usar outra função aqui chamada draw debugger

13
00:00:52,470 --> 00:00:59,040
‫line para que possamos ver definitivamente onde estão os vetores inicial e final, basicamente desenhando uma linha entre

14
00:00:59,040 --> 00:00:59,700
‫eles.

15
00:00:59,970 --> 00:01:06,750
‫E dado que este é exatamente o tipo de coisa que vai ser feito pela nossa varredura, então esta é uma boa

16
00:01:06,750 --> 00:01:11,370
‫maneira de ver, em primeiro lugar, se temos as entradas certas em primeiro lugar.

17
00:01:11,970 --> 00:01:17,460
‫Então você pode ver aqui que a linha de depuração de desenho requer alguns argumentos, mas nem todos eles

18
00:01:17,460 --> 00:01:18,390
‫são realmente necessários.

19
00:01:19,110 --> 00:01:22,680
‫Apenas os primeiros três, quatro ou cinco.

20
00:01:23,010 --> 00:01:28,190
‫Então temos a primeira coisa que vem é um novo mundo onde sabemos como nos apoderar do mundo.

21
00:01:28,200 --> 00:01:33,660
‫Agora temos o início da linha, que está em um vetor, temos uma linha e novamente que é um vetor, depois uma cor

22
00:01:34,260 --> 00:01:37,980
‫F, que é algo que não encontramos antes, mas você pode clicar em para descobrir o

23
00:01:37,980 --> 00:01:38,640
‫que é.

24
00:01:39,090 --> 00:01:46,350
‫E essencialmente é um tipo como effector que representa cores e existem algumas cores úteis já incorporadas para nós

25
00:01:46,350 --> 00:01:52,200
‫que nos permitem apenas dizer, Ei, queremos nosso preto, queremos azul, verde, o que for.

26
00:01:52,200 --> 00:01:57,450
‫Você pode usar apenas um nome de cor em vez de especificar os valores IGP.

27
00:01:57,750 --> 00:02:04,050
‫E então as últimas aqui são se temos as linhas persistentes, o que nos diz se a linha permanece

28
00:02:04,050 --> 00:02:08,760
‫ou se ela desaparece no final do quadro nos diz o tempo de vida.

29
00:02:08,760 --> 00:02:14,640
‫Então, quantos segundos ele dura para a prioridade de profundidade e a espessura, que nenhum

30
00:02:14,640 --> 00:02:15,960
‫dos dois usaremos?

31
00:02:16,560 --> 00:02:21,780
‫Portanto, a outra informação útil nesta página de documentação é a inclusão.

32
00:02:21,780 --> 00:02:26,550
‫Então você pode ver aqui para usar esta função, precisamos estar usando o arquivo de cabeçalho que

33
00:02:26,550 --> 00:02:29,550
‫a declara, que é o hash include draw debug helpers.

34
00:02:29,850 --> 00:02:34,260
‫Então, vamos em frente e vejamos isso antes de tudo, porque isso garantirá que o preenchimento automático funcione no

35
00:02:34,260 --> 00:02:34,980
‫Visual Studio.

36
00:02:34,980 --> 00:02:39,870
‫Se você não tiver o cabeçalho dos arquivos, o Visual Studio não saberá como concluir automaticamente

37
00:02:39,870 --> 00:02:40,590
‫essas funções.

38
00:02:41,010 --> 00:02:47,850
‫E eu vou descer em um componente de tick e vou me livrar da nossa mensagem de log para o

39
00:02:47,850 --> 00:02:48,930
‫tempo de recuperação.

40
00:02:48,930 --> 00:02:51,300
‫Vamos nos livrar de todo esse tempo, na verdade.

41
00:02:51,300 --> 00:02:52,530
‫E sabe de uma coisa?

42
00:02:52,530 --> 00:02:58,770
‫Nós vamos apenas esvaziar nossa função tick, tudo depois do nosso super dois pontos, componente colon

43
00:02:58,770 --> 00:03:04,860
‫tick que vamos remover e vamos começar com a linha do depurador de desenho.

44
00:03:04,860 --> 00:03:08,880
‫Então desenhe a linha de depuração e abra alguns parênteses.

45
00:03:09,120 --> 00:03:16,650
‫Ele acessa um espaço de controle, então você pode ver os parâmetros que estávamos falando e mais algumas informações que

46
00:03:16,650 --> 00:03:19,890
‫não estavam disponíveis lá, como seus valores padrão.

47
00:03:19,890 --> 00:03:24,150
‫Alguns deles têm valores padrão, principalmente após linhas persistentes.

48
00:03:24,150 --> 00:03:25,500
‫Você pode ver os valores padrão false.

49
00:03:25,500 --> 00:03:31,410
‫Portanto, você não precisa fornecer um argumento se ele tiver um valor padrão, mas poderá ver que a cor

50
00:03:31,410 --> 00:03:33,030
‫não possui um valor padrão.

51
00:03:33,030 --> 00:03:35,820
‫Então, precisamos fornecer tudo até esse ponto.

52
00:03:36,690 --> 00:03:39,120
‫Então, a primeira coisa é o mundo pouco muitos desafios.

53
00:03:39,120 --> 00:03:42,660
‫Como você se apossa e passa no mundo para desenhar a linha de depuração.

54
00:03:44,020 --> 00:03:51,280
‫Você faz um parênteses get world assim, então vamos precisar de um começo e um fim.

55
00:03:51,340 --> 00:03:56,260
‫Então, para isso, vou criar duas variáveis antes de desenhar a linha de depuração e não vou

56
00:03:56,260 --> 00:03:56,890
‫preenchê-las ainda.

57
00:03:56,890 --> 00:04:07,120
‫Então F vetor inicial e F vetor final e esses serão nossos próximos dois parâmetros, início e fim.

58
00:04:07,450 --> 00:04:13,930
‫E então precisamos dar uma cor para fazer a cor que podemos fazer F color, dois pontos,

59
00:04:13,930 --> 00:04:19,090
‫dois pontos, e então podemos usar uma dessas cores predefinidas como vermelho.

60
00:04:19,570 --> 00:04:20,470
‫Isso é sempre bom.

61
00:04:20,470 --> 00:04:21,340
‫Você pode facilmente vê-lo.

62
00:04:21,700 --> 00:04:26,710
‫E então, neste caso, porque estamos fazendo isso em tecnologia e estamos fazendo cada

63
00:04:26,710 --> 00:04:31,930
‫quadro escrevendo esta linha na tela, podemos apenas usar as linhas persistentes iguais a false.

64
00:04:31,930 --> 00:04:38,650
‫Então todo ticket estará redesenhando essa linha de depuração, feche os parênteses e então podemos colocar o ponto e vírgula no

65
00:04:38,920 --> 00:04:40,120
‫final da linha.

66
00:04:40,360 --> 00:04:43,960
‫Então, como serão esses valores iniciais e finais?

67
00:04:44,680 --> 00:04:51,730
‫Bem, no início, será literalmente apenas o local do nosso componente de captura, porque ele será

68
00:04:51,730 --> 00:04:55,750
‫anexado à câmera é um bom local de início.

69
00:04:55,750 --> 00:05:02,920
‫Agora lembre-se de que existe um vetor de avanço para este componente, para a câmera, para a captura, e essa

70
00:05:02,920 --> 00:05:08,380
‫direção de avanço, a direção estará apontando da câmera para dentro da cena, sempre apontando para

71
00:05:08,380 --> 00:05:09,430
‫a frente.

72
00:05:09,880 --> 00:05:18,940
‫Então, o que queremos fazer é pegar nosso vetor inicial, somar o vetor direto multiplicado por algum valor.

73
00:05:18,970 --> 00:05:25,120
‫Basicamente, essa quantidade será a distância máxima que vamos procurar pelo objeto.

74
00:05:25,120 --> 00:05:31,930
‫Então você pode ter um ou dois ou três metros como a quantidade e então vamos acabar com um vetor

75
00:05:31,930 --> 00:05:32,410
‫final.

76
00:05:32,410 --> 00:05:39,340
‫Assim, o vetor inicial mais o vetor de avanço do grabber será igual ao vetor final.

77
00:05:39,610 --> 00:05:45,550
‫Portanto, essa profundidade máxima que queremos ver na cena é algo que podemos querer configurar.

78
00:05:45,550 --> 00:05:49,170
‫Então, vamos colocá-lo como uma nova propriedade no ponto de captura h.

79
00:05:49,510 --> 00:05:55,120
‫Vamos para a loja de captura H e criar uma seção privada, fazer uma

80
00:05:55,120 --> 00:06:02,980
‫propriedade U que vamos editar em qualquer lugar e então teremos o tipo de float para que possa ser qualquer distância

81
00:06:02,980 --> 00:06:03,580
‫numérica.

82
00:06:04,210 --> 00:06:12,340
‫E vamos chamar isso de distância máxima de captura e vamos defini-la para uma distância de quatro metros por

83
00:06:12,340 --> 00:06:12,790
‫padrão.

84
00:06:12,790 --> 00:06:18,250
‫Pode ser que terá que ser 400 porque a unidade padrão é centímetros.

85
00:06:18,520 --> 00:06:22,270
‫Então, eu gostaria de desafiá-lo a calcular esses começos e fins.

86
00:06:22,270 --> 00:06:30,550
‫Use a localização do componente get na primeira instância, use o vetor get forward para calcular e multiplique

87
00:06:30,550 --> 00:06:35,380
‫pela distância máxima de captura que acabamos de configurar lá.

88
00:06:35,650 --> 00:06:41,410
‫Em seguida, compile, reproduza e ejete do seu ator porque esta linha vai direto para a câmera.

89
00:06:41,440 --> 00:06:42,670
‫Você pode não vê-lo inicialmente.

90
00:06:42,850 --> 00:06:43,480
‫Então ejete.

91
00:06:43,570 --> 00:06:49,150
‫Venha e saia do seu próprio corpo e você pode ver a linha pausar, fazer o vídeo e tentar.

92
00:06:52,710 --> 00:06:53,240
‫OK.

93
00:06:53,250 --> 00:06:53,820
‫Bem vindo de volta.

94
00:06:53,850 --> 00:06:58,770
‫Então vamos pegar um copo e começar a escrever o que vamos colocar no começo.

95
00:06:59,460 --> 00:07:05,610
‫Como dissemos, será simplesmente o local do componente get e, em seguida, o início.

96
00:07:05,640 --> 00:07:16,650
‫O final, em vez disso, será o início mais a palavra get full, o vetor multiplicado pela distância máxima de captura, assim, coloque

97
00:07:16,860 --> 00:07:20,820
‫ponto e vírgula no final dessa linha.

98
00:07:21,210 --> 00:07:27,870
‫Vamos em frente e compilar e se compilar com sucesso, vamos em frente e aperte play

99
00:07:27,870 --> 00:07:32,520
‫e então coloque nosso mouse na viewport, aperte F8 para ejetar.

100
00:07:32,940 --> 00:07:36,030
‫E se sairmos de nós mesmos, você pode ver a linha.

101
00:07:36,030 --> 00:07:42,210
‫O dia mais claro vindo de onde nossa câmera estava no chão.

102
00:07:42,210 --> 00:07:47,400
‫E provavelmente se eu sair, podemos até ver que está saindo um pouco do fundo do

103
00:07:47,400 --> 00:07:48,390
‫chão também.

104
00:07:48,660 --> 00:07:49,950
‫São quatro metros para você.

105
00:07:50,250 --> 00:07:52,260
‫Então nós temos um começo, nós temos um fim.

106
00:07:52,500 --> 00:07:59,520
‫E se fôssemos usar esta linha, esta seria excelente para os parâmetros de entrada para nossa varredura

107
00:07:59,520 --> 00:08:02,280
‫de geometria que usaremos mais tarde.

108
00:08:02,520 --> 00:08:03,060
‫Coisas boas.

109
00:08:03,060 --> 00:08:06,480
‫Aprendemos como desenhar linhas de depuração em nossa cena.

110
00:08:06,750 --> 00:08:11,570
‫Esta é uma habilidade muito útil que você usará muito quando não conseguir entender por que algo não está funcionando.

111
00:08:11,580 --> 00:08:12,330
‫Espero que tenha gostado.

112
00:08:12,480 --> 00:08:13,860
‫Vejo você na próxima palestra.

