﻿1
00:00:04,320 --> 00:00:05,670
‫Oye, bienvenido de nuevo.

2
00:00:05,700 --> 00:00:11,280
‫En este video, vamos a hablar sobre los componentes y cómo nuestro peón base

3
00:00:11,280 --> 00:00:17,490
‫necesitará algunos de estos componentes para colisiones y representaciones visuales, como mallas, así como un punto

4
00:00:17,490 --> 00:00:20,740
‫de generación desde el cual aparecerán nuestros proyectiles.

5
00:00:20,760 --> 00:00:26,070
‫Vamos a hablar sobre cómo los componentes, el soporte, el archivo adjunto para que podamos

6
00:00:26,070 --> 00:00:32,760
‫unir varios componentes entre sí, así como también cómo nuestro peón tiene un componente raíz que almacena la información de

7
00:00:32,760 --> 00:00:33,930
‫transformación para --.

8
00:00:34,200 --> 00:00:40,770
‫Ahora ya hemos creado nuestra primera clase de C++ llamada Base, y ahora estamos listos para comenzar a agregar

9
00:00:40,770 --> 00:00:42,630
‫algunas cosas a la base.

10
00:00:42,690 --> 00:00:50,090
‫La base necesitará algunos componentes, como mallas para la base y la torreta del tanque.

11
00:00:50,100 --> 00:00:55,470
‫C En nuestra carpeta de mallas, tenemos una base de tanque, tenemos una torreta de tanque y para la torre también

12
00:00:55,470 --> 00:00:57,210
‫tenemos una base y una torreta.

13
00:00:57,540 --> 00:01:00,480
‫Así que vamos a necesitar un par de componentes de malla.

14
00:01:00,480 --> 00:01:06,930
‫También vamos a querer un componente de cápsula para manejar colisiones para que nuestro tanque y torreta no se

15
00:01:06,930 --> 00:01:08,000
‫crucen entre sí.

16
00:01:08,010 --> 00:01:10,890
‫Ahora, hablemos de los componentes por un segundo.

17
00:01:11,040 --> 00:01:17,180
‫Cuando agregamos un componente a una clase, debemos decidir qué clase debe ser ese componente.

18
00:01:17,190 --> 00:01:19,830
‫Ahora, una opción es un componente de escena.

19
00:01:20,070 --> 00:01:26,880
‫La clase de componente que ha visto tiene algunas propiedades, como que tiene una transformación, lo que significa que tiene una ubicación,

20
00:01:26,880 --> 00:01:28,380
‫una rotación y demás.

21
00:01:28,440 --> 00:01:30,330
‫También admite archivos adjuntos.

22
00:01:30,330 --> 00:01:34,530
‫Esto significa que podemos adjuntar otros componentes a un componente de escena.

23
00:01:34,530 --> 00:01:36,900
‫Más adelante aprenderemos más sobre cómo funciona.

24
00:01:37,020 --> 00:01:42,780
‫Y un componente de escena no tiene una representación visual, lo que significa que no tiene una malla ni nada por

25
00:01:42,780 --> 00:01:43,410
‫el estilo.

26
00:01:43,410 --> 00:01:45,570
‫En realidad, no podemos verlo en el juego.

27
00:01:45,570 --> 00:01:51,450
‫Ahora, hay algunas otras clases en Unreal Engine que se derivan del componente de escena, como un

28
00:01:51,450 --> 00:01:52,650
‫componente de cápsula.

29
00:01:52,680 --> 00:01:59,130
‫La clase de componentes de la cápsula YOU está hecha para manejar colisiones y eso es todo para lo que sirve.

30
00:01:59,130 --> 00:02:05,190
‫Usamos el componente de la cápsula para que nuestro... no caiga por el piso o se mueva a través de las paredes

31
00:02:05,190 --> 00:02:06,240
‫y cosas así.

32
00:02:06,240 --> 00:02:11,850
‫Ahora también se deriva de la clase de componente de escena el componente de malla estática.

33
00:02:12,150 --> 00:02:19,110
‫El uso de la clase de componente de malla estática nos brinda la capacidad de tener una representación visual, específicamente

34
00:02:19,140 --> 00:02:25,830
‫una malla que pertenecerá a nuestra clase que podemos ver en el mundo a medida que la movemos.

35
00:02:26,100 --> 00:02:32,550
‫Ahora, por defecto, nuestra clase -- ya tiene un componente, se llama componente raíz.

36
00:02:32,550 --> 00:02:37,440
‫Volvamos al código VS y veamos si podemos encontrar este componente raíz.

37
00:02:37,440 --> 00:02:43,170
‫Así que estoy aquí en Base Pont CP y voy a hacer clic en cualquier lugar, como

38
00:02:43,170 --> 00:02:48,270
‫aquí en el constructor, y voy a escribir el componente raíz así como así.

39
00:02:48,450 --> 00:02:56,460
‫Ahora voy a hacer clic con el botón derecho en esto y hacer clic en Ir a definición y, de repente, tenemos actor

40
00:02:56,460 --> 00:02:56,850
‫abierto.

41
00:02:56,850 --> 00:03:04,740
‫Y aquí, en actores en una sección protegida, vemos un puntero de componente visto llamado componente raíz.

42
00:03:05,190 --> 00:03:10,470
‫Entonces, esta variable llamada componente raíz existe en la clase de actor.

43
00:03:10,470 --> 00:03:15,690
‫Entonces, cualquier cosa derivada de actor heredará esta variable de componente raíz.

44
00:03:16,260 --> 00:03:20,820
‫Eso significa que nuestra base también tiene esta variable de componente raíz.

45
00:03:20,850 --> 00:03:27,360
‫Así que cada vez que pensamos en la ubicación de un particular, en realidad estamos hablando de la

46
00:03:27,360 --> 00:03:33,870
‫información de ubicación almacenada en la transformación de ese componente raíz, que es un componente de escena.

47
00:03:33,870 --> 00:03:36,690
‫Entonces, los componentes de la escena tienen su propia transformación.

48
00:03:36,720 --> 00:03:42,930
‫Seguiré adelante y cerraré Actor H y eliminaré esta línea que agregué al constructor de base

49
00:03:42,930 --> 00:03:43,500
‫--.

50
00:03:43,890 --> 00:03:50,640
‫Así que sabemos que nuestro -- tiene este componente raíz y su tipo es el componente visto, lo que significa

51
00:03:50,640 --> 00:03:52,770
‫que nuestro -- tiene una transformación.

52
00:03:52,770 --> 00:03:57,210
‫Pero también sabemos que este componente raíz no tiene una representación visual.

53
00:03:57,210 --> 00:03:58,380
‫es invisible

54
00:03:58,380 --> 00:04:05,820
‫Sin embargo, podemos reasignar ese componente raíz con algún otro objeto cuyo tipo derive del componente visto.

55
00:04:05,850 --> 00:04:07,350
‫Ahora vimos que la U.

56
00:04:07,350 --> 00:04:10,500
‫La clase de componente de cápsula se deriva del componente de escena.

57
00:04:10,500 --> 00:04:17,670
‫Entonces, si creamos una cápsula, podemos asignarla para que sea la raíz en lugar del componente de escena predeterminado.

58
00:04:17,820 --> 00:04:21,360
‫Ahora mencionamos que los componentes de la escena admiten el archivo adjunto.

59
00:04:21,360 --> 00:04:26,790
‫Esto significa que podemos crear otros componentes y adjuntarlos a un componente de escena.

60
00:04:26,790 --> 00:04:32,730
‫Entonces, si creamos un componente de malla estática, por ejemplo, llamado malla base, podemos adjuntarlo al

61
00:04:32,730 --> 00:04:33,510
‫componente raíz.

62
00:04:33,540 --> 00:04:40,080
‫Ahora, debido a que un componente de malla estática se deriva de la clase de componente de escena, también admite la conexión.

63
00:04:40,080 --> 00:04:44,760
‫Entonces, si creamos otra malla, podemos adjuntarla a la primera malla.

64
00:04:44,760 --> 00:04:50,760
‫Entonces podríamos crear un componente de malla estática de malla actual y adjuntarlo al componente de malla base.

65
00:04:50,790 --> 00:04:53,940
‫Ahora también podemos simplemente crear nuevos componentes de escena.

66
00:04:53,940 --> 00:05:00,690
‫Por ejemplo, si queremos un componente de escena que podamos llamar punto de generación de proyectiles, podemos adjuntarlo a la malla

67
00:05:00,690 --> 00:05:01,890
‫de la torreta.

68
00:05:01,890 --> 00:05:03,750
‫Ahora, ¿por qué simplemente crearíamos una escena?

69
00:05:03,860 --> 00:05:04,510
‫Componente.

70
00:05:04,520 --> 00:05:07,020
‫No podemos darle su propia representación visual.

71
00:05:07,040 --> 00:05:13,280
‫Bueno, si necesitamos un punto de generación, una ubicación desde la que nos gustaría generar proyectiles, un componente de escena es perfecto para esto

72
00:05:13,280 --> 00:05:19,100
‫porque tiene su propia transformación, su propia ubicación, rotación, etc. y podemos usar eso

73
00:05:19,100 --> 00:05:22,460
‫como un punto para generar proyectiles.

74
00:05:22,490 --> 00:05:28,880
‫Entonces, después de asignar una cápsula para que sea el componente raíz, nuestro componente raíz ahora tendrá la U.

75
00:05:28,910 --> 00:05:36,560
‫El tipo de clase del componente de la cápsula y la malla base y la malla de la torreta serían componentes de malla estática y

76
00:05:36,560 --> 00:05:40,460
‫nuestro punto de generación de proyectiles sería un componente visto en U.

77
00:05:40,880 --> 00:05:46,670
‫Ahora hablemos de este apego por un segundo, porque todas estas cosas están unidas entre sí.

78
00:05:46,700 --> 00:05:52,850
‫Esto significa que a medida que el componente raíz se mueve en el espacio, todo lo que está conectado a él

79
00:05:52,850 --> 00:05:54,350
‫se moverá con él.

80
00:05:54,740 --> 00:05:59,640
‫Pero la propia malla base puede moverse en relación con la raíz.

81
00:05:59,660 --> 00:06:06,260
‫Por ejemplo, puede girar y todo lo que está unido a la malla base lo seguirá.

82
00:06:06,680 --> 00:06:14,210
‫Así mismo tenemos esta malla torreta unida a la malla base y ella misma puede moverse independientemente de la

83
00:06:14,210 --> 00:06:15,020
‫malla base.

84
00:06:15,050 --> 00:06:21,320
‫Por ejemplo, si rotamos la malla de la torreta, rotará y todo lo que tenga adjunto, como el componente

85
00:06:21,320 --> 00:06:25,270
‫de la escena, seguirá junto con la malla de la torreta.

86
00:06:25,280 --> 00:06:30,560
‫Entonces, el componente de la escena se moverá junto con la malla de la torreta a medida que gira.

87
00:06:30,560 --> 00:06:35,450
‫Pero, por supuesto, si quisiéramos, podríamos mover el componente de la escena en relación con la malla de la torreta.

88
00:06:35,630 --> 00:06:40,550
‫Y dado que no hay nada adjunto al componente de escena, bueno, no hay nada que seguir junto con él.

89
00:06:40,580 --> 00:06:46,330
‫Ahora echemos un vistazo a cómo funcionan los componentes en blueprints, qué carpeta de contenido seleccionó.

90
00:06:46,340 --> 00:06:50,930
‫Voy a hacer clic derecho y seleccionar Blueprint Class para crear un nuevo blueprint.

91
00:06:50,960 --> 00:06:59,000
‫Elijamos el actor y llamemos a este actor de componentes. Ahora haga doble clic en el actor de componentes y observe que tenemos

92
00:06:59,000 --> 00:07:01,020
‫la raíz de escena predeterminada.

93
00:07:01,040 --> 00:07:05,040
‫Esto representa la variable del componente raíz que vimos en C++.

94
00:07:05,060 --> 00:07:11,780
‫Ahora, si queremos, podemos agregar nuevos componentes haciendo clic en el botón Agregar y seleccionando el tipo de componente que nos

95
00:07:11,780 --> 00:07:12,770
‫gustaría agregar.

96
00:07:12,770 --> 00:07:15,790
‫Busque Capsule y seleccione Capsule Collision.

97
00:07:15,800 --> 00:07:17,900
‫Este es un componente de la cápsula.

98
00:07:17,900 --> 00:07:20,320
‫Su contraparte de C++ es la U.

99
00:07:20,330 --> 00:07:21,780
‫Clase de componentes de la cápsula.

100
00:07:21,800 --> 00:07:24,260
‫Observe que está justo debajo de la escena predeterminada.

101
00:07:24,260 --> 00:07:27,440
‫Raíz Esto indica que está adjunto a esta escena.

102
00:07:27,440 --> 00:07:30,350
‫Root Podemos seguir añadiendo más componentes.

103
00:07:30,350 --> 00:07:36,620
‫Por ejemplo, si selecciona Kub, se agregará un componente de malla estática y su propiedad de malla estática en

104
00:07:36,620 --> 00:07:40,430
‫el panel de detalles se establecerá automáticamente en un cubo.

105
00:07:40,430 --> 00:07:41,460
‫Malla estática.

106
00:07:41,480 --> 00:07:46,420
‫Ahora observe en el panel de componentes, el cubo está justo debajo de la cápsula.

107
00:07:46,430 --> 00:07:52,280
‫Si hacemos clic en el menú desplegable junto a él, ya no vemos el cubo aquí, por lo que podemos contraerlo

108
00:07:52,280 --> 00:07:55,490
‫para ocultar cualquier objeto que esté adjunto a un componente determinado.

109
00:07:55,490 --> 00:08:01,340
‫Ahora podemos reasignar el componente raíz haciendo clic y arrastrando uno de nuestros componentes a la raíz de escena

110
00:08:01,340 --> 00:08:01,970
‫predeterminada.

111
00:08:01,970 --> 00:08:07,370
‫Por ejemplo, si hago clic y arrastro la cápsula a la raíz de escena predeterminada, ahora se convierte en el

112
00:08:07,370 --> 00:08:08,210
‫componente raíz.

113
00:08:08,210 --> 00:08:11,870
‫Así que hemos reasignado el componente raíz a este componente de cápsula.

114
00:08:11,870 --> 00:08:14,180
‫También podemos asignar archivos adjuntos.

115
00:08:14,180 --> 00:08:16,430
‫Hagamos clic en agregar y seleccionar esfera.

116
00:08:16,430 --> 00:08:21,200
‫Ahora, de forma predeterminada, la esfera está unida a la cápsula al igual que la malla estática del cubo.

117
00:08:21,200 --> 00:08:27,560
‫Pero si hago clic y arrastro la esfera al cubo, la esfera ahora está unida directamente al cubo.

118
00:08:27,560 --> 00:08:33,530
‫Si hacemos clic en la esfera y la arrastramos a la cápsula, tenemos la opción de crear una nueva raíz

119
00:08:33,530 --> 00:08:34,340
‫o adjuntarla.

120
00:08:34,700 --> 00:08:39,680
‫Si seleccionamos adjuntar, la esfera simplemente se volverá a unir a la cápsula.

121
00:08:39,950 --> 00:08:46,010
‫Pero si tuviéramos que seleccionar hacer una nueva raíz, la esfera se convertiría en el componente raíz en su lugar.

122
00:08:46,550 --> 00:08:52,910
‫Así que no solo tenemos control sobre la creación de nuevos componentes y cómo se adjuntan, sino que también

123
00:08:52,910 --> 00:08:54,770
‫podemos reasignar ese componente raíz.

124
00:08:55,130 --> 00:09:00,410
‫Avancemos y seleccionemos la esfera haciendo clic izquierdo, mantenga presionada la tecla Mayús y haga clic izquierdo

125
00:09:00,410 --> 00:09:04,850
‫en el cubo para seleccionarlo también y presione Eliminar para eliminar estos componentes.

126
00:09:05,180 --> 00:09:10,520
‫Ahora, para su desafío, me gustaría que se familiarice un poco más con los componentes de los planos.

127
00:09:10,520 --> 00:09:12,980
‫Agregue un par de componentes a nuestro actor.

128
00:09:12,980 --> 00:09:17,510
‫Ya tenemos un componente cápsula y actualmente es el componente raíz.

129
00:09:17,510 --> 00:09:23,960
‫Agregue un componente de malla estática y, para su malla estática, asigne la base del tanque, luego agregue un segundo componente de

130
00:09:23,960 --> 00:09:27,950
‫malla estática y asigne la torreta del tanque como su malla estática.

131
00:09:27,980 --> 00:09:34,040
‫Asegúrese de unir la malla base a la cápsula y la malla de la torreta a la malla base.

132
00:09:34,040 --> 00:09:40,640
‫Ahora, una vez que haya hecho este movimiento y escale la malla base y observe cómo se comporta la malla de la

133
00:09:40,640 --> 00:09:42,800
‫torreta adjunta, pause el video y pruébelo.

134
00:09:45,720 --> 00:09:46,080
‫Bueno.

135
00:09:46,080 --> 00:09:48,780
‫Así que voy a hacer clic en Agregar y seleccionar malla estática.

136
00:09:48,780 --> 00:09:53,550
‫Ahora, en el panel de detalles, voy a establecer la malla estática en la malla base del tanque.

137
00:09:53,550 --> 00:09:57,150
‫A continuación, haré clic en Agregar y volveré a seleccionar la malla estática.

138
00:09:57,150 --> 00:10:02,760
‫Observe que se adjunta automáticamente a la primera malla estática porque eso es lo que todavía tenía seleccionado en el

139
00:10:02,760 --> 00:10:03,840
‫panel de detalles.

140
00:10:03,840 --> 00:10:06,840
‫Voy a colocar la malla estática en la torreta del tanque.

141
00:10:06,870 --> 00:10:12,330
‫Ahora, con la primera malla estática seleccionada, voy a moverla y notar que la segunda malla estática que

142
00:10:12,330 --> 00:10:15,330
‫está unida a ella se mueve junto con ella.

143
00:10:15,330 --> 00:10:18,750
‫Lo mismo funciona para la rotación y la escala.

144
00:10:18,750 --> 00:10:22,770
‫A medida que lo amplío, la malla adjunta también se hace más grande.

145
00:10:23,130 --> 00:10:29,400
‫Así que hemos hablado sobre los componentes y hemos visto cómo podemos adjuntar componentes a otros componentes y

146
00:10:29,400 --> 00:10:30,480
‫moverlos y escalarlos.

147
00:10:30,480 --> 00:10:34,290
‫Un componente afecta a los otros componentes que se adjuntan a él.

148
00:10:34,290 --> 00:10:41,100
‫También vimos que los pons heredan un componente raíz de la clase actor y este es el objeto que almacena

149
00:10:41,100 --> 00:10:43,650
‫la información de transformación para el peón.

150
00:10:43,980 --> 00:10:48,270
‫Aprenderemos sobre cómo crear componentes en C++ y las próximas conferencias.

151
00:10:48,840 --> 00:10:50,250
‫Te veré en el próximo video.

