‫Hola y bienvenido.
‫En esta lección, vamos a configurar un trazado de líneas para que podamos disparar a las paredes y
‫ver aparecer estos puntos de depuración.
‫Y vamos a hacer esto usando un nuevo rastreo de línea de función por canal.
‫Vamos a ver por qué estamos usando esa línea trazada por tipo de objeto, que es lo que hemos usado antes.
‫Vamos a sumergirnos y ver cómo se hace.
‫Entonces, en nuestro escape de edificios, usamos trazos de línea y usamos esta función aquí, el trazo de línea por
‫tipo de objeto.
‫¿Y es esto lo que queremos usar?
‫Bueno, ¿cuál es la diferencia entre el seguimiento de línea por tipo de objeto y su hermano muy cercano, que
‫es un seguimiento de línea por canal?
‫Bueno, el tipo de objeto dice, quiero buscar a través de esta línea y ver si encuentro un objeto que coincida con este
‫tipo.
‫Entonces, creo que lo que usamos en la construcción del escape fue algo así como el tipo de objeto del cuerpo físico y eso
‫es genial, golpeará los cuerpos físicos.
‫Pero si de repente decides que quieres algo más para golpear una pelota, no deja mucho espacio para las
‫opciones.
‫El canal es mejor para eso porque nos permite definir nuestros propios canales personalizados y luego
‫definir qué tipos de objetos son transparentes para ese canal y cuáles lo bloquean.
‫Eso es genial porque lo que queremos poder hacer es decir, está bien, tal vez un tipo de cosa de Bush no
‫puede bloquear una bala, mientras que una pared bloqueará una bala, pero no recibirá ningún daño más que eso. podemos
‫tratar más adelante.
‫Así que canaliza toda la ruta que vamos a seguir y podemos encontrar el método correcto aquí haciendo control.
‫P Y, por cierto, hay algo extra genial que aprendí recientemente: si
‫usa el símbolo de acto, puede buscar símbolos dentro de este archivo e incluso en otros archivos.
‫Pero si tiene el archivo abierto, es mucho más rápido.
‫Luego podría hacer algo como el seguimiento de línea y puede ver que nos está dando la lista de todos
‫los símbolos que son funciones o clases o variables, y podemos encontrar esa línea, seguimiento, línea de prueba, seguimiento, solo por
‫canal por tipo de objeto.
‫Queremos este primer seguimiento de una línea, canal BI único, que tendrá un parámetro de salida para lo que
‫golpeamos, los puntos de inicio, los puntos finales, el canal de seguimiento de colisión llegará a eso en solo un
‫poco y luego alguna consulta. parámetros que tienen algunos valores predeterminados, por lo que en realidad no tenemos
‫que preocuparnos.
‫Entonces, solo esas primeras cosas, el inicio de hit y el canal de seguimiento, de lo que queremos preocuparnos.
‫Configuremos un canal de seguimiento.
‫Vamos a ir a la configuración y la configuración del proyecto para esto.
‫Y luego buscamos debajo del motor el área de colisiones.
‫Y debajo de aquí pueden ver que tenemos canales de objetos y canales de seguimiento.
‫Los canales de objetos son en realidad solo otra forma de decir diferentes tipos de objetos.
‫Entonces, si desea tener, además de los conjuntos predeterminados de objetos, como peones y cosas por el estilo, si
‫desea una nueva categoría de objeto, puede seguir la ruta del canal de objetos.
‫Pero las huellas te permiten definir el extremo opuesto del espectro, que es como, ya sabes,
‫tengo una bala, ¿a qué objetos puede golpear?
‫Así que seguiremos esta ruta, agregaremos un nuevo canal de seguimiento y llamaremos a esta viñeta.
‫Y la respuesta predeterminada va a ser.
‫BLOQUE Lo que básicamente significa que todos los tipos de objetos van a.
‫BLOQUE A menos que ahora especifiquemos lo contrario, podemos seguir adelante y aceptar esto y podemos ver nuestros ajustes preestablecidos aquí
‫abajo.
‫Y si solo expandimos eso, los ajustes preestablecidos le mostrarán que tenemos un montón de cosas diferentes a las que
‫podemos aplicar, cosas que podemos decir, queremos que esto sea un actor de física, en cuyo caso es un
‫tipo de objeto, que va a ser lo que es un canal de objeto predefinido será el cuerpo físico.
‫Pero si ampliamos esto, puedes ver cuál es su reacción a los diferentes tipos de rastros aquí.
‫Así que tenemos nuestros tipos de cámara de seguimiento, nuestras propias balas, visibilidad, bloquea todo esto y luego tiene tipos
‫de objetos.
‫Así es como interactúa en términos físicos con otros objetos como peones y vehículos, etc. No es así como interactúa con el
‫seguimiento de línea por objeto.
‫Eso es un poco confuso y me confundió antes.
‫Entonces, el tipo de seguimiento es lo que es interesante y podemos ir y echar un vistazo aquí y ver que no se debe configurar
‫ninguna colisión para que no colisione.
‫Así que hagamos que nuestras balas no choquen con eso también.
‫Entonces, simplemente anulando algunos de los ajustes preestablecidos de modo que nuestra viñeta funcione como esperábamos, la superposición de todos,
‫por ejemplo, debería básicamente superponerse con la viñeta.
‫Y probablemente la pared invisible y la dinámica de la pared invisible también deberían ignorarse a los efectos de nuestra
‫viñeta.
‫Lo mismo con la dinámica aquí.
‫Puedes ver que básicamente estamos terminando con algo que es bastante similar a un rastro visible.
‫Pero la razón para mantenerlo separado es que tal vez queramos hacer pequeñas distinciones, como que puedes ver, no puedes
‫ver a través de este arbusto, pero puedes disparar a través de él.
‫Ese tipo de cosas significa que tener nuestro propio canal de seguimiento es muy, muy útil.
‫Ahora nos gustaría poder usar este canal de rastreo en el código, y es un poco raro cómo tenemos
‫que hacer esto porque hay una enumeración aquí, un canal de colisión E, y si usamos F12 para llegar a su definición, pueden ver
‫hay un montón para los predefinidos, estática mundial, visibilidad, etc. aquí abajo, pero luego hay un montón más
‫de canales de seguimiento del motor uno, dos y canales de seguimiento del juego uno, dos, tres,
‫etc. predefinido
‫¿Cuál de los nuestros es este?
‫Sabes, es que no tenemos una bala aquí.
‫De hecho, tenemos que usar uno de estos canales de seguimiento del juego uno.
‫Así que es realmente un poco confuso.
‫¿Cuál es?
‫Entonces, la forma de hacer esto es yendo a la carpeta de su proyecto y entrando en config.
‫Y lo que queremos es el motor predeterminado INI y queremos abrirlo en un texto que sea.
‫Así que podrías hacer eso en cualquier texto que quieras.
‫Me gusta arrastrarlo al código de Visual Studio.
‫Entonces ese código de Visual Studio es el que lo abre.
‫Y aquí queremos esencialmente buscar nuestra viñeta y ver a qué se le ha asignado.
‫Y creo que esta primera línea aquí nos dice que el canal que se le ha dado es el juego Trace Channel
‫uno.
‫Fantástico.
‫Así que eso es lo que vamos a usar cuando estemos haciendo nuestro trazado de línea.
‫Entonces, comencemos a establecer la estructura de este trazado de línea en su lugar.
‫Lo primero que vamos a necesitar es un punto de partida.
‫Ya tenemos eso.
‫Esa es la ubicación de nuestra ventana gráfica.
‫También vamos a necesitar un punto final para nuestro trazado de línea que sea un poco más difícil de calcular.
‫Así que vamos a crear un vector F para nuestro extremo, y vamos a calcularlo usando nuestro punto de parada,
‫más la rotación multiplicada por la cantidad, la distancia que queremos alejarnos y no la rotación, sino el vector que apunta
‫en la dirección de la rotación.
‫Un poco confuso, pero en realidad si haces un vector de punto de rotación, esto te da un vector que apunta
‫en la dirección de esta rotación.
‫Es como hacer lo contrario de lo que estábamos haciendo en el modelo de animación para obtener una rotación del
‫vector.
‫Esto va al revés.
‫Así que vamos a hacer la ubicación más este vector de rotación, y luego queremos esencialmente un rango máximo.
‫Así que voy a presentar una nueva propiedad aquí, haré una edición en cualquier lugar y será
‫un flotador llamado Max Range así.
‫Y podemos establecerlo en un valor predeterminado de algo así como 10,000 o un rango máximo de mil.
‫Eso va a ser unos 100 metros, lo siento, unos diez metros.
‫Y vamos a pasar a hacer un vector de punto de rotación multiplicado por el rango máximo.
‫Así que ese será el vector que obtengamos de esa rotación, será de tamaño uno.
‫Multiplicarlo por el rango máximo lo convertirá en un vector de tamaño, cualquiera que sea el rango máximo.
‫Y luego agregamos eso encima de la ubicación para obtener el punto final.
‫No te preocupes si no sigues las matemáticas al 100%.
‫Lo importante es que así es como queremos llegar a nuestro punto final.
‫Luego va a hacer una línea aquí para agregar un poco de seguimiento de línea y voy a eliminar esta
‫cámara de depuración de dibujo porque quiero hacer un ayudante de depuración de dibujo diferente aquí.
‫Quiero dibujar un punto de depuración que puedes encontrar aquí, toma el mundo, toma una posición, un tamaño
‫y un color.
‫Y sea persistente o no, probablemente queremos que sea persistente, que sea visible.
‫Así que deberíamos poder hacer algo en este sentido, digamos dibujar puntos de depuración y vamos a hacer
‫un mundo de inmediato aquí, y luego comenzaremos con la ubicación de nuestra ventana gráfica, tal como
‫una prueba para ver cómo funciona este punto de depuración de dibujo, dale tamaño para darle un
‫color f de rojo y hacer que sea persistente.
‫Y luego vamos a mayúsculas por el punto y coma y vemos si esto está funcionando.
‫Presionemos compilar en el motor y presionemos reproducir.
‫Así que ahora disparo y me muevo un poco hacia atrás.
‫Puedes ver que hay un punto allí.
‫Sin embargo, es muy, muy pequeño y difícil de ver.
‫Así que van a aumentar esto a 20 en su lugar.
‫Vamos a ver si eso es mejor.
‫Compilar y jugar.
‫Sí.
‫Efectivamente, ahora puedo ver un punto muy, muy claro.
‫Así que es hora de su desafío de hacer un seguimiento de línea por canal.
‫Lo hemos hecho antes con tipos de objetos, por lo que esperamos poder extrapolarlo para hacerlo por canal.
‫Entonces use la ubicación y el final que ya hemos definido como el inicio y el final.
‫Verifique el éxito del resultado haciendo una declaración if, de modo que solo obtenga el parámetro de salida correcto en el parámetro
‫de salida del resultado del golpe y solo dibuje un punto de depuración.
‫Si llegamos al punto con éxito y recordamos que estamos usando ese canal que encontramos en el punto,
‫cualquier archivo también.
‫Así que pause el video y vea si puede ordenar todos esos parámetros y argumentos en el
‫trazado de línea y obtener ese dibujo de punto de depuración donde golpeamos con nuestro trazado de línea.
‫Ahora, en esta etapa, no estamos haciendo nada inteligente, como ignorar al actor jugador.
‫Por lo tanto, su trazo de línea puede terminar golpeando al jugador y eso está bien para este desafío.
‫Pausa el vídeo.
‫Intentar.
‫Bueno.
‫Bienvenido de nuevo.
‫Así que vamos a sumergirnos.
‫Vamos a conseguir el mundo, en primer lugar, y una flecha hacia eso.
‫Vamos a ir a hacer un trazado de línea solo por canal.
‫Entonces vamos a necesitar un resultado de éxito.
‫Entonces, en los parámetros, primero debemos declarar nuestra estructura de resultados de éxito para pasarla como un parámetro de la aplicación.
‫Lo llamará éxito y lo pasarán como el primer argumento aquí.
‫Entonces necesitamos la ubicación.
‫Y necesitamos el final.
‫¿Y entonces que?
‫¿Qué viene después?
‫la colisión
‫Un canal de colisión.
‫Así que va a ser un canal de colisión E.
‫Colon.
‫Y entonces debería ser e c, ¿qué dijimos?
‫Vayamos y echemos un vistazo en el motor predeterminado.
‫Cualquier canal de seguimiento del juego CC uno es el que el predeterminado ha configurado para preguntar.
‫¿Hay más argumentos aquí que necesitemos?
‫Sigamos.
‫Tenemos los parámetros de colisión que están predeterminados.
‫Así que no, no necesitamos nada aquí.
‫Y luego lo que podemos hacer es que necesitamos un resultado booleano para esto.
‫Entonces B éxito.
‫Y suena muy útil, ¿no?
‫Sé exitoso.
‫Digamos An si B tiene éxito.
‫Vamos a querer dibujar ese punto de depuración.
‫Así que vamos a mover esto hacia abajo.
‫Puedo hacer esto con Alt y luego la flecha mueve la línea así, y luego puedo
‫sangrarla con un control y los corchetes correctos en su teclado y eso hace que se vea así.
‫Y ahora, en lugar de la ubicación, que es el punto de inicio, en realidad queremos la ubicación del golpe.
‫Así que eso va a ser una ubicación de punto de golpe así.
‫Y parece que me falta un punto y coma al final de esta línea aquí.
‫Construyamos eso y pruébalo.
‫Una vez que haya compilado este juego exitoso, vaya al mundo e intente disparar a nuestras paredes.
‫Ahí tienes
‫Puedes ver que tenemos un punto que aparece en la pared justo donde disparé.
‫Puedo hacer esto varias veces.
‫Parece golpear si me alejo demasiado de una pared, no golpea en absoluto debido a que nuestro rango máximo es bastante
‫corto.
‫Y puedes ver una vez que estoy dentro del rango máximo, golpea y dibuja un punto.
‫Así que ese es un desafío completado con éxito.
‫Ahora podemos mostrar y trazar una línea hasta un punto en particular.
‫El siguiente paso será lograr que muestre algunos efectos de partículas, lo que será mucho más genial que
‫simplemente dibujar un punto de depuración para eso.
‫Te veré en la próxima conferencia.