﻿1
00:00:04,170 --> 00:00:04,650
‫Oye.

2
00:00:04,650 --> 00:00:05,580
‫Bienvenido de nuevo.

3
00:00:05,610 --> 00:00:09,390
‫Ahora sabemos que necesitamos obtener el resultado del golpe debajo del cursor.

4
00:00:09,420 --> 00:00:14,070
‫Vamos a hablar un poco más sobre cómo funciona y qué significa en este video.

5
00:00:14,250 --> 00:00:20,520
‫Entonces, nuestro objetivo es obtener los resultados de aciertos debajo del cursor y mostrar esta ubicación, y podemos hacerlo dibujando

6
00:00:20,520 --> 00:00:22,090
‫una esfera de depuración.

7
00:00:22,110 --> 00:00:24,150
‫También aprenderemos a hacerlo.

8
00:00:24,180 --> 00:00:27,300
‫Así que hablemos de algo llamado resultado de éxito.

9
00:00:27,600 --> 00:00:30,550
‫En los juegos a menudo querrás hacer algo como esto.

10
00:00:30,570 --> 00:00:32,520
‫Tendremos un punto en el espacio.

11
00:00:32,550 --> 00:00:39,210
‫Llamaremos a este punto inicio y tiene el vector tipo F y tendremos una ubicación final.

12
00:00:39,240 --> 00:00:43,260
‫Este será también un punto en el espacio de vector tipo F.

13
00:00:43,410 --> 00:00:48,720
‫Ahora digamos que nos gustaría dibujar una línea invisible desde el punto inicial hasta el punto final.

14
00:00:48,750 --> 00:00:54,450
‫Y en el momento en que dibujamos esta línea, nos gustaría ver si hay algún objeto entre las

15
00:00:54,450 --> 00:00:55,800
‫ubicaciones inicial y final.

16
00:00:56,280 --> 00:01:01,470
‫Ahora, si los hay, entonces esta línea que estamos dibujando en el espacio va a golpear ese objeto.

17
00:01:01,470 --> 00:01:05,400
‫En la superficie, cuando esto sucede, lo llamamos un evento de éxito.

18
00:01:05,430 --> 00:01:10,820
‫Ahora, cuando dibujamos una línea invisible como esta, se llama realizar un trazado de línea.

19
00:01:10,830 --> 00:01:14,520
‫Y cuando golpeamos algo, decimos que tenemos un rastro de golpe.

20
00:01:14,550 --> 00:01:21,240
‫Ahora, si acertamos con algo y obtenemos un evento de acierto, entonces el acierto de rastreo almacena información en una estructura

21
00:01:21,240 --> 00:01:22,820
‫llamada resultado de acierto.

22
00:01:22,830 --> 00:01:24,700
‫Su tipo es resultado de hit F.

23
00:01:24,720 --> 00:01:31,560
‫Ahora, la estructura de resultados de hit F contiene variables que almacenan información sobre el evento de hit,

24
00:01:31,560 --> 00:01:38,680
‫incluida la ubicación de hit como un vector f en el espacio y el actor que golpeamos, entre otra información.

25
00:01:38,700 --> 00:01:44,100
‫Ahora, cuando realizamos un seguimiento de línea, lo hacemos especificando un canal de colisión.

26
00:01:44,130 --> 00:01:48,390
‫Por lo general, con los trazos de línea, elegimos el canal llamado visibilidad.

27
00:01:48,510 --> 00:01:56,070
‫Existe una enumeración llamada E Collision Channel, y en esta enumeración hay una constante de enumeración llamada

28
00:01:56,070 --> 00:01:57,030
‫visibilidad XY.

29
00:01:57,180 --> 00:02:01,470
‫Este es uno de los parámetros que especificamos al realizar un seguimiento de línea.

30
00:02:01,740 --> 00:02:07,380
‫Ahora, si especificamos el canal de visibilidad, eso significa que los objetos que están configurados para bloquear el canal

31
00:02:07,380 --> 00:02:10,980
‫de visibilidad en su configuración de colisión registrarán eventos de impacto.

32
00:02:11,130 --> 00:02:16,350
‫Cualquier objeto que no esté configurado para bloquear el canal de visibilidad no generará eventos de hit.

33
00:02:16,380 --> 00:02:19,350
‫Ahora nos gustaría el resultado de la traza debajo del cursor.

34
00:02:19,590 --> 00:02:23,040
‫Imagina que tenemos la pantalla aquí y aquí está nuestro cursor ahora.

35
00:02:23,040 --> 00:02:28,620
‫En la punta de nuestro cursor, tenemos un punto en la pantalla cuando usamos la función para obtener el resultado del

36
00:02:28,620 --> 00:02:29,730
‫golpe debajo del cursor.

37
00:02:29,760 --> 00:02:35,040
‫Lo que sucede es que tenemos nuestra cámara y es posible que vea algunos objetos en el mundo, como el piso aquí.

38
00:02:35,040 --> 00:02:40,950
‫Y estamos realizando un trazo de línea desde la cámara en el punto de la pantalla correspondiente a la ubicación

39
00:02:40,950 --> 00:02:45,090
‫de nuestro cursor, y estamos disparando el trazo de línea directamente hacia el mundo.

40
00:02:45,090 --> 00:02:51,570
‫Y si acertamos con algo, generaremos un evento de acierto y almacenaremos la información en una estructura de resultado de acierto.

41
00:02:52,080 --> 00:02:54,470
‫Entonces, averigüemos cómo podemos hacer esto.

42
00:02:54,480 --> 00:03:01,560
‫Estoy aquí en Tank CP y lo que me gustaría hacer es obtener el resultado del éxito debajo del cursor en cada cuadro, lo que significa

43
00:03:01,560 --> 00:03:03,240
‫que necesitamos la función de marca.

44
00:03:03,240 --> 00:03:08,160
‫Entonces, de nuevo, vamos a volver a la base y encontrar nuestra función de tic aquí.

45
00:03:08,190 --> 00:03:14,100
‫Ahora no lo estamos usando para nada en el peón base, por lo que podemos mover esta función a la clase de tanque tal como

46
00:03:14,100 --> 00:03:15,570
‫lo hicimos con Begin Play.

47
00:03:15,570 --> 00:03:21,600
‫Así que resaltaré la declaración de la función junto con su comentario y la copiaré.

48
00:03:21,600 --> 00:03:28,590
‫Y después de eso, eliminaré toda esta sección, pública y todo, y luego regresaré al Tanque H y aquí,

49
00:03:28,590 --> 00:03:33,150
‫en la sección pública, pegaré la declaración de la función tick.

50
00:03:33,150 --> 00:03:37,620
‫Ahora no lo estamos usando en el peón base, así que quitaré la función de tic del pont base.

51
00:03:37,680 --> 00:03:40,710
‫CP Ahora se ha ido del peón base.

52
00:03:41,340 --> 00:03:47,880
‫Ahora lo tenemos aquí como intención declarada, pero también necesitamos definir la función en tank.

53
00:03:48,060 --> 00:03:54,180
‫CP Voy a hacerlo aquí en el tanque DHCP, justo debajo del componente de entrada del reproductor de configuración.

54
00:03:54,180 --> 00:03:56,400
‫Así que vamos a decir tick nulo.

55
00:03:57,340 --> 00:03:59,620
‫Se necesita un flotador llamado Delta Time.

56
00:04:00,940 --> 00:04:02,350
‫Y ahí está nuestro cuerpo.

57
00:04:02,380 --> 00:04:09,180
‫Ahora nuevamente, necesitamos un tanque justo antes de la función de marca, junto con el operador de resolución de alcance.

58
00:04:09,190 --> 00:04:14,530
‫Y también necesitamos llamar a super tick y pasar en tiempo Delta.

59
00:04:16,450 --> 00:04:19,240
‫Así que ahora tenemos una marca en la clase de tanque.

60
00:04:19,450 --> 00:04:23,560
‫Lo que queremos hacer es obtener los resultados de acierto debajo del cursor.

61
00:04:23,710 --> 00:04:25,450
‫Así es como lo hacemos.

62
00:04:25,480 --> 00:04:31,260
‫La función que vamos a usar existe en el controlador del reproductor llamada obtener el resultado del golpe debajo del cursor.

63
00:04:31,270 --> 00:04:32,800
‫Hemos estado hablando de esto.

64
00:04:32,980 --> 00:04:34,530
‫Ahora aquí está la sintaxis.

65
00:04:34,540 --> 00:04:36,160
‫Se necesita un canal de seguimiento.

66
00:04:36,190 --> 00:04:40,660
‫Recuerde, necesitamos especificar un canal de rastreo y vamos a usar la visibilidad.

67
00:04:40,840 --> 00:04:43,690
‫Ahora tenemos dos parámetros de entrada adicionales.

68
00:04:43,720 --> 00:04:46,720
‫El primero es un bool llamado complejo de trazas B.

69
00:04:46,750 --> 00:04:49,120
‫Hablaremos de lo que eso significa en un segundo.

70
00:04:49,210 --> 00:04:52,270
‫Y el tercer parámetro de entrada es un resultado de acierto F.

71
00:04:52,390 --> 00:04:57,820
‫Ahora voy a hacer clic en F hit result solo para ver este tipo aquí en la documentación.

72
00:04:58,480 --> 00:05:01,960
‫Y si me desplazo hacia abajo, veremos algunas de las variables.

73
00:05:01,990 --> 00:05:06,670
‫Uno de ellos se llama actor y su descripción dice Actor Hit by the Trace.

74
00:05:06,700 --> 00:05:13,510
‫También tenemos este golpe de bloqueo B, que dice que indica si este golpe fue el resultado de una colisión de bloqueo.

75
00:05:13,750 --> 00:05:17,770
‫Ahora, entre las otras variables, tenemos cosas como el punto de impacto.

76
00:05:18,010 --> 00:05:22,000
‫Esta es la ubicación en el espacio donde realmente golpeamos algo.

77
00:05:22,600 --> 00:05:26,150
‫Entonces, ¿por qué no seguimos adelante e intentamos llamar a esta función?

78
00:05:26,170 --> 00:05:32,170
‫Primero queremos nuestro jugador, controlador y gracias a lo que hicimos aquí y comenzamos a jugar, tenemos

79
00:05:32,170 --> 00:05:33,370
‫jugador, controlador, ref.

80
00:05:33,400 --> 00:05:38,770
‫Ahora, lo primero que debemos hacer es verificar si la referencia del controlador del jugador es válida.

81
00:05:39,100 --> 00:05:42,140
‫Siempre podemos pasar un puntero a una sentencia if.

82
00:05:42,160 --> 00:05:47,270
‫Devolverá verdadero si el puntero en sí no es un puntero nulo.

83
00:05:47,290 --> 00:05:52,930
‫Si es un puntero nulo, devolverá falso en una declaración if y nunca llegaremos al interior de la

84
00:05:52,930 --> 00:05:53,920
‫declaración if.

85
00:05:54,070 --> 00:05:59,740
‫Siempre es una buena idea verificar nuestros punteros y asegurarse de que no sean nulos antes de usarlos.

86
00:06:00,010 --> 00:06:04,960
‫Ahora vamos a obtener nuestro jugador, la referencia del controlador y vamos a usar el operador de flecha

87
00:06:04,960 --> 00:06:08,950
‫para llamar a la función, obtener el resultado del golpe debajo del cursor.

88
00:06:09,100 --> 00:06:12,670
‫Ahora podemos ver con la ventana emergente que tenemos tres parámetros de entrada.

89
00:06:12,850 --> 00:06:14,650
‫El primero es el canal de seguimiento.

90
00:06:14,950 --> 00:06:22,030
‫Vamos a usar EA Collision Channel y si escribimos dos puntos, obtenemos un menú desplegable que nos muestra todas las

91
00:06:22,030 --> 00:06:26,350
‫diferentes constantes de enumeración en la enumeración de EA Collision Channel.

92
00:06:26,530 --> 00:06:34,540
‫Queremos usar visibilidad, así que vamos a escribir visibilidad XY para especificar que estamos usando el canal de

93
00:06:34,540 --> 00:06:35,230
‫visibilidad.

94
00:06:35,440 --> 00:06:41,470
‫Ahora, el siguiente parámetro se llama B Trace Complex y vamos a pasar falso a este.

95
00:06:41,500 --> 00:06:44,590
‫Ahora discutiremos en unos minutos lo que esto significa.

96
00:06:44,590 --> 00:06:46,900
‫Pero por ahora vamos a usar falso.

97
00:06:47,110 --> 00:06:50,300
‫Ahora, para el tercer parámetro, necesitamos un resultado de éxito.

98
00:06:50,320 --> 00:06:53,140
‫Esta es una estructura de resultado de acierto de tipo F.

99
00:06:53,170 --> 00:06:59,500
‫Ahora, si pasa el cursor sobre esto, verá que el resultado de la coincidencia F se pasa como una referencia, como

100
00:06:59,500 --> 00:07:02,740
‫lo indica el operador de referencia que parece un ampersand.

101
00:07:02,890 --> 00:07:08,320
‫Ahora, por lo general, cuando pasa algo como referencia, es una referencia de costo, lo que significa que la

102
00:07:08,320 --> 00:07:09,730
‫función no podrá cambiarlo.

103
00:07:09,730 --> 00:07:13,870
‫Pero aquí estamos pasando un resultado de acierto F como una referencia no constante.

104
00:07:14,110 --> 00:07:20,120
‫Esto es generalmente una pista de que la función está diseñada para cambiar este parámetro de entrada directamente.

105
00:07:20,140 --> 00:07:27,730
‫Lo que va a hacer obtener el resultado de acierto bajo el cursor es completar esas variables en el resultado de acierto con información sobre

106
00:07:27,730 --> 00:07:29,260
‫el resultado de acierto.

107
00:07:29,290 --> 00:07:32,710
‫Esto significa que necesitamos pasar uno de estos resultados de f hit.

108
00:07:32,740 --> 00:07:37,540
‫Vamos a crear una variable local aquí en el resultado de verificación de tipo F.

109
00:07:38,380 --> 00:07:44,650
‫Y podemos llamar a este resultado de éxito y simplemente podemos pasar esta N como el tercer parámetro de entrada.

110
00:07:44,830 --> 00:07:50,320
‫Ahora, después de haber llamado a esta función, este resultado de acierto se completará con datos sobre el seguimiento de

111
00:07:50,320 --> 00:07:51,180
‫esta línea.

112
00:07:51,190 --> 00:08:00,040
‫Por ejemplo, podemos acceder a hit result dot actor para obtener el actor que fue golpeado o dot impact point para obtener el punto

113
00:08:00,040 --> 00:08:03,430
‫en el espacio donde tuvimos el evento hit.

114
00:08:03,580 --> 00:08:08,470
‫Entonces, el resultado del golpe es lo que usaremos para obtener información sobre el seguimiento de la línea.

115
00:08:08,860 --> 00:08:13,450
‫Ahora, a menudo es bueno poder ver el resultado de un trazo de línea.

116
00:08:13,450 --> 00:08:18,010
‫Podemos visualizar fácilmente el resultado de un trazado de línea dibujando una esfera de depuración.

117
00:08:18,340 --> 00:08:24,580
‫Las esferas de depuración son formas simples que dibujamos en el espacio, y son excelentes para mostrar una ubicación

118
00:08:24,580 --> 00:08:26,380
‫y las usamos al depurar.

119
00:08:26,380 --> 00:08:29,380
‫En realidad, no usamos esferas de depuración en un juego de cambio.

120
00:08:29,410 --> 00:08:32,150
‫Entonces, veamos cómo podemos dibujar una de estas esferas de depuración.

121
00:08:32,170 --> 00:08:36,430
‫Ahora aquí está la documentación para una función llamada dibujar esfera de depuración.

122
00:08:36,430 --> 00:08:38,800
‫Existe en los ayudantes de depuración de dibujo.

123
00:08:39,850 --> 00:08:45,160
‫Así que podemos copiar este encabezado e incluirlo donde queramos llamar dibujar esfera de depuración.

124
00:08:45,190 --> 00:08:47,220
‫Ahora mire todos los parámetros de entrada.

125
00:08:47,230 --> 00:08:52,240
‫Primero, toma un mundo de esta manera, sabe en qué mundo dibujar la esfera.

126
00:08:52,270 --> 00:08:57,100
‫Toma un vector F para el centro de la esfera así como un flotador para el radio.

127
00:08:57,130 --> 00:09:00,800
‫Se necesita un N 32 para el número de segmentos de esa esfera.

128
00:09:00,820 --> 00:09:04,810
‫Cuantos más segmentos, más redonda la esfera toma un color F.

129
00:09:04,840 --> 00:09:08,350
‫De esta manera sabe en qué color dibujar esta esfera.

130
00:09:08,380 --> 00:09:11,080
‫Quiere saber si quieres líneas persistentes.

131
00:09:11,080 --> 00:09:15,220
‫En otras palabras, ¿las líneas deben desaparecer inmediatamente o deben persistir?

132
00:09:15,220 --> 00:09:18,760
‫Si persisten, quiere saber el tiempo de vida de la esfera.

133
00:09:18,760 --> 00:09:20,910
‫¿Cuándo debería dejar de dibujar la esfera?

134
00:09:20,920 --> 00:09:25,660
‫Si no dibuja líneas persistentes, digamos que le gustaría dibujarlo para un solo cuadro, entonces pasaría

135
00:09:25,660 --> 00:09:27,880
‫uno negativo como el tiempo de vida.

136
00:09:27,910 --> 00:09:34,240
‫Ahora, los dos últimos parámetros son opcionales, así que mantendremos esto simple discutiendo solo los primeros

137
00:09:34,240 --> 00:09:35,110
‫siete parámetros.

138
00:09:35,110 --> 00:09:36,520
‫Veamos cómo funciona esto.

139
00:09:36,730 --> 00:09:42,100
‫Voy a dibujar una esfera de depuración ahora arriba, voy a incluir asistentes de depuración de dibujo.

140
00:09:42,850 --> 00:09:46,630
‫Ahí es donde se declara esta función de dibujar esfera de depuración.

141
00:09:46,660 --> 00:09:52,900
‫Ahora bajemos para comenzar a jugar y simplemente dibujemos una esfera de depuración para ver cómo funciona.

142
00:09:52,900 --> 00:09:58,030
‫Así que voy a llamar a dibujar esfera de depuración y el.

143
00:09:58,110 --> 00:10:00,780
‫El primer parámetro de entrada es un nuevo mundo.

144
00:10:01,110 --> 00:10:09,420
‫Podemos obtener nuestro mundo en cualquier momento llamando a Obtener Mundo, Obtener Mundo Devuelve un nuevo indicador de mundo a nuestro

145
00:10:09,420 --> 00:10:10,500
‫mundo actual.

146
00:10:10,500 --> 00:10:12,930
‫Entonces eso satisfará la primera entrada.

147
00:10:13,260 --> 00:10:16,420
‫Luego, necesitamos un vector f para el centro de la esfera.

148
00:10:16,440 --> 00:10:22,380
‫Ahora llamamos a esto y comenzamos a jugar, así que simplemente puedo llamar a obtener la ubicación del actor y esto obtendrá la

149
00:10:22,380 --> 00:10:24,130
‫ubicación de nuestro estanque de tanques.

150
00:10:24,150 --> 00:10:26,400
‫Ya que estamos en la clase de tanques.

151
00:10:26,640 --> 00:10:29,250
‫Ahora voy a levantar la esfera un poco.

152
00:10:29,250 --> 00:10:40,890
‫Así que voy a agregar un vector F con cero punto F para la x cero punto F para la Y y digo 200 F para la

153
00:10:40,890 --> 00:10:41,380
‫Z.

154
00:10:41,400 --> 00:10:45,120
‫Ahora voy a colocar estos parámetros de entrada cada uno en su propia línea.

155
00:10:45,120 --> 00:10:48,300
‫Así que está claro lo que estamos pasando para cada entrada.

156
00:10:48,330 --> 00:10:55,740
‫La segunda entrada es obtener esta expresión, que es la ubicación del actor, más un vector que apunta hacia arriba con

157
00:10:55,740 --> 00:10:57,230
‫una longitud de 200.

158
00:10:57,240 --> 00:11:04,260
‫La suma de estos dos vectores me dará la ubicación del tanque elevado en el eje Z por 200

159
00:11:04,260 --> 00:11:04,950
‫unidades.

160
00:11:04,980 --> 00:11:09,600
‫Ahora, el siguiente parámetro de entrada será el radio de la esfera.

161
00:11:09,870 --> 00:11:16,970
‫Voy a elegir 100 F solo para que podamos ver cómo se ve una esfera de depuración con un radio de 100.

162
00:11:16,980 --> 00:11:18,900
‫El siguiente es el número de segmentos.

163
00:11:18,990 --> 00:11:20,470
‫Voy a elegir 12.

164
00:11:20,490 --> 00:11:22,130
‫Veremos qué aspecto tiene.

165
00:11:22,140 --> 00:11:29,640
‫Ahora, para un color F, existe una clase de color F y tiene muchos colores incorporados, como el rojo.

166
00:11:29,850 --> 00:11:34,410
‫Ahora, para las líneas persistentes booleanas llamadas B, elegiré verdadero.

167
00:11:34,410 --> 00:11:38,280
‫Y para el siguiente parámetro de entrada tenemos el aviso de por vida.

168
00:11:38,280 --> 00:11:40,850
‫Tiene un valor predeterminado de uno negativo.

169
00:11:40,860 --> 00:11:44,610
‫Eso significa que, de forma predeterminada, dibujará la esfera de depuración para un solo cuadro.

170
00:11:44,610 --> 00:11:52,770
‫Pero voy a pasar 30 F para que tengamos la esfera durante 30 segundos y puedo omitir los dos últimos parámetros.

171
00:11:52,770 --> 00:11:55,670
‫Así que aquí está nuestra llamada de función para dibujar la esfera de depuración.

172
00:11:55,680 --> 00:11:58,260
‫Vamos a compilar esto y ver qué aspecto tiene.

173
00:11:58,710 --> 00:12:00,210
‫Bien, estoy de vuelta en el editor.

174
00:12:00,210 --> 00:12:03,750
‫Voy a abrir una segunda ventana para que podamos ver esto en pantalla completa.

175
00:12:03,750 --> 00:12:10,650
‫Puedo ir a los puertos de visualización de ventanas y seleccionar el puerto de visualización dos y ahora veo esta segunda ventana.

176
00:12:10,680 --> 00:12:15,300
‫Puede que no esté en pantalla completa cuando se abre, pero siempre puedes maximizarlo.

177
00:12:15,330 --> 00:12:18,570
‫Ahora desde aquí puedo jugar el juego con alt p.

178
00:12:18,600 --> 00:12:19,770
‫Ahora mira esto.

179
00:12:19,770 --> 00:12:21,300
‫Aquí está nuestra esfera de depuración.

180
00:12:21,330 --> 00:12:23,610
‫Fíjate que no es perfectamente redondo.

181
00:12:23,610 --> 00:12:26,570
‫Elegimos 12 por el número de segmentos.

182
00:12:26,580 --> 00:12:30,960
‫Cuantos más segmentos elijas, más líneas se necesitan para dibujar la esfera.

183
00:12:30,990 --> 00:12:34,380
‫Ahora, esta es una esfera con un radio de 100.

184
00:12:34,380 --> 00:12:40,170
‫Es bastante grande y el centro de la esfera está en la ubicación del tanque, más 200 unidades en el

185
00:12:40,170 --> 00:12:40,740
‫aire.

186
00:12:40,740 --> 00:12:43,950
‫Así es como podemos dibujar esferas de depuración.

187
00:12:44,130 --> 00:12:49,890
‫Entonces, su desafío es dibujar una esfera de depuración usando el resultado de seguimiento debajo de nuestro cursor.

188
00:12:49,890 --> 00:12:55,140
‫Entonces dibuje una esfera de depuración en nuestra nueva declaración if donde estamos verificando si la referencia del controlador del jugador no

189
00:12:55,140 --> 00:12:55,680
‫es nula.

190
00:12:55,710 --> 00:13:02,520
‫Ahora, usando nuestro resultado de golpe, obtenga el punto de impacto del resultado de golpe y utilícelo como el Centro de

191
00:13:02,520 --> 00:13:03,240
‫la Esfera.

192
00:13:03,390 --> 00:13:09,510
‫Ahora, para el parámetro de entrada de líneas persistentes, use falso y para la duración use uno negativo.

193
00:13:09,510 --> 00:13:14,250
‫Y esto resultará en dibujar la esfera para un solo cuadro, lo cual está bien porque estamos llamando a

194
00:13:14,250 --> 00:13:16,530
‫esto cada cuadro dentro de la función tic.

195
00:13:16,530 --> 00:13:20,490
‫Así que pausa el video y dibuja la esfera de depuración en la función de marca.

196
00:13:23,240 --> 00:13:23,570
‫Bueno.

197
00:13:23,570 --> 00:13:24,920
‫Así que estoy de vuelta aquí en Tank.

198
00:13:26,180 --> 00:13:32,480
‫Ahora tengo esta llamada de función de esfera de depuración dibujada aquí y comienzo a reproducir, así que puedo continuar y copiar eso

199
00:13:32,480 --> 00:13:38,450
‫y simplemente eliminarlo de comenzar a reproducir y vamos a volver a marcar aquí dentro de nuestra instrucción if y solo estoy

200
00:13:38,450 --> 00:13:42,380
‫vamos a pegarlo aquí y vamos a cambiar algunos de los parámetros de entrada.

201
00:13:42,380 --> 00:13:46,490
‫Por un lado, estamos cambiando la ubicación del centro de la esfera.

202
00:13:46,490 --> 00:13:47,960
‫Vamos a utilizar el resultado del golpe.

203
00:13:47,960 --> 00:13:51,200
‫Así que voy a decir punto de impacto de punto de resultado de golpe.

204
00:13:51,440 --> 00:13:54,440
‫Ahora para el radio, me gustaría hacerlo un poco más pequeño.

205
00:13:54,440 --> 00:13:56,510
‫Hagamos que sea alrededor de 25.

206
00:13:56,810 --> 00:13:57,320
‫Esta bien.

207
00:13:57,320 --> 00:13:59,360
‫Si no hiciste eso, solo estoy haciendo esto.

208
00:13:59,360 --> 00:14:01,280
‫Así que la esfera no es tan grande.

209
00:14:01,280 --> 00:14:06,230
‫Ahora, el penúltimo parámetro que estamos pasando es para líneas persistentes.

210
00:14:06,230 --> 00:14:12,500
‫Voy a pasar en falso y por la duración en lugar de 30 segundos, voy a usar un punto

211
00:14:12,500 --> 00:14:13,190
‫F negativo.

212
00:14:13,190 --> 00:14:18,920
‫De esa manera obtendremos una esfera para un solo cuadro, lo cual está bien, de nuevo, lo llamaremos en la función

213
00:14:18,920 --> 00:14:21,560
‫de tic, así que lo llamaremos en cada cuadro.

214
00:14:21,560 --> 00:14:23,300
‫Sigamos adelante y compilemos esto.

215
00:14:23,750 --> 00:14:25,130
‫Ahora, de vuelta en el editor.

216
00:14:25,130 --> 00:14:28,010
‫Si le doy al play ahora, mira esto.

217
00:14:28,040 --> 00:14:34,280
‫Tengo una esfera de depuración y se está dibujando en el punto de impacto para el trazo de línea debajo del cursor.

218
00:14:34,280 --> 00:14:42,590
‫Ahora podemos mover esto hacia arriba en las paredes y en otros objetos y el trazo está golpeando estos objetos porque están configurados

219
00:14:42,590 --> 00:14:44,810
‫para bloquear el canal de visibilidad.

220
00:14:44,840 --> 00:14:46,460
‫Bastante impresionante en este momento.

221
00:14:46,460 --> 00:14:50,630
‫Prometí que discutiríamos el rastreo complejo versus el rastreo simple.

222
00:14:50,660 --> 00:14:53,510
‫Te voy a mostrar algo mientras jugamos.

223
00:14:53,510 --> 00:14:57,770
‫Hagamos clic en la ventana gráfica para tener control sobre nuestra palma.

224
00:14:57,770 --> 00:15:02,360
‫Ahora presione la tecla de tilde y escriba el comando de consola mostrar colisión.

225
00:15:02,360 --> 00:15:07,610
‫Ahora puede que no sea tan fácil de ver en mi pantalla, pero definitivamente puedes verlo en tu pantalla.

226
00:15:07,610 --> 00:15:10,880
‫Observe la colisión de nuestros peones.

227
00:15:10,910 --> 00:15:18,020
‫No solo podemos ver la cápsula, sino que también podemos ver este volumen de colisión alrededor de las mallas de nuestro tanque y torreta.

228
00:15:18,020 --> 00:15:20,000
‫Esta es una colisión simple.

229
00:15:20,090 --> 00:15:24,050
‫Déjame mostrarte rápidamente dónde podemos ver la colisión simple.

230
00:15:24,080 --> 00:15:31,250
‫Voy a ir a activos y mallas y si hago doble clic en, digamos, base de tanque aquí, estamos viendo

231
00:15:31,250 --> 00:15:32,690
‫la colisión compleja.

232
00:15:32,690 --> 00:15:39,500
‫Si hago clic en este ícono de mostrar aquí en la parte superior y selecciono colisión compleja, puedo ver todos los polígonos

233
00:15:39,500 --> 00:15:42,410
‫en la colisión compleja y hay muchos de ellos.

234
00:15:42,440 --> 00:15:49,370
‫Si vuelvo a hacer clic en el ícono de mostrar y esta vez marco la casilla de verificación junto a Colisión simple, observe que

235
00:15:49,370 --> 00:15:51,020
‫hay otro volumen de colisión.

236
00:15:51,020 --> 00:15:56,780
‫Esto se llama casco de colisión y tiene mucha menos geometría.

237
00:15:56,780 --> 00:16:00,950
‫Hay un número menor de polígonos con este volumen de colisión.

238
00:16:00,950 --> 00:16:06,230
‫Esto es lo que usa el motor de física para detectar la superposición en los eventos de éxito.

239
00:16:06,230 --> 00:16:11,360
‫Si estuviera usando la colisión compleja, requeriría muchos más cálculos.

240
00:16:11,360 --> 00:16:17,780
‫Esta es la razón por la que tenemos volúmenes de colisión simples, por lo que es mucho mejor para el rendimiento cada vez

241
00:16:17,780 --> 00:16:23,270
‫que se realiza un seguimiento de línea si rastreamos una colisión simple en lugar de una colisión compleja.

242
00:16:23,870 --> 00:16:27,200
‫Así que ahora tenemos el resultado del éxito debajo del cursor.

243
00:16:27,290 --> 00:16:32,480
‫Tomó algo de trabajo llegar allí, pero ahora lo tenemos y lo hemos probado al mostrar esta ubicación con

244
00:16:32,480 --> 00:16:33,650
‫una esfera de depuración.

245
00:16:33,650 --> 00:16:36,800
‫Esta es una buena manera de confirmar que nuestro hit de seguimiento está funcionando.

246
00:16:36,800 --> 00:16:42,650
‫Entonces, ahora que sabemos que funciona, podemos usar esa ubicación para girar la torreta de nuestro tanque.

247
00:16:42,980 --> 00:16:45,260
‫Y lo haremos en el siguiente video.

248
00:16:45,440 --> 00:16:46,520
‫Te veré pronto.

