‫Olá e bem-vindo.
‫Nesta palestra, vamos desenhar linhas de depuração em nossas cenas para que possamos visualizar o que um traço
‫de linha está fazendo ou o que deveria estar fazendo e descobrir se nossos valores que
‫estamos calculando estão corretos.
‫Vamos mergulhar e dar uma olhada.
‫Então, como podemos ver, nossa função de varredura multi por canal requer um vetor inicial e um vetor final.
‫Agora pode ser um pouco difícil descobrir o que está acontecendo com essas funções quando realmente as
‫usamos.
‫Porque se você começar a usá-lo e não obtiver os resultados esperados, às vezes você pode se perguntar: Bem,
‫eu fiz a pergunta certa em primeiro lugar?
‫Eu enviei os vetores iniciais e finais corretos mesmo?
‫Bem, para descobrir isso, o que vamos fazer é usar outra função aqui chamada draw debugger
‫line para que possamos ver definitivamente onde estão os vetores inicial e final, basicamente desenhando uma linha entre
‫eles.
‫E dado que este é exatamente o tipo de coisa que vai ser feito pela nossa varredura, então esta é uma boa
‫maneira de ver, em primeiro lugar, se temos as entradas certas em primeiro lugar.
‫Então você pode ver aqui que a linha de depuração de desenho requer alguns argumentos, mas nem todos eles
‫são realmente necessários.
‫Apenas os primeiros três, quatro ou cinco.
‫Então temos a primeira coisa que vem é um novo mundo onde sabemos como nos apoderar do mundo.
‫Agora temos o início da linha, que está em um vetor, temos uma linha e novamente que é um vetor, depois uma cor
‫F, que é algo que não encontramos antes, mas você pode clicar em para descobrir o
‫que é.
‫E essencialmente é um tipo como effector que representa cores e existem algumas cores úteis já incorporadas para nós
‫que nos permitem apenas dizer, Ei, queremos nosso preto, queremos azul, verde, o que for.
‫Você pode usar apenas um nome de cor em vez de especificar os valores IGP.
‫E então as últimas aqui são se temos as linhas persistentes, o que nos diz se a linha permanece
‫ou se ela desaparece no final do quadro nos diz o tempo de vida.
‫Então, quantos segundos ele dura para a prioridade de profundidade e a espessura, que nenhum
‫dos dois usaremos?
‫Portanto, a outra informação útil nesta página de documentação é a inclusão.
‫Então você pode ver aqui para usar esta função, precisamos estar usando o arquivo de cabeçalho que
‫a declara, que é o hash include draw debug helpers.
‫Então, vamos em frente e vejamos isso antes de tudo, porque isso garantirá que o preenchimento automático funcione no
‫Visual Studio.
‫Se você não tiver o cabeçalho dos arquivos, o Visual Studio não saberá como concluir automaticamente
‫essas funções.
‫E eu vou descer em um componente de tick e vou me livrar da nossa mensagem de log para o
‫tempo de recuperação.
‫Vamos nos livrar de todo esse tempo, na verdade.
‫E sabe de uma coisa?
‫Nós vamos apenas esvaziar nossa função tick, tudo depois do nosso super dois pontos, componente colon
‫tick que vamos remover e vamos começar com a linha do depurador de desenho.
‫Então desenhe a linha de depuração e abra alguns parênteses.
‫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
‫não estavam disponíveis lá, como seus valores padrão.
‫Alguns deles têm valores padrão, principalmente após linhas persistentes.
‫Você pode ver os valores padrão false.
‫Portanto, você não precisa fornecer um argumento se ele tiver um valor padrão, mas poderá ver que a cor
‫não possui um valor padrão.
‫Então, precisamos fornecer tudo até esse ponto.
‫Então, a primeira coisa é o mundo pouco muitos desafios.
‫Como você se apossa e passa no mundo para desenhar a linha de depuração.
‫Você faz um parênteses get world assim, então vamos precisar de um começo e um fim.
‫Então, para isso, vou criar duas variáveis antes de desenhar a linha de depuração e não vou
‫preenchê-las ainda.
‫Então F vetor inicial e F vetor final e esses serão nossos próximos dois parâmetros, início e fim.
‫E então precisamos dar uma cor para fazer a cor que podemos fazer F color, dois pontos,
‫dois pontos, e então podemos usar uma dessas cores predefinidas como vermelho.
‫Isso é sempre bom.
‫Você pode facilmente vê-lo.
‫E então, neste caso, porque estamos fazendo isso em tecnologia e estamos fazendo cada
‫quadro escrevendo esta linha na tela, podemos apenas usar as linhas persistentes iguais a false.
‫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
‫final da linha.
‫Então, como serão esses valores iniciais e finais?
‫Bem, no início, será literalmente apenas o local do nosso componente de captura, porque ele será
‫anexado à câmera é um bom local de início.
‫Agora lembre-se de que existe um vetor de avanço para este componente, para a câmera, para a captura, e essa
‫direção de avanço, a direção estará apontando da câmera para dentro da cena, sempre apontando para
‫a frente.
‫Então, o que queremos fazer é pegar nosso vetor inicial, somar o vetor direto multiplicado por algum valor.
‫Basicamente, essa quantidade será a distância máxima que vamos procurar pelo objeto.
‫Então você pode ter um ou dois ou três metros como a quantidade e então vamos acabar com um vetor
‫final.
‫Assim, o vetor inicial mais o vetor de avanço do grabber será igual ao vetor final.
‫Portanto, essa profundidade máxima que queremos ver na cena é algo que podemos querer configurar.
‫Então, vamos colocá-lo como uma nova propriedade no ponto de captura h.
‫Vamos para a loja de captura H e criar uma seção privada, fazer uma
‫propriedade U que vamos editar em qualquer lugar e então teremos o tipo de float para que possa ser qualquer distância
‫numérica.
‫E vamos chamar isso de distância máxima de captura e vamos defini-la para uma distância de quatro metros por
‫padrão.
‫Pode ser que terá que ser 400 porque a unidade padrão é centímetros.
‫Então, eu gostaria de desafiá-lo a calcular esses começos e fins.
‫Use a localização do componente get na primeira instância, use o vetor get forward para calcular e multiplique
‫pela distância máxima de captura que acabamos de configurar lá.
‫Em seguida, compile, reproduza e ejete do seu ator porque esta linha vai direto para a câmera.
‫Você pode não vê-lo inicialmente.
‫Então ejete.
‫Venha e saia do seu próprio corpo e você pode ver a linha pausar, fazer o vídeo e tentar.
‫OK.
‫Bem vindo de volta.
‫Então vamos pegar um copo e começar a escrever o que vamos colocar no começo.
‫Como dissemos, será simplesmente o local do componente get e, em seguida, o início.
‫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
‫ponto e vírgula no final dessa linha.
‫Vamos em frente e compilar e se compilar com sucesso, vamos em frente e aperte play
‫e então coloque nosso mouse na viewport, aperte F8 para ejetar.
‫E se sairmos de nós mesmos, você pode ver a linha.
‫O dia mais claro vindo de onde nossa câmera estava no chão.
‫E provavelmente se eu sair, podemos até ver que está saindo um pouco do fundo do
‫chão também.
‫São quatro metros para você.
‫Então nós temos um começo, nós temos um fim.
‫E se fôssemos usar esta linha, esta seria excelente para os parâmetros de entrada para nossa varredura
‫de geometria que usaremos mais tarde.
‫Coisas boas.
‫Aprendemos como desenhar linhas de depuração em nossa cena.
‫Esta é uma habilidade muito útil que você usará muito quando não conseguir entender por que algo não está funcionando.
‫Espero que tenha gostado.
‫Vejo você na próxima palestra.