﻿1
00:00:04,110 --> 00:00:05,100
‫Bienvenido de nuevo.

2
00:00:05,370 --> 00:00:12,150
‫Entonces, ya creamos un nuevo puntero de componente de cápsula y lo declaramos hacia adelante para que no tuviéramos que

3
00:00:12,150 --> 00:00:15,390
‫incluir el archivo de encabezado en base a h.

4
00:00:15,450 --> 00:00:22,140
‫Ahora es el momento de construir un subobjeto de componente de cápsula para nuestro POM base. Y una vez que lo

5
00:00:22,140 --> 00:00:25,410
‫hagamos, configuraremos nuestro componente raíz para que sea la cápsula.

6
00:00:26,380 --> 00:00:30,010
‫Entonces, ¿cómo construimos realmente un componente de tu cápsula?

7
00:00:30,130 --> 00:00:31,750
‫El proceso es muy irreal.

8
00:00:31,750 --> 00:00:37,300
‫El motor irreal específico del motor ha creado un subobjeto predeterminado.

9
00:00:37,450 --> 00:00:39,880
‫Esta es una función de plantilla.

10
00:00:39,910 --> 00:00:46,060
‫Una función de plantilla se adapta al tipo elegido para que podamos elegir un tipo en particular y crear un valor predeterminado.

11
00:00:46,060 --> 00:00:48,460
‫El objeto secundario se adaptará a ese tipo.

12
00:00:48,460 --> 00:00:53,290
‫Pasamos el tipo que deseamos construir para crear un subobjeto predeterminado.

13
00:00:53,590 --> 00:00:57,210
‫A diferencia de una función regular, tiene estos paréntesis angulares.

14
00:00:57,220 --> 00:01:00,400
‫Aquí es donde pasamos el tipo a construir.

15
00:01:00,430 --> 00:01:04,930
‫Ahora, crear un subobjeto predeterminado también toma un argumento entre paréntesis.

16
00:01:04,930 --> 00:01:08,140
‫Este será un nombre que asignaremos al subobjeto.

17
00:01:08,140 --> 00:01:12,220
‫Esto es diferente al nombre de la variable y se pasa como un literal de cadena.

18
00:01:12,550 --> 00:01:13,960
‫Así que aquí hay un ejemplo.

19
00:01:13,960 --> 00:01:17,170
‫Digamos que deseamos crear un componente de malla estática u.

20
00:01:17,350 --> 00:01:24,700
‫Entonces llamamos a crear un subobjeto predeterminado y terminamos los corchetes angulares que pasamos en el componente de malla estática tipo u

21
00:01:24,700 --> 00:01:27,190
‫y entre paréntesis le damos un nombre.

22
00:01:27,190 --> 00:01:31,300
‫Ahora ya ha visto que para String Literals, debe usar la macro de texto.

23
00:01:31,300 --> 00:01:35,200
‫Así que estamos pasando nuestro literal de cadena al usar la macro de texto aquí.

24
00:01:35,230 --> 00:01:38,890
‫Ahora, como mencioné, este es un nombre interno usado por Unreal Engine.

25
00:01:38,920 --> 00:01:41,080
‫Hay otras funciones que usan esto.

26
00:01:41,080 --> 00:01:45,130
‫Por ejemplo, hay una función llamada obtener subobjeto predeterminado por nombre.

27
00:01:45,160 --> 00:01:50,890
‫Recupera un subobjeto que pertenece a un objeto en particular y puede llamarlo pasando un nombre en

28
00:01:50,890 --> 00:01:54,190
‫particular y buscará el subobjeto con ese nombre elegido.

29
00:01:54,370 --> 00:01:59,440
‫Entonces, la llamada de función general para crear un subobjeto predeterminado se ve así.

30
00:01:59,620 --> 00:02:03,580
‫El tipo va entre paréntesis angulares y el nombre entre paréntesis.

31
00:02:03,580 --> 00:02:09,460
‫Ahora, crear un subobjeto predeterminado devuelve la dirección del componente recién creado.

32
00:02:09,460 --> 00:02:15,910
‫Entonces, en nuestro caso, si pasamos el uso del componente de malla estática como tipo, obtenemos la dirección de un

33
00:02:15,910 --> 00:02:21,970
‫componente de malla estática y podemos almacenarla en un puntero, ya que los punteros almacenan direcciones de cosas.

34
00:02:21,970 --> 00:02:26,050
‫Supongamos que creamos un puntero de componente de malla estático de uso llamado malla.

35
00:02:26,050 --> 00:02:32,500
‫Luego, podemos tomar esa dirección devuelta por crear un subobjeto predeterminado y almacenar esa dirección en nuestro puntero

36
00:02:32,500 --> 00:02:33,220
‫de malla.

37
00:02:33,700 --> 00:02:39,550
‫Entonces, ahora que sabe cómo funciona la creación de subobjetos predeterminados, utilizará esto para construir un objeto

38
00:02:39,550 --> 00:02:40,960
‫de componente de cápsula.

39
00:02:40,990 --> 00:02:47,230
‫Vas a hacer esto en el constructor PON base, usa crear un subobjeto predeterminado para construir un componente

40
00:02:47,230 --> 00:02:54,310
‫de cápsula, pasarlo en tu componente de cápsula y los corchetes angulares como el tipo para construir y pasar en el

41
00:02:54,310 --> 00:02:58,540
‫colisionador de cápsula envuelto en una macro de texto entre paréntesis.

42
00:02:58,900 --> 00:03:03,880
‫Pausa el video y agrega esto a base pont CP en el constructor ahora.

43
00:03:07,720 --> 00:03:08,170
‫Bueno.

44
00:03:08,170 --> 00:03:09,430
‫Así que estamos aquí en Bass Pond.

45
00:03:09,640 --> 00:03:13,270
‫CP y nos gustaría construir un componente de cápsula.

46
00:03:13,270 --> 00:03:21,400
‫Así que vamos a tomar nuestra variable de compensación de cápsula y asignar el valor devuelto por crear subobjeto

47
00:03:21,400 --> 00:03:22,150
‫predeterminado.

48
00:03:22,510 --> 00:03:29,620
‫Ahora, como hemos visto, esta función de plantilla tiene paréntesis angulares y paréntesis, y vimos que el tipo

49
00:03:29,620 --> 00:03:34,480
‫va entre corchetes angulares, vamos a usar el componente de cápsula U.

50
00:03:34,570 --> 00:03:41,320
‫Y para los paréntesis vamos a usar la macro de texto y vamos a llamar a este colisionador de cápsulas.

51
00:03:42,160 --> 00:03:43,210
‫Y ahí vamos.

52
00:03:43,390 --> 00:03:48,870
‫Ahora estamos usando su componente cápsula para construir un objeto de este tipo.

53
00:03:48,880 --> 00:03:52,450
‫Y cuando usamos un tipo, incluimos su archivo de encabezado.

54
00:03:52,960 --> 00:03:56,290
‫Ahora veamos qué sucede cuando intentamos compilar.

55
00:03:56,320 --> 00:04:00,560
‫Ahora nuevamente, puede usar la codificación en vivo o puede compilar aquí en código VZ.

56
00:04:00,580 --> 00:04:03,820
‫Voy a compilar aquí en código VTS a lo largo de esta sección.

57
00:04:03,820 --> 00:04:09,130
‫Entonces, puede saber que cuando compilo, cerré el editor de Unreal Engine y solo estoy compilando desde

58
00:04:09,130 --> 00:04:09,550
‫aquí.

59
00:04:09,550 --> 00:04:14,770
‫Me gustaría ver el mensaje de error aquí y el código VTS ahora intentando compilar esto aquí.

60
00:04:14,770 --> 00:04:17,950
‫Obtenemos un error diferente al que vimos en el último video.

61
00:04:17,980 --> 00:04:21,430
‫Uso de componente de cápsula tipo u indefinido.

62
00:04:21,610 --> 00:04:27,970
‫Esta vez estamos tratando de usar el tipo de componente de cápsula U aquí en el archivo CPP para construir un objeto.

63
00:04:28,180 --> 00:04:33,190
‫Aquí está el código de error en caso de que desee buscar en Google este tipo particular de error para obtener más información.

64
00:04:33,610 --> 00:04:38,470
‫Así que ahora hemos visto dos tipos diferentes de errores de compilación en esta sección del curso y sabemos la

65
00:04:38,470 --> 00:04:40,150
‫causa de este error en particular.

66
00:04:40,150 --> 00:04:42,700
‫No hemos incluido su componente de cápsula.

67
00:04:42,820 --> 00:04:49,330
‫Ahora aquí está el componente de la cápsula U en la documentación de Unreal Engine y aquí está la inclusión que necesitamos

68
00:04:49,330 --> 00:04:50,530
‫para este tipo.

69
00:04:50,530 --> 00:04:56,710
‫Así que voy a copiar esto y pegarlo aquí en la parte superior de Base Pond CPP.

70
00:04:56,740 --> 00:05:02,890
‫Ahora, si intento compilar nuevamente, la compilación es exitosa, no vemos errores.

71
00:05:03,100 --> 00:05:04,870
‫Voy a cerrar la terminal ahora.

72
00:05:04,990 --> 00:05:07,510
‫Así que hemos creado el componente cápsula.

73
00:05:07,540 --> 00:05:11,920
‫Lo siguiente que me gustaría hacer es asegurarme de que el componente de la cápsula sea la raíz.

74
00:05:11,950 --> 00:05:18,890
‫Ahora vimos cómo asignar un componente como raíz y planos haciendo clic y arrastrando en C++.

75
00:05:18,910 --> 00:05:20,430
‫También es bastante fácil.

76
00:05:20,440 --> 00:05:26,590
‫Simplemente tomamos esa variable de componente raíz y le asignamos el valor de cápsula comp.

77
00:05:26,800 --> 00:05:30,520
‫Ahora hemos especificado que la composición de la cápsula debe ser el componente raíz.

78
00:05:30,790 --> 00:05:32,290
‫Vamos a compilar esto de nuevo.

79
00:05:32,470 --> 00:05:36,910
‫Y ahora, después de una compilación exitosa, me gustaría volver al editor.

80
00:05:37,000 --> 00:05:37,350
‫Bueno.

81
00:05:37,360 --> 00:05:42,570
‫Abrí el editor y voy a tomar mi clase base C++ y arrastrar una.

82
00:05:42,580 --> 00:05:44,100
‫Y ahora mira esto.

83
00:05:44,110 --> 00:05:46,330
‫Vemos un componente de cápsula.

84
00:05:46,420 --> 00:05:48,260
‫Ahora en el mundo, fuera de línea.

85
00:05:48,280 --> 00:05:53,350
‫Muestra que la base, que acabo de arrastrar, está seleccionada ahora justo encima de la búsqueda en el panel de

86
00:05:53,350 --> 00:05:53,870
‫detalles.

87
00:05:53,890 --> 00:05:58,660
‫Puedo arrastrar esto hacia abajo y ver todos los componentes en esta base --.

88
00:05:58,660 --> 00:06:03,430
‫Y todo lo que vemos es esta composición de cápsula porque ese es el único componente que tiene.

89
00:06:03,520 --> 00:06:09,490
‫Así que ahora hemos agregado nuestro componente de cápsula y vemos el resultado de eso cuando agregamos una instancia

90
00:06:09,490 --> 00:06:13,120
‫de esta clase al mundo en el editor de Unreal Engine.

91
00:06:13,760 --> 00:06:19,970
‫Entonces, en resumen, aprendimos cómo construir un componente de cápsula desde C++, y lo convertimos en el componente raíz al

92
00:06:19,970 --> 00:06:25,070
‫asignar el valor de la variable del componente raíz a la composición de la cápsula.

93
00:06:25,100 --> 00:06:29,600
‫En el siguiente video, agregaremos más componentes a nuestra base en la clase C++.

94
00:06:29,810 --> 00:06:30,770
‫Te veré luego.

