﻿1
00:00:04,610 --> 00:00:05,630
‫Hola y bienvenido.

2
00:00:05,630 --> 00:00:12,230
‫En esta lección, vamos a crear un nuevo componente en C++, este cuadro de activación, que nos informará

3
00:00:12,230 --> 00:00:16,850
‫cuando entremos en la alcoba o coloquemos cualquier objeto en la alcoba.

4
00:00:16,850 --> 00:00:20,690
‫Puede ver que estamos recibiendo un pequeño mensaje de plano en la esquina superior izquierda.

5
00:00:21,170 --> 00:00:27,320
‫Y para hacer eso, vamos a tener que entender cómo se comportan las superposiciones y los bloqueos y

6
00:00:27,320 --> 00:00:29,870
‫las diferentes respuestas de colisión en Unreal.

7
00:00:29,870 --> 00:00:31,460
‫Vamos a sumergirnos y averiguarlo.

8
00:00:32,570 --> 00:00:36,450
‫Ahora ya nos hemos familiarizado con el funcionamiento de los canales de seguimiento.

9
00:00:36,470 --> 00:00:42,870
‫Sabemos que puede tener respuestas de rastreo en los diferentes objetos en nuestra escena, como este arbusto aquí.

10
00:00:42,890 --> 00:00:51,410
‫Puede ver que tiene una respuesta de ignorar los rastros de armas, pero bloquea los rastros de visibilidad.

11
00:00:52,370 --> 00:00:58,370
‫Luego está este ejemplo de vidrio a prueba de balas que bloquea las armas pero permite la visibilidad y una pared

12
00:00:58,370 --> 00:01:00,050
‫de ladrillos que bloquea ambas.

13
00:01:00,350 --> 00:01:03,760
‫Así que puedes ver cómo funciona este sistema con canales de seguimiento.

14
00:01:03,770 --> 00:01:09,320
‫Ahora, ¿qué sucede si estamos tratando de decidir qué objetos pueden superponerse entre sí?

15
00:01:09,560 --> 00:01:10,730
‫¿Cuáles pasan?

16
00:01:10,760 --> 00:01:12,160
‫¿Cuáles se bloquean entre sí?

17
00:01:12,170 --> 00:01:14,420
‫Eso puede ser un poco más complicado.

18
00:01:14,660 --> 00:01:21,380
‫Ya vimos esto cuando intentamos que la gárgola se superpusiera con nuestro peón.

19
00:01:21,740 --> 00:01:23,490
‫Ahora, así es como funciona.

20
00:01:23,510 --> 00:01:25,700
‫Esencialmente, usamos estos tipos de objetos.

21
00:01:26,450 --> 00:01:30,950
‫Cada objeto puede pertenecer a un tipo de objeto particular.

22
00:01:31,220 --> 00:01:34,350
‫Y esto es diferente al tipo de sistema de tipos en C++.

23
00:01:34,370 --> 00:01:36,500
‫Estos son tipos de colisión.

24
00:01:36,890 --> 00:01:43,580
‫Así que podrías tener el objeto A, un objeto B, y en su configuración, si vamos y echamos un vistazo a

25
00:01:43,580 --> 00:01:48,770
‫la configuración de nuestra gárgola, por ejemplo, puedes ver que tienen su propio tipo de objeto.

26
00:01:48,770 --> 00:01:51,230
‫Este es un objeto estático mundial.

27
00:01:51,740 --> 00:01:56,120
‫Pero luego, más abajo, también tienen sus respuestas a otros tipos de objetos.

28
00:01:56,420 --> 00:02:00,320
‫Entonces puedes ver que este objeto bloqueará otras estáticas mundiales.

29
00:02:00,590 --> 00:02:02,690
‫Bloqueará otras dinámicas mundiales.

30
00:02:03,050 --> 00:02:05,390
‫Superpondrá los tipos de peones.

31
00:02:05,750 --> 00:02:09,230
‫Bloqueará cuerpos físicos y prácticamente bloqueará cualquier otro tipo.

32
00:02:10,070 --> 00:02:16,070
‫Y obviamente, el propio peón, si vamos a buscar a nuestro jugador BP.

33
00:02:17,070 --> 00:02:19,310
‫Y mira en su componente cápsula.

34
00:02:19,320 --> 00:02:24,270
‫Mire los detalles y desplácese hacia abajo hasta donde tenemos un preajuste de colisión.

35
00:02:24,270 --> 00:02:29,670
‫Si podemos expandir el preajuste de extracción y colisión, no podemos editarlo, pero podemos ver lo que está haciendo.

36
00:02:30,150 --> 00:02:34,380
‫Y puedes ver que tiene su propia respuesta a la estática mundial.

37
00:02:34,380 --> 00:02:37,950
‫Así que su respuesta al mundo estático sería bloquearlo.

38
00:02:38,370 --> 00:02:40,890
‫Así que en realidad tenemos dos opciones diferentes aquí.

39
00:02:41,130 --> 00:02:49,170
‫El peón dice que bloqueo la estática mundial, pero la gárgola dice que superpongo peones.

40
00:02:49,410 --> 00:02:50,430
‫Entonces, ¿qué debería pasar?

41
00:02:50,790 --> 00:02:54,870
‫Bueno, aquí es donde entra esta tabla y tengo un enlace a esta publicación de blog

42
00:02:54,870 --> 00:02:57,540
‫si desea leerla completa en los recursos de la conferencia.

43
00:02:57,960 --> 00:03:02,070
‫Entonces puede ver que se necesita la menor interacción de bloqueo entre los dos.

44
00:03:02,070 --> 00:03:08,880
‫Entonces, si el objeto A era el peón y dice, oye, debería bloquear esa gárgola, pero el objeto B de

45
00:03:08,880 --> 00:03:11,610
‫las gárgolas dice, oye, debería superponer ese peón.

46
00:03:11,880 --> 00:03:15,690
‫Así que va a tomar el menor bloqueo de esos dos y va a superponerse.

47
00:03:16,320 --> 00:03:21,960
‫Entonces significa que si quieres que dos cosas se bloqueen entre sí, ambas deben estar de acuerdo en que eso es

48
00:03:21,960 --> 00:03:23,040
‫lo que quieren hacer.

49
00:03:23,340 --> 00:03:25,350
‫Así que veamos otro ejemplo aquí.

50
00:03:25,350 --> 00:03:31,350
‫Tenemos al jugador que es un peón de tipo objeto, y su respuesta de objeto a otros peones es

51
00:03:31,350 --> 00:03:34,530
‫bloquearlos y los objetos estáticos del mundo es bloquearlos.

52
00:03:35,100 --> 00:03:37,650
‫La pared de ladrillos es un objeto estático mundial.

53
00:03:37,740 --> 00:03:40,320
‫Puede bloquear peones y bloquear el mundo estático.

54
00:03:40,320 --> 00:03:42,150
‫Así que estos dos estarían de acuerdo entre sí.

55
00:03:42,510 --> 00:03:46,160
‫Ahora el arbusto también es estático mundial, pero se superpone a los peones.

56
00:03:46,170 --> 00:03:50,040
‫Es muy parecido a nuestra gárgola, pero bloquea la estática mundial.

57
00:03:50,460 --> 00:03:56,730
‫Entonces, si baja y observa lo que sucedería, el peón intentaría viajar a través del arbusto y podría hacerlo

58
00:03:56,730 --> 00:04:02,220
‫porque toma la opción de menor bloqueo, que es la superposición y genera un evento de

59
00:04:02,220 --> 00:04:08,340
‫superposición que podemos conectar en el código o blueprint, mientras que no podrá atravesar la pared de ladrillos

60
00:04:08,340 --> 00:04:13,800
‫y generará un evento de éxito nuevamente, algo a lo que podemos engancharnos en Blueprint

61
00:04:13,800 --> 00:04:14,640
‫o C++.

62
00:04:15,000 --> 00:04:17,760
‫Entonces, ¿por qué entro en toda esta profundidad?

63
00:04:17,760 --> 00:04:25,770
‫Porque lo que quiero hacer es poner un objeto que sea básicamente invisible dentro de esta pared que nos permita

64
00:04:25,770 --> 00:04:30,570
‫poner la gárgola aquí y obtendremos un evento cuando eso suceda.

65
00:04:30,570 --> 00:04:36,150
‫Entonces la gárgola apoyará un evento y dirá: Oye, tengo algo que se superpone conmigo.

66
00:04:36,450 --> 00:04:37,830
‫Entonces, ¿por qué es importante todo esto?

67
00:04:37,830 --> 00:04:44,640
‫Porque quiero poner un objeto que es invisible pero que se superpondrá con la gárgola y nos informará sobre

68
00:04:44,640 --> 00:04:45,510
‫ese hecho.

69
00:04:45,510 --> 00:04:50,310
‫Luego podemos consultarlo desde C ++ o podemos obtener eventos en planos de cualquier manera.

70
00:04:50,490 --> 00:04:55,890
‫Y la forma en que vamos a hacer esto es, en primer lugar, crear un plano a partir de esta pared de la mazmorra.

71
00:04:55,890 --> 00:05:01,200
‫Así que voy a hacer clic en el botón de plano en el

72
00:05:01,230 --> 00:05:10,050
‫panel de detalles, crear una nueva subclase, y voy a llamarla BP, Underscore Secret Wall, y vamos a presionar seleccionar para crearla.

73
00:05:10,650 --> 00:05:15,240
‫Y lo llevó a nuestra ventana principal y tiene un motor en él.

74
00:05:15,270 --> 00:05:22,800
‫Lo que también quiero agregar aquí es esencialmente un componente que se llama colisión de caja.

75
00:05:23,430 --> 00:05:27,630
‫Entonces, si hacemos clic en una colisión de cajas, pueden ver que es completamente invisible.

76
00:05:28,080 --> 00:05:32,820
‫Simplemente le da algunas extensiones de cuadro que podemos cambiar.

77
00:05:32,820 --> 00:05:39,330
‫Podemos hacerlas más grandes para que en cualquier lugar que coloquemos la gárgola en esta caja, la acepte.

78
00:05:40,320 --> 00:05:44,850
‫Y podemos ver que tiene opciones de colisión aquí abajo.

79
00:05:44,850 --> 00:05:49,170
‫Tenemos una superposición de todas las dinámicas por defecto, pero como preajuste por defecto.

80
00:05:49,170 --> 00:05:54,600
‫Pero si seleccionamos personalizado, puede ver que podemos cambiar los tipos de objetos y podemos cambiar la forma en que

81
00:05:54,900 --> 00:05:56,340
‫responde a diferentes cosas aquí.

82
00:05:56,520 --> 00:06:04,140
‫Y creo que lo más importante, como puede ver, está configurado para superponerse con la mayoría de los tipos de objetos, lo

83
00:06:04,140 --> 00:06:09,810
‫que significa que incluso si no están configurados para superponerse con la dinámica mundial, se superpondrá.

84
00:06:09,810 --> 00:06:14,070
‫No va a bloquear nada que nos permita colocar la gárgola aquí.

85
00:06:14,340 --> 00:06:20,670
‫Así que voy a eliminar ese componente de la escena porque lo que queremos hacer es crear un

86
00:06:20,670 --> 00:06:24,660
‫nuevo componente en C++ basado en esa colisión de cajas.

87
00:06:24,780 --> 00:06:31,050
‫Ahora solo quiero mostrarles que con este cuadro, si lo volvemos a establecer en el ajuste

88
00:06:31,050 --> 00:06:38,940
‫preestablecido predeterminado que tenía, creo que se superponen todas las dinámicas y marcamos o, como ya está marcado, generar eventos superpuestos

89
00:06:38,940 --> 00:06:40,140
‫ya está marcado.

90
00:06:40,590 --> 00:06:48,570
‫Luego podemos ir a nuestro gráfico de eventos y podemos hacer clic derecho aquí y buscar superposición.

91
00:06:48,870 --> 00:06:56,400
‫Y justo en la parte superior, puede ver un componente adicional que comienza a superponerse para el cuadro.

92
00:06:56,400 --> 00:07:07,170
‫Entonces, si hacemos clic en eso y cambiamos el nombre del componente del cuadro para activar el área, básicamente, si nos superponemos con el

93
00:07:07,170 --> 00:07:14,370
‫área de activación, obtendremos una lista de propiedades de lo que se superpone con nosotros para

94
00:07:14,370 --> 00:07:16,350
‫que podamos tomar el.

95
00:07:16,790 --> 00:07:17,840
‫Se superpone con los niños.

96
00:07:17,870 --> 00:07:19,460
‫Obtén su nombre.

97
00:07:19,730 --> 00:07:27,110
‫Entonces, obtener el nombre para mostrar es el nombre del nodo y luego podríamos tomar eso e imprimir la cadena de

98
00:07:27,230 --> 00:07:32,330
‫resultados y conectarla al pin de ejecución y podemos continuar y presionar reproducir.

99
00:07:32,630 --> 00:07:40,130
‫Y si caminamos hacia el área, pueden ver que está diciendo que el reproductor de pitidos es lo que se superpone.

100
00:07:40,130 --> 00:07:42,050
‫Ahora no puede ver el error porque está muy oscuro.

101
00:07:42,050 --> 00:07:50,570
‫Así que voy a ir a la pared secreta de nuevo y un pitido y voy a agregar un componente de luz puntual, que

102
00:07:51,380 --> 00:07:57,890
‫voy a colocar en este pequeño nicho girando su cara hacia abajo e iluminando el espacio donde estamos.

103
00:07:58,010 --> 00:07:59,420
‫quiere el objeto.

104
00:07:59,750 --> 00:08:01,760
‫Ahora en la escena, podemos verlo muy claramente.

105
00:08:02,000 --> 00:08:06,500
‫Así que sigamos adelante y presionemos reproducir y podemos caminar hasta ese nicho.

106
00:08:06,500 --> 00:08:14,240
‫Si lo superponemos, dice que el reproductor de pitidos se superpone y podemos ir y agarrar

107
00:08:14,240 --> 00:08:23,720
‫nuestra gárgola de esta celda usando nuestro capturador recién acuñado, y podemos tomar esa gárgola y colocarla en esta área.

108
00:08:24,320 --> 00:08:33,590
‫Sin embargo, no parece generar ningún evento superpuesto, y eso se debe a que, como necesitamos, hay dos partes

109
00:08:33,590 --> 00:08:35,480
‫en la colisión.

110
00:08:35,480 --> 00:08:38,270
‫También hay dos partes para generar eventos superpuestos.

111
00:08:38,660 --> 00:08:45,620
‫Entonces, el hecho de que lo tengamos habilitado en ese componente de caja no significa que la gárgola que se mueve hacia

112
00:08:45,620 --> 00:08:48,770
‫él realmente nos alertará sobre cualquier evento de superposición.

113
00:08:48,780 --> 00:08:54,950
‫Entonces, lo que tenemos que hacer es ir a la gárgola y verificar que también genere eventos de superposición.

114
00:08:55,460 --> 00:08:58,490
‫Entonces, los eventos de superposición deberían ocurrir.

115
00:08:58,490 --> 00:09:06,470
‫Vayamos y recojamos la gárgola, llévelo a la alcoba y métalo adentro.

116
00:09:06,470 --> 00:09:09,170
‫Y ahora tenemos un evento por venir.

117
00:09:09,560 --> 00:09:14,150
‫Cuando eso sucede, la estatua de Gargoyle se está registrando.

118
00:09:14,330 --> 00:09:19,280
‫Ahora, no quiero usar eventos modelo en este caso particular.

119
00:09:19,280 --> 00:09:26,960
‫Entonces, lo que quiero hacer es tomar nuestro componente de área de activación y convertirlo en un componente de C++

120
00:09:26,960 --> 00:09:32,570
‫que pueda evaluar si tiene la estatua de Gargoyle que quiere o no.

121
00:09:33,230 --> 00:09:37,940
‫La forma en que vamos a hacer esto es que vamos a AGREGAR componentes, crear nuevos componentes de C++.

122
00:09:38,270 --> 00:09:44,480
‫Y como clase principal, en lugar de elegir el componente ACT o los componentes

123
00:09:44,480 --> 00:09:50,810
‫de escena, vamos a ir a todas las clases y buscaremos el componente de caja.

124
00:09:50,990 --> 00:09:55,340
‫Y puede ver los componentes de la forma, los componentes de la caja, el que queremos y podemos continuar y

125
00:09:55,340 --> 00:09:55,910
‫presionar siguiente.

126
00:09:56,150 --> 00:10:00,320
‫Entonces, me gustaría desafiarlo a crear este componente ahora que le mostré cómo configurar la clase

127
00:10:00,320 --> 00:10:00,770
‫principal.

128
00:10:01,100 --> 00:10:06,980
‫Así que lo nombrará componentes desencadenantes y tendrá que copiar algunas cosas de los otros componentes que hemos

129
00:10:06,980 --> 00:10:10,070
‫creado porque no está configurado de la misma manera.

130
00:10:10,280 --> 00:10:15,050
‫Dado que derivamos de un padre diferente, no es necesario que copie la alineación de su clase.

131
00:10:15,260 --> 00:10:20,570
‫Toda esa línea está básicamente vacía en el componente desencadenante a medida que lo crea.

132
00:10:20,570 --> 00:10:28,370
‫Así que copie eso de su capturador o su motor y, de lo contrario, no podrá agregar sus componentes

133
00:10:28,670 --> 00:10:30,140
‫a sus planos.

134
00:10:30,140 --> 00:10:39,440
‫Entonces, debe usar estos nuevos componentes de activación para reemplazar nuestros componentes de caja actuales e imprimir algo desde Comenzar a

135
00:10:39,440 --> 00:10:40,670
‫jugar nuevamente.

136
00:10:41,000 --> 00:10:46,280
‫Begin Play no se configurará automáticamente para usted, por lo que tendrá que copiar desde el archivo

137
00:10:46,280 --> 00:10:50,120
‫de encabezado y el archivo C++ de nuestros otros componentes para configurarlo.

138
00:10:50,510 --> 00:10:52,160
‫Pausa el video y pruébalo.

139
00:10:55,490 --> 00:10:56,020
‫Bueno.

140
00:10:56,030 --> 00:10:56,970
‫Bienvenido de nuevo.

141
00:10:56,990 --> 00:11:02,090
‫Así que voy a llamarlo los componentes desencadenantes, todo una palabra y un golpe para crear la clase.

142
00:11:02,360 --> 00:11:08,450
‫Entonces, como se predijo, una nueva línea de clase no tiene nada dentro de los paréntesis.

143
00:11:08,450 --> 00:11:15,210
‫Y si vamos y echamos un vistazo a nuestro editor y vamos al secreto de BP, intentaremos agregar este componente

144
00:11:15,240 --> 00:11:16,610
‫de búsqueda de disparador.

145
00:11:17,120 --> 00:11:19,100
‫Puedes ver que no sale nada.

146
00:11:19,430 --> 00:11:25,160
‫Y la razón de esto es que si pasamos a Tomo un punto H y tuvimos que mirar su línea de clase,

147
00:11:25,640 --> 00:11:30,050
‫pueden ver que hay un poco aquí que dice un engendro de plano de un componente.

148
00:11:30,500 --> 00:11:33,080
‫Entonces, de manera crucial, necesitamos copiar esto.

149
00:11:33,080 --> 00:11:34,280
‫También tiene un grupo de clase.

150
00:11:34,280 --> 00:11:40,460
‫También podríamos copiar todo porque esto nos permite crear estos componentes en el modelo para que podamos

151
00:11:40,470 --> 00:11:45,200
‫ir y pegar esto como la línea de clase para el componente desencadenante.

152
00:11:45,920 --> 00:11:48,980
‫Y luego, la otra cosa, si vamos a agarrarlo, pueden ver que comienza a reproducirse.

153
00:11:49,220 --> 00:11:55,880
‫Está dentro de una sección protegida y podemos simplemente copiar la definición de esa función de inicio

154
00:11:55,880 --> 00:12:02,780
‫de reproducción, copiarla en nuestros componentes de activación y colocarla como estaba en el capturador, justo debajo del cuerpo

155
00:12:02,780 --> 00:12:03,350
‫generado.

156
00:12:03,800 --> 00:12:08,420
‫Luego podemos ir a tomar un CP y ver qué tan grande se definió en el juego.

157
00:12:08,420 --> 00:12:12,440
‫Aquí puedes ver que tiene este toque genial para comenzar a jugar que es realmente importante.

158
00:12:12,740 --> 00:12:15,860
‫Así que vamos a copiar eso, ir a un componente desencadenante.

159
00:12:15,860 --> 00:12:27,320
‫CP Y vamos a cambiar el componente de disparador, agarra dos puntos, comienza a jugar y luego aquí podemos poner un

160
00:12:27,320 --> 00:12:35,000
‫nuevo registro y solo vamos a escribir un mensaje simple como componente de disparador

161
00:12:35,150 --> 00:12:35,870
‫vivo.

162
00:12:36,620 --> 00:12:38,090
‫Seguiremos adelante y compilaremos.

163
00:12:38,090 --> 00:12:42,710
‫Esto puede llevar un poco de tiempo, ya que hemos realizado algunos cambios bastante significativos en nuestro encabezado de archivo.

164
00:12:42,950 --> 00:12:48,830
‫Y una vez hecho esto, podemos ir a nuestro muro secreto de BP, ir a agregar y buscar disparador.

165
00:12:49,430 --> 00:12:51,860
‫Y aquí pueden ver que tenemos ese componente disparador.

166
00:12:52,160 --> 00:12:53,660
‫Ahora podemos agregar eso.

167
00:12:53,660 --> 00:12:58,760
‫Podemos eliminar nuestra área de activación que hemos configurado anteriormente.

168
00:12:59,210 --> 00:13:03,710
‫Simplemente continúe y elimine eso y verifique que aún queremos eliminarlo.

169
00:13:03,710 --> 00:13:09,140
‫Básicamente, invalidará este evento que creamos y podemos verificar que las colisiones estén configuradas como queremos en

170
00:13:09,140 --> 00:13:11,870
‫el gatillo si vamos a echar un vistazo.

171
00:13:11,870 --> 00:13:15,590
‫Sí, está configurado para superponer todas las dinámicas y generar eventos superpuestos.

172
00:13:15,980 --> 00:13:21,860
‫Y finalmente, lo que necesitamos reemplazar es este evento aquí donde vamos a seleccionar

173
00:13:21,860 --> 00:13:31,310
‫nuestro botón derecho del disparador e ir a desplegar el evento de agregar para Trigger Collision y agregar nuestro propio componente de superposición de inicio.

174
00:13:31,310 --> 00:13:32,780
‫Eso es lo que estábamos usando antes.

175
00:13:33,200 --> 00:13:41,090
‫Engancha el pin activo y el pin de ejecución para dirigirte al nivel de la mazmorra.

176
00:13:41,660 --> 00:13:47,840
‫Ve y recoge la gárgola, intenta meterla en la alcoba y notamos que no funciona.

177
00:13:48,110 --> 00:13:50,300
‫Así que ahora tenemos ese gatillo configurado.

178
00:13:50,300 --> 00:13:55,150
‫Vayamos a la ventana gráfica y puede ver que en realidad no se ha realizado el disparador.

179
00:13:55,160 --> 00:13:56,300
‫No se ha hecho lo suficientemente grande.

180
00:13:56,300 --> 00:13:57,650
‫No lo hemos colocado correctamente.

181
00:13:57,650 --> 00:14:06,320
‫Así que vayamos y colóquelo en el centro de la alcoba y aumentemos las propiedades de extensión de la caja para que atrapemos

182
00:14:06,710 --> 00:14:11,540
‫todo lo que hayamos puesto dentro de esta área de la alcoba.

183
00:14:12,510 --> 00:14:17,570
‫No importa si es un poco más grande y nos da un margen de seguridad, entonces podemos entrar en la

184
00:14:17,840 --> 00:14:20,150
‫mazmorra, presionar reproducir y luego entrar en la alcoba.

185
00:14:20,150 --> 00:14:25,190
‫Y, efectivamente, detecta que el jugador de BP ha entrado en ese nicho.

186
00:14:25,370 --> 00:14:25,910
‫Buena cosa.

187
00:14:25,910 --> 00:14:31,370
‫En esta lección hemos aprendido todo sobre tipos de objetos y respuestas de tipos de objetos, y lo

188
00:14:31,370 --> 00:14:34,010
‫hemos usado para configurar este componente de disparo.

189
00:14:34,040 --> 00:14:35,720
‫Te veré en la próxima conferencia.

