﻿1
00:00:04,320 --> 00:00:05,250
‫Hola y bienvenido.

2
00:00:05,250 --> 00:00:11,310
‫En esta lección, vamos a configurar un trazado de líneas para que podamos disparar a las paredes y

3
00:00:11,640 --> 00:00:14,040
‫ver aparecer estos puntos de depuración.

4
00:00:14,370 --> 00:00:18,030
‫Y vamos a hacer esto usando un nuevo rastreo de línea de función por canal.

5
00:00:18,030 --> 00:00:22,290
‫Vamos a ver por qué estamos usando esa línea trazada por tipo de objeto, que es lo que hemos usado antes.

6
00:00:22,530 --> 00:00:24,090
‫Vamos a sumergirnos y ver cómo se hace.

7
00:00:25,490 --> 00:00:30,950
‫Entonces, en nuestro escape de edificios, usamos trazos de línea y usamos esta función aquí, el trazo de línea por

8
00:00:31,550 --> 00:00:32,630
‫tipo de objeto.

9
00:00:32,960 --> 00:00:36,080
‫¿Y es esto lo que queremos usar?

10
00:00:36,540 --> 00:00:42,110
‫Bueno, ¿cuál es la diferencia entre el seguimiento de línea por tipo de objeto y su hermano muy cercano, que

11
00:00:42,110 --> 00:00:44,240
‫es un seguimiento de línea por canal?

12
00:00:45,170 --> 00:00:53,030
‫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

13
00:00:53,030 --> 00:00:53,490
‫tipo.

14
00:00:53,510 --> 00:01:01,670
‫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

15
00:01:01,670 --> 00:01:04,040
‫es genial, golpeará los cuerpos físicos.

16
00:01:04,340 --> 00:01:09,950
‫Pero si de repente decides que quieres algo más para golpear una pelota, no deja mucho espacio para las

17
00:01:09,950 --> 00:01:10,540
‫opciones.

18
00:01:10,550 --> 00:01:16,430
‫El canal es mejor para eso porque nos permite definir nuestros propios canales personalizados y luego

19
00:01:16,430 --> 00:01:21,860
‫definir qué tipos de objetos son transparentes para ese canal y cuáles lo bloquean.

20
00:01:22,220 --> 00:01:29,120
‫Eso es genial porque lo que queremos poder hacer es decir, está bien, tal vez un tipo de cosa de Bush no

21
00:01:30,080 --> 00:01:36,590
‫puede bloquear una bala, mientras que una pared bloqueará una bala, pero no recibirá ningún daño más que eso. podemos

22
00:01:36,590 --> 00:01:37,790
‫tratar más adelante.

23
00:01:38,300 --> 00:01:45,140
‫Así que canaliza toda la ruta que vamos a seguir y podemos encontrar el método correcto aquí haciendo control.

24
00:01:45,140 --> 00:01:50,930
‫P Y, por cierto, hay algo extra genial que aprendí recientemente: si

25
00:01:50,930 --> 00:01:58,130
‫usa el símbolo de acto, puede buscar símbolos dentro de este archivo e incluso en otros archivos.

26
00:01:58,130 --> 00:01:59,960
‫Pero si tiene el archivo abierto, es mucho más rápido.

27
00:02:00,440 --> 00:02:07,160
‫Luego podría hacer algo como el seguimiento de línea y puede ver que nos está dando la lista de todos

28
00:02:07,160 --> 00:02:14,120
‫los símbolos que son funciones o clases o variables, y podemos encontrar esa línea, seguimiento, línea de prueba, seguimiento, solo por

29
00:02:14,120 --> 00:02:15,890
‫canal por tipo de objeto.

30
00:02:15,890 --> 00:02:21,350
‫Queremos este primer seguimiento de una línea, canal BI único, que tendrá un parámetro de salida para lo que

31
00:02:21,350 --> 00:02:26,960
‫golpeamos, los puntos de inicio, los puntos finales, el canal de seguimiento de colisión llegará a eso en solo un

32
00:02:26,960 --> 00:02:32,210
‫poco y luego alguna consulta. parámetros que tienen algunos valores predeterminados, por lo que en realidad no tenemos

33
00:02:32,210 --> 00:02:33,080
‫que preocuparnos.

34
00:02:33,410 --> 00:02:39,140
‫Entonces, solo esas primeras cosas, el inicio de hit y el canal de seguimiento, de lo que queremos preocuparnos.

35
00:02:39,710 --> 00:02:41,540
‫Configuremos un canal de seguimiento.

36
00:02:41,780 --> 00:02:45,170
‫Vamos a ir a la configuración y la configuración del proyecto para esto.

37
00:02:45,350 --> 00:02:48,920
‫Y luego buscamos debajo del motor el área de colisiones.

38
00:02:48,950 --> 00:02:53,180
‫Y debajo de aquí pueden ver que tenemos canales de objetos y canales de seguimiento.

39
00:02:53,240 --> 00:02:57,530
‫Los canales de objetos son en realidad solo otra forma de decir diferentes tipos de objetos.

40
00:02:57,530 --> 00:03:02,090
‫Entonces, si desea tener, además de los conjuntos predeterminados de objetos, como peones y cosas por el estilo, si

41
00:03:02,090 --> 00:03:05,870
‫desea una nueva categoría de objeto, puede seguir la ruta del canal de objetos.

42
00:03:06,230 --> 00:03:12,260
‫Pero las huellas te permiten definir el extremo opuesto del espectro, que es como, ya sabes,

43
00:03:12,260 --> 00:03:15,500
‫tengo una bala, ¿a qué objetos puede golpear?

44
00:03:15,860 --> 00:03:21,590
‫Así que seguiremos esta ruta, agregaremos un nuevo canal de seguimiento y llamaremos a esta viñeta.

45
00:03:22,660 --> 00:03:25,750
‫Y la respuesta predeterminada va a ser.

46
00:03:25,750 --> 00:03:29,200
‫BLOQUE Lo que básicamente significa que todos los tipos de objetos van a.

47
00:03:29,200 --> 00:03:36,040
‫BLOQUE A menos que ahora especifiquemos lo contrario, podemos seguir adelante y aceptar esto y podemos ver nuestros ajustes preestablecidos aquí

48
00:03:36,040 --> 00:03:36,610
‫abajo.

49
00:03:37,030 --> 00:03:42,280
‫Y si solo expandimos eso, los ajustes preestablecidos le mostrarán que tenemos un montón de cosas diferentes a las que

50
00:03:42,280 --> 00:03:47,440
‫podemos aplicar, cosas que podemos decir, queremos que esto sea un actor de física, en cuyo caso es un

51
00:03:47,440 --> 00:03:52,600
‫tipo de objeto, que va a ser lo que es un canal de objeto predefinido será el cuerpo físico.

52
00:03:52,960 --> 00:04:00,490
‫Pero si ampliamos esto, puedes ver cuál es su reacción a los diferentes tipos de rastros aquí.

53
00:04:00,490 --> 00:04:06,160
‫Así que tenemos nuestros tipos de cámara de seguimiento, nuestras propias balas, visibilidad, bloquea todo esto y luego tiene tipos

54
00:04:06,160 --> 00:04:07,000
‫de objetos.

55
00:04:07,000 --> 00:04:13,600
‫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

56
00:04:13,600 --> 00:04:16,600
‫seguimiento de línea por objeto.

57
00:04:16,720 --> 00:04:19,150
‫Eso es un poco confuso y me confundió antes.

58
00:04:19,780 --> 00:04:26,920
‫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

59
00:04:26,920 --> 00:04:28,930
‫ninguna colisión para que no colisione.

60
00:04:28,930 --> 00:04:31,870
‫Así que hagamos que nuestras balas no choquen con eso también.

61
00:04:31,870 --> 00:04:39,100
‫Entonces, simplemente anulando algunos de los ajustes preestablecidos de modo que nuestra viñeta funcione como esperábamos, la superposición de todos,

62
00:04:39,100 --> 00:04:42,310
‫por ejemplo, debería básicamente superponerse con la viñeta.

63
00:04:42,730 --> 00:04:49,810
‫Y probablemente la pared invisible y la dinámica de la pared invisible también deberían ignorarse a los efectos de nuestra

64
00:04:49,810 --> 00:04:50,320
‫viñeta.

65
00:04:50,890 --> 00:04:51,910
‫Lo mismo con la dinámica aquí.

66
00:04:51,910 --> 00:04:55,030
‫Puedes ver que básicamente estamos terminando con algo que es bastante similar a un rastro visible.

67
00:04:55,450 --> 00:05:00,790
‫Pero la razón para mantenerlo separado es que tal vez queramos hacer pequeñas distinciones, como que puedes ver, no puedes

68
00:05:00,790 --> 00:05:04,480
‫ver a través de este arbusto, pero puedes disparar a través de él.

69
00:05:04,690 --> 00:05:08,920
‫Ese tipo de cosas significa que tener nuestro propio canal de seguimiento es muy, muy útil.

70
00:05:09,130 --> 00:05:14,740
‫Ahora nos gustaría poder usar este canal de rastreo en el código, y es un poco raro cómo tenemos

71
00:05:14,740 --> 00:05:21,430
‫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

72
00:05:21,430 --> 00:05:27,550
‫hay un montón para los predefinidos, estática mundial, visibilidad, etc. aquí abajo, pero luego hay un montón más

73
00:05:27,550 --> 00:05:33,550
‫de canales de seguimiento del motor uno, dos y canales de seguimiento del juego uno, dos, tres,

74
00:05:33,550 --> 00:05:34,840
‫etc. predefinido

75
00:05:35,560 --> 00:05:37,540
‫¿Cuál de los nuestros es este?

76
00:05:37,540 --> 00:05:39,700
‫Sabes, es que no tenemos una bala aquí.

77
00:05:40,330 --> 00:05:42,730
‫De hecho, tenemos que usar uno de estos canales de seguimiento del juego uno.

78
00:05:42,730 --> 00:05:44,350
‫Así que es realmente un poco confuso.

79
00:05:44,740 --> 00:05:45,490
‫¿Cuál es?

80
00:05:46,000 --> 00:05:50,710
‫Entonces, la forma de hacer esto es yendo a la carpeta de su proyecto y entrando en config.

81
00:05:51,280 --> 00:05:56,080
‫Y lo que queremos es el motor predeterminado INI y queremos abrirlo en un texto que sea.

82
00:05:56,080 --> 00:05:58,270
‫Así que podrías hacer eso en cualquier texto que quieras.

83
00:05:58,270 --> 00:06:00,520
‫Me gusta arrastrarlo al código de Visual Studio.

84
00:06:00,880 --> 00:06:03,070
‫Entonces ese código de Visual Studio es el que lo abre.

85
00:06:03,880 --> 00:06:10,930
‫Y aquí queremos esencialmente buscar nuestra viñeta y ver a qué se le ha asignado.

86
00:06:10,930 --> 00:06:16,930
‫Y creo que esta primera línea aquí nos dice que el canal que se le ha dado es el juego Trace Channel

87
00:06:16,930 --> 00:06:17,380
‫uno.

88
00:06:17,800 --> 00:06:18,370
‫Fantástico.

89
00:06:18,370 --> 00:06:21,670
‫Así que eso es lo que vamos a usar cuando estemos haciendo nuestro trazado de línea.

90
00:06:22,300 --> 00:06:26,860
‫Entonces, comencemos a establecer la estructura de este trazado de línea en su lugar.

91
00:06:27,840 --> 00:06:30,500
‫Lo primero que vamos a necesitar es un punto de partida.

92
00:06:30,510 --> 00:06:31,230
‫Ya tenemos eso.

93
00:06:31,230 --> 00:06:32,760
‫Esa es la ubicación de nuestra ventana gráfica.

94
00:06:33,210 --> 00:06:37,650
‫También vamos a necesitar un punto final para nuestro trazado de línea que sea un poco más difícil de calcular.

95
00:06:38,130 --> 00:06:45,660
‫Así que vamos a crear un vector F para nuestro extremo, y vamos a calcularlo usando nuestro punto de parada,

96
00:06:46,410 --> 00:06:54,060
‫más la rotación multiplicada por la cantidad, la distancia que queremos alejarnos y no la rotación, sino el vector que apunta

97
00:06:54,070 --> 00:06:56,640
‫en la dirección de la rotación.

98
00:06:57,120 --> 00:07:03,840
‫Un poco confuso, pero en realidad si haces un vector de punto de rotación, esto te da un vector que apunta

99
00:07:03,840 --> 00:07:05,850
‫en la dirección de esta rotación.

100
00:07:05,850 --> 00:07:11,200
‫Es como hacer lo contrario de lo que estábamos haciendo en el modelo de animación para obtener una rotación del

101
00:07:11,200 --> 00:07:11,640
‫vector.

102
00:07:11,850 --> 00:07:12,930
‫Esto va al revés.

103
00:07:13,350 --> 00:07:20,840
‫Así que vamos a hacer la ubicación más este vector de rotación, y luego queremos esencialmente un rango máximo.

104
00:07:20,850 --> 00:07:25,950
‫Así que voy a presentar una nueva propiedad aquí, haré una edición en cualquier lugar y será

105
00:07:25,950 --> 00:07:27,990
‫un flotador llamado Max Range así.

106
00:07:27,990 --> 00:07:33,960
‫Y podemos establecerlo en un valor predeterminado de algo así como 10,000 o un rango máximo de mil.

107
00:07:33,960 --> 00:07:36,810
‫Eso va a ser unos 100 metros, lo siento, unos diez metros.

108
00:07:37,260 --> 00:07:42,810
‫Y vamos a pasar a hacer un vector de punto de rotación multiplicado por el rango máximo.

109
00:07:42,810 --> 00:07:46,470
‫Así que ese será el vector que obtengamos de esa rotación, será de tamaño uno.

110
00:07:46,830 --> 00:07:50,970
‫Multiplicarlo por el rango máximo lo convertirá en un vector de tamaño, cualquiera que sea el rango máximo.

111
00:07:50,970 --> 00:07:54,630
‫Y luego agregamos eso encima de la ubicación para obtener el punto final.

112
00:07:54,810 --> 00:07:57,510
‫No te preocupes si no sigues las matemáticas al 100%.

113
00:07:58,050 --> 00:08:01,280
‫Lo importante es que así es como queremos llegar a nuestro punto final.

114
00:08:01,560 --> 00:08:07,530
‫Luego va a hacer una línea aquí para agregar un poco de seguimiento de línea y voy a eliminar esta

115
00:08:07,530 --> 00:08:12,720
‫cámara de depuración de dibujo porque quiero hacer un ayudante de depuración de dibujo diferente aquí.

116
00:08:13,110 --> 00:08:19,140
‫Quiero dibujar un punto de depuración que puedes encontrar aquí, toma el mundo, toma una posición, un tamaño

117
00:08:19,140 --> 00:08:20,370
‫y un color.

118
00:08:20,730 --> 00:08:24,360
‫Y sea persistente o no, probablemente queremos que sea persistente, que sea visible.

119
00:08:24,810 --> 00:08:31,350
‫Así que deberíamos poder hacer algo en este sentido, digamos dibujar puntos de depuración y vamos a hacer

120
00:08:31,350 --> 00:08:37,800
‫un mundo de inmediato aquí, y luego comenzaremos con la ubicación de nuestra ventana gráfica, tal como

121
00:08:37,800 --> 00:08:44,280
‫una prueba para ver cómo funciona este punto de depuración de dibujo, dale tamaño para darle un

122
00:08:44,400 --> 00:08:48,390
‫color f de rojo y hacer que sea persistente.

123
00:08:48,390 --> 00:08:52,410
‫Y luego vamos a mayúsculas por el punto y coma y vemos si esto está funcionando.

124
00:08:52,410 --> 00:08:55,170
‫Presionemos compilar en el motor y presionemos reproducir.

125
00:08:55,950 --> 00:08:58,110
‫Así que ahora disparo y me muevo un poco hacia atrás.

126
00:08:58,110 --> 00:08:59,430
‫Puedes ver que hay un punto allí.

127
00:08:59,760 --> 00:09:02,340
‫Sin embargo, es muy, muy pequeño y difícil de ver.

128
00:09:02,340 --> 00:09:06,780
‫Así que van a aumentar esto a 20 en su lugar.

129
00:09:07,050 --> 00:09:08,040
‫Vamos a ver si eso es mejor.

130
00:09:08,160 --> 00:09:09,360
‫Compilar y jugar.

131
00:09:09,480 --> 00:09:09,720
‫Sí.

132
00:09:09,720 --> 00:09:12,780
‫Efectivamente, ahora puedo ver un punto muy, muy claro.

133
00:09:13,380 --> 00:09:16,680
‫Así que es hora de su desafío de hacer un seguimiento de línea por canal.

134
00:09:16,920 --> 00:09:22,470
‫Lo hemos hecho antes con tipos de objetos, por lo que esperamos poder extrapolarlo para hacerlo por canal.

135
00:09:22,740 --> 00:09:28,020
‫Entonces use la ubicación y el final que ya hemos definido como el inicio y el final.

136
00:09:28,620 --> 00:09:34,860
‫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

137
00:09:34,860 --> 00:09:38,880
‫de salida del resultado del golpe y solo dibuje un punto de depuración.

138
00:09:38,880 --> 00:09:44,910
‫Si llegamos al punto con éxito y recordamos que estamos usando ese canal que encontramos en el punto,

139
00:09:44,910 --> 00:09:46,020
‫cualquier archivo también.

140
00:09:46,020 --> 00:09:50,820
‫Así que pause el video y vea si puede ordenar todos esos parámetros y argumentos en el

141
00:09:51,150 --> 00:09:56,010
‫trazado de línea y obtener ese dibujo de punto de depuración donde golpeamos con nuestro trazado de línea.

142
00:09:56,820 --> 00:10:02,360
‫Ahora, en esta etapa, no estamos haciendo nada inteligente, como ignorar al actor jugador.

143
00:10:02,370 --> 00:10:07,800
‫Por lo tanto, su trazo de línea puede terminar golpeando al jugador y eso está bien para este desafío.

144
00:10:08,160 --> 00:10:08,640
‫Pausa el vídeo.

145
00:10:08,680 --> 00:10:09,000
‫Intentar.

146
00:10:10,640 --> 00:10:10,990
‫Bueno.

147
00:10:11,000 --> 00:10:11,480
‫Bienvenido de nuevo.

148
00:10:11,810 --> 00:10:13,850
‫Así que vamos a sumergirnos.

149
00:10:13,850 --> 00:10:18,380
‫Vamos a conseguir el mundo, en primer lugar, y una flecha hacia eso.

150
00:10:18,380 --> 00:10:22,940
‫Vamos a ir a hacer un trazado de línea solo por canal.

151
00:10:24,110 --> 00:10:25,850
‫Entonces vamos a necesitar un resultado de éxito.

152
00:10:25,860 --> 00:10:32,600
‫Entonces, en los parámetros, primero debemos declarar nuestra estructura de resultados de éxito para pasarla como un parámetro de la aplicación.

153
00:10:33,110 --> 00:10:37,520
‫Lo llamará éxito y lo pasarán como el primer argumento aquí.

154
00:10:37,970 --> 00:10:39,410
‫Entonces necesitamos la ubicación.

155
00:10:40,470 --> 00:10:41,700
‫Y necesitamos el final.

156
00:10:42,180 --> 00:10:43,410
‫¿Y entonces que?

157
00:10:43,470 --> 00:10:44,370
‫¿Qué viene después?

158
00:10:44,370 --> 00:10:45,360
‫la colisión

159
00:10:46,200 --> 00:10:47,220
‫Un canal de colisión.

160
00:10:47,580 --> 00:10:49,470
‫Así que va a ser un canal de colisión E.

161
00:10:49,470 --> 00:10:50,490
‫Colon.

162
00:10:50,490 --> 00:10:53,550
‫Y entonces debería ser e c, ¿qué dijimos?

163
00:10:53,560 --> 00:10:55,350
‫Vayamos y echemos un vistazo en el motor predeterminado.

164
00:10:55,350 --> 00:11:01,140
‫Cualquier canal de seguimiento del juego CC uno es el que el predeterminado ha configurado para preguntar.

165
00:11:01,440 --> 00:11:03,300
‫¿Hay más argumentos aquí que necesitemos?

166
00:11:03,300 --> 00:11:04,500
‫Sigamos.

167
00:11:04,860 --> 00:11:06,720
‫Tenemos los parámetros de colisión que están predeterminados.

168
00:11:06,720 --> 00:11:09,870
‫Así que no, no necesitamos nada aquí.

169
00:11:10,350 --> 00:11:14,160
‫Y luego lo que podemos hacer es que necesitamos un resultado booleano para esto.

170
00:11:14,160 --> 00:11:15,810
‫Entonces B éxito.

171
00:11:16,970 --> 00:11:19,230
‫Y suena muy útil, ¿no?

172
00:11:19,250 --> 00:11:20,120
‫Sé exitoso.

173
00:11:20,780 --> 00:11:23,060
‫Digamos An si B tiene éxito.

174
00:11:24,230 --> 00:11:26,660
‫Vamos a querer dibujar ese punto de depuración.

175
00:11:26,660 --> 00:11:27,870
‫Así que vamos a mover esto hacia abajo.

176
00:11:27,890 --> 00:11:34,190
‫Puedo hacer esto con Alt y luego la flecha mueve la línea así, y luego puedo

177
00:11:34,760 --> 00:11:41,330
‫sangrarla con un control y los corchetes correctos en su teclado y eso hace que se vea así.

178
00:11:41,330 --> 00:11:46,490
‫Y ahora, en lugar de la ubicación, que es el punto de inicio, en realidad queremos la ubicación del golpe.

179
00:11:46,490 --> 00:11:50,060
‫Así que eso va a ser una ubicación de punto de golpe así.

180
00:11:50,330 --> 00:11:54,500
‫Y parece que me falta un punto y coma al final de esta línea aquí.

181
00:11:54,650 --> 00:11:56,600
‫Construyamos eso y pruébalo.

182
00:11:56,960 --> 00:12:02,440
‫Una vez que haya compilado este juego exitoso, vaya al mundo e intente disparar a nuestras paredes.

183
00:12:03,080 --> 00:12:03,620
‫Ahí tienes

184
00:12:03,620 --> 00:12:07,430
‫Puedes ver que tenemos un punto que aparece en la pared justo donde disparé.

185
00:12:07,430 --> 00:12:08,750
‫Puedo hacer esto varias veces.

186
00:12:09,110 --> 00:12:16,010
‫Parece golpear si me alejo demasiado de una pared, no golpea en absoluto debido a que nuestro rango máximo es bastante

187
00:12:16,010 --> 00:12:16,430
‫corto.

188
00:12:16,820 --> 00:12:20,990
‫Y puedes ver una vez que estoy dentro del rango máximo, golpea y dibuja un punto.

189
00:12:21,350 --> 00:12:23,900
‫Así que ese es un desafío completado con éxito.

190
00:12:23,900 --> 00:12:29,090
‫Ahora podemos mostrar y trazar una línea hasta un punto en particular.

191
00:12:29,330 --> 00:12:35,390
‫El siguiente paso será lograr que muestre algunos efectos de partículas, lo que será mucho más genial que

192
00:12:35,450 --> 00:12:38,600
‫simplemente dibujar un punto de depuración para eso.

193
00:12:38,600 --> 00:12:39,950
‫Te veré en la próxima conferencia.

