﻿1
00:00:04,440 --> 00:00:05,250
‫Hola y bienvenido.

2
00:00:05,260 --> 00:00:10,530
‫En esta lección, vamos a aprender sobre la diferencia entre peones como este tipo

3
00:00:10,530 --> 00:00:12,570
‫y personajes como este tipo.

4
00:00:12,570 --> 00:00:19,260
‫Y vamos a seguir adelante y configurar un modelo de personaje y un actor C++ de personaje para que se vea así, de modo

5
00:00:19,260 --> 00:00:21,000
‫que tengamos nuestra malla Wraith.

6
00:00:21,030 --> 00:00:22,620
‫Vamos a sumergirnos y ver cómo se hace.

7
00:00:22,860 --> 00:00:29,760
‫Bien, entonces la primera parte de nuestro plan de proyecto más grande que vamos a querer comenzar es el movimiento

8
00:00:29,820 --> 00:00:31,560
‫del jugador, número uno.

9
00:00:31,560 --> 00:00:36,990
‫Eso es básicamente lo fundamental de la mayoría de los juegos, no solo los juegos de disparos, luego pasarían a la animación

10
00:00:36,990 --> 00:00:41,850
‫y los disparos y la salud y la muerte y todas esas otras cosas a las que queremos llegar.

11
00:00:42,150 --> 00:00:45,390
‫Pero lo primero que hay que abordar es el movimiento del jugador.

12
00:00:46,110 --> 00:00:49,740
‫Para hacer esto, vamos a crear una clase de personaje.

13
00:00:49,740 --> 00:00:50,970
‫Ahora, ¿qué es una clase de personaje?

14
00:00:50,970 --> 00:00:55,800
‫Bueno, ante todo, hay una distinción entre un peón y un personaje.

15
00:00:56,250 --> 00:01:01,070
‫El peón es cualquier cosa que puedas poseer como jugador.

16
00:01:01,080 --> 00:01:05,040
‫Hablaremos más sobre la posesión más adelante, pero ya habrás visto un poco al respecto antes.

17
00:01:05,490 --> 00:01:10,260
‫Pero la idea aquí es que el peón es lo que controla el jugador.

18
00:01:10,260 --> 00:01:10,830
‫¿Un personaje?

19
00:01:10,830 --> 00:01:11,550
‫¿Qué es un personaje?

20
00:01:11,850 --> 00:01:15,060
‫Bueno, lo primero que hay que decir es que el personaje es un peón.

21
00:01:15,060 --> 00:01:17,730
‫Hereda directamente de la clase de peón.

22
00:01:17,730 --> 00:01:20,730
‫Entonces puede hacer todo lo que el peón puede hacer.

23
00:01:20,850 --> 00:01:25,470
‫Y más aún, un personaje es una especialización de un peón.

24
00:01:26,190 --> 00:01:28,410
‫Agrega carácter como características.

25
00:01:28,410 --> 00:01:29,490
‫Bueno, eso no es muy informativo.

26
00:01:29,490 --> 00:01:32,820
‫Entonces, ¿qué tipo de cosas son los personajes sobre un personaje?

27
00:01:33,240 --> 00:01:39,870
‫Bueno, por ejemplo, moverse como lo haría una persona normal, moverse por el suelo, poder

28
00:01:39,870 --> 00:01:43,560
‫saltar, poder correr, todo ese tipo de cosas.

29
00:01:43,860 --> 00:01:49,470
‫Eso tiende a ser el dominio de un personaje en lugar de un peón, porque los peones pueden volar como naves espaciales,

30
00:01:49,470 --> 00:01:49,980
‫por ejemplo.

31
00:01:49,980 --> 00:01:53,550
‫No son como las personas, así es como es un personaje.

32
00:01:53,790 --> 00:01:59,070
‫Y también agrega cosas como el movimiento de malla NAF, que veremos más cuando lleguemos a

33
00:01:59,070 --> 00:02:05,160
‫la sección de IA de esta sección, y eso nos ayudará a mover al personaje, evitar obstáculos y

34
00:02:05,160 --> 00:02:06,030
‫cosas así.

35
00:02:06,780 --> 00:02:09,570
‫Entonces, ¿cómo seguimos adelante y creamos un personaje?

36
00:02:09,960 --> 00:02:10,320
‫Mucho.

37
00:02:10,320 --> 00:02:13,320
‫Igual que crearíamos cualquier otra clase de C++.

38
00:02:13,320 --> 00:02:16,380
‫Llegamos a agregar nueva, nueva clase de C++.

39
00:02:16,380 --> 00:02:20,970
‫Y pueden ver aquí entre las opciones, hay -- y hay carácter.

40
00:02:21,450 --> 00:02:28,140
‫Ahora voy a seguir adelante y le daré un desafío desde el principio para crear Blueprint Children y C

41
00:02:28,140 --> 00:02:29,910
‫++ para el caso.

42
00:02:29,910 --> 00:02:34,050
‫Así que, en primer lugar, seguiremos para crear el C++.

43
00:02:34,050 --> 00:02:35,700
‫Esto no va a ser parte de su desafío.

44
00:02:36,000 --> 00:02:38,070
‫Vamos a crearnos un peón.

45
00:02:38,580 --> 00:02:42,870
‫Así que solo voy a llamar a mi -- porque no vamos a usar el --.

46
00:02:42,870 --> 00:02:46,080
‫Vamos a querer ver la diferencia entre eso y el personaje.

47
00:02:46,260 --> 00:02:52,440
‫Así que seguimos adelante y creamos esa clase y una vez que continúa y termina, terminará con una clase, el

48
00:02:52,440 --> 00:02:57,390
‫tipo de cosas que habrá visto antes de que comience a reproducir una configuración técnica, reproducir

49
00:02:57,390 --> 00:02:58,950
‫un componente de entrada, etc..

50
00:02:59,280 --> 00:03:04,140
‫Entonces, lo que vamos a hacer es volver a realizar el mismo procedimiento, agregar una nueva clase de C++.

51
00:03:04,140 --> 00:03:06,990
‫Esta vez vamos a crear un personaje, ve al siguiente.

52
00:03:07,410 --> 00:03:12,420
‫Y en lugar de llamarlo algo poco imaginativo como mi personaje, lo llamaré el

53
00:03:12,750 --> 00:03:17,850
‫personaje tirador, que es más descriptivo sobre qué tipo de personaje estamos tratando de crear aquí.

54
00:03:18,270 --> 00:03:20,370
‫Voy a seguir adelante y crear esa clase.

55
00:03:21,030 --> 00:03:26,670
‫Y cuando termine de construirse, puede ver que tenemos una cabeza bastante similar, un archivo.

56
00:03:26,670 --> 00:03:32,820
‫De hecho, casi todo es idéntico excepto por lo que hereda de la clase de caracteres en

57
00:03:32,820 --> 00:03:34,320
‫lugar de --.

58
00:03:34,320 --> 00:03:36,600
‫Es muy, muy similar aparte de eso.

59
00:03:37,050 --> 00:03:41,490
‫Entonces, para ver las diferencias, vamos a tener que mirar los planos secundarios de estas cosas

60
00:03:41,490 --> 00:03:43,500
‫para ver qué tipo de componentes hay.

61
00:03:44,190 --> 00:03:50,070
‫Así que va a ser un desafío seguir adelante para crear el C++, como acabo de hacer, agregue un

62
00:03:50,070 --> 00:03:54,960
‫plano secundario para cada uno de esos, mi engendro y el personaje del tirador.

63
00:03:55,020 --> 00:04:01,140
‫Entonces, ¿qué diferencias puedes ver cuando abres esos dos planos separados, pausas el video y lo

64
00:04:01,140 --> 00:04:01,860
‫intentas?

65
00:04:02,100 --> 00:04:02,940
‫Oye, bienvenido de nuevo.

66
00:04:03,300 --> 00:04:04,710
‫Así que vamos a darle una oportunidad a esto.

67
00:04:04,710 --> 00:04:12,360
‫Si vamos al editor y solo voy a navegar a la parte superior de mi directorio de contenido y

68
00:04:12,360 --> 00:04:15,240
‫luego voy a agregar algunos planos nuevos.

69
00:04:15,750 --> 00:04:18,750
‫Así que voy a hacer clic con el botón derecho en crear una clase de modelo.

70
00:04:19,170 --> 00:04:25,290
‫Y en lugar de heredar de una de estas, seleccionaré todas las clases y buscaré la

71
00:04:25,290 --> 00:04:32,160
‫clase my --, que es una hija de --, como podemos ver, seleccionaré esa y crearé una anulación de

72
00:04:32,160 --> 00:04:32,600
‫ese.

73
00:04:32,640 --> 00:04:39,510
‫Voy a llamarlo BP subrayado mi -- para usar esa convención, que nos ayuda a diferenciar

74
00:04:39,510 --> 00:04:41,970
‫entre C++ y el modelo.

75
00:04:42,510 --> 00:04:45,300
‫Así que voy a hacer clic con el botón derecho y crear otra clase de modelo.

76
00:04:45,300 --> 00:04:48,030
‫Esta vez voy a buscar el personaje del tirador.

77
00:04:49,210 --> 00:04:50,470
‫Y seleccione ese.

78
00:04:50,470 --> 00:04:54,520
‫Y como era de esperar, voy a llamar a ese personaje de tirador de guión bajo de BP.

79
00:04:54,880 --> 00:04:59,320
‫Nos ayuda en términos de no tener que ser demasiado imaginativos para nombrar las cosas.

80
00:04:59,320 --> 00:05:02,080
‫No querrás ser imaginativo al nombrar a esos niños modelo.

81
00:05:02,440 --> 00:05:06,850
‫Solo quiere poder decir que va a ser exactamente el mismo nombre solo con el guión bajo BP en el

82
00:05:06,850 --> 00:05:07,240
‫frente.

83
00:05:07,750 --> 00:05:13,330
‫Así que sigamos y abramos esos dos y acóplelos a la ventana principal para que podamos compararlos fácil y

84
00:05:13,330 --> 00:05:13,840
‫agradablemente.

85
00:05:14,110 --> 00:05:19,450
‫Abra el punto disparar un personaje en la ventana principal e inmediatamente podemos ver algunas diferencias.

86
00:05:19,960 --> 00:05:24,340
‫El peón básicamente no tiene nada que hacer en la vista de componentes.

87
00:05:24,370 --> 00:05:27,790
‫Tiene una raíz de escena predeterminada y nada más.

88
00:05:28,510 --> 00:05:30,090
‫Pasamos al personaje del tirador.

89
00:05:30,100 --> 00:05:33,160
‫Sin embargo, puede ver que están sucediendo algunas cosas más para empezar.

90
00:05:33,520 --> 00:05:40,540
‫Tenemos un componente de cápsula aquí, lo que ya implica que está esperando que una

91
00:05:40,540 --> 00:05:44,080
‫forma humanoide encaje dentro de esa cápsula.

92
00:05:44,080 --> 00:05:50,430
‫La cápsula es para hacer física rudimentaria y manipulación o colisión con el terreno.

93
00:05:50,440 --> 00:05:54,520
‫Y luego, obviamente, algo que encaja muy bien dentro de eso es un personaje humanoide.

94
00:05:54,610 --> 00:05:59,380
‫Tenemos un componente de flecha que básicamente nos dice hacia dónde se dirige este personaje.

95
00:05:59,830 --> 00:06:02,290
‫Y luego tenemos una malla, que es heredada.

96
00:06:02,290 --> 00:06:03,760
‫Se hereda de C++.

97
00:06:03,760 --> 00:06:08,960
‫De hecho, se hereda de dos niveles hacia arriba porque no hemos definido ninguna malla aquí en la hoja, un

98
00:06:08,970 --> 00:06:09,490
‫personaje.

99
00:06:09,790 --> 00:06:13,900
‫Deben haberse definido en la clase de caracteres A en su lugar.

100
00:06:14,290 --> 00:06:21,430
‫Entonces, ese componente de malla se está filtrando hasta aquí, hasta esta clase de modelo, y todavía no

101
00:06:21,430 --> 00:06:23,470
‫tiene nada en esa malla.

102
00:06:23,470 --> 00:06:26,800
‫Así que podemos seguir adelante y poner una malla allí.

103
00:06:26,830 --> 00:06:27,940
‫Así que sigamos adelante e intentemos eso.

104
00:06:27,940 --> 00:06:30,970
‫Vaya al panel de detalles, a la malla esquelética.

105
00:06:31,360 --> 00:06:34,680
‫Y básicamente queremos poner nuestro personaje Wraith.

106
00:06:34,690 --> 00:06:37,450
‫Así que solo voy a seleccionar Wraith aquí y luego vamos.

107
00:06:37,450 --> 00:06:39,850
‫Lo ha puesto un poco fuera del suelo.

108
00:06:39,860 --> 00:06:43,360
‫Así que lo que quiero hacer es seguir adelante y ajustar sus pies.

109
00:06:43,870 --> 00:06:48,040
‫Entonces se encuentran con el fondo de la cápsula lo mejor que puedo.

110
00:06:48,610 --> 00:06:50,710
‫Parece que lo hice bien a la primera.

111
00:06:51,010 --> 00:06:57,040
‫Y luego también queremos alinearlo para que mire hacia esa flecha hacia adelante para que podamos hacer un

112
00:06:57,040 --> 00:07:01,900
‫poco de magia de rotación de 90 grados de esa manera y seamos dorados.

113
00:07:01,900 --> 00:07:07,000
‫Estaba presionando la tecla todo para llegar a la rotación, que por cierto, o podría usar

114
00:07:07,000 --> 00:07:13,210
‫estos pequeños widgets en la parte superior derecha de su ventana gráfica para pasar de la traducción a la rotación.

115
00:07:13,480 --> 00:07:17,590
‫Otra cosa que vale la pena señalar aquí en la jerarquía de componentes, aparte del

116
00:07:17,590 --> 00:07:22,990
‫hecho de que tiene esta malla, la flecha y el componente de cápsula, tenemos este componente de movimiento del personaje.

117
00:07:23,000 --> 00:07:29,020
‫Esto es lo que es enteramente responsable de darle carácter como movimiento, poder caminar y

118
00:07:29,020 --> 00:07:29,860
‫correr, etc.

119
00:07:30,160 --> 00:07:34,810
‫Puede ver aquí en el panel de detalles que tenemos un montón de configuraciones de movimiento, tenemos la escala de

120
00:07:34,810 --> 00:07:35,260
‫gravedad.

121
00:07:35,260 --> 00:07:39,960
‫Podrías hacer que parezca que estamos jugando en Marte, en la Luna o en Júpiter.

122
00:07:39,970 --> 00:07:42,430
‫Lo que sea que quieras hacer, puedes cambiar la escala de gravedad puede ser divertido.

123
00:07:42,910 --> 00:07:49,540
‫Tenemos tipos de movimiento predeterminados, ya sea que estemos en tierra, ya sea que estemos en el agua, todo

124
00:07:49,540 --> 00:07:53,950
‫este tipo de cosas, caminar, saltar, cosas de la red de información.

125
00:07:53,950 --> 00:07:56,620
‫Esto automáticamente funciona bien en juegos multijugador.

126
00:07:56,620 --> 00:07:57,970
‫Tiene todo eso incorporado.

127
00:07:58,420 --> 00:08:01,690
‫Básicamente, ya se están haciendo muchas cosas para nosotros aquí.

128
00:08:02,110 --> 00:08:06,550
‫Es por eso que queremos usar un personaje sobre un peón donde tendríamos que escribir todo este código

129
00:08:06,550 --> 00:08:08,880
‫de movimiento desde cero si usamos el personaje.

130
00:08:08,890 --> 00:08:15,250
‫Ya está configurado con este componente de movimiento del personaje para nosotros, y eso está lejos de ser todo lo

131
00:08:15,250 --> 00:08:17,110
‫que el personaje nos brinda.

132
00:08:17,110 --> 00:08:22,900
‫También proporciona muchas sutilezas y funciones agradables que podemos llamar en la clase base para hacer nuestro trabajo

133
00:08:22,900 --> 00:08:24,070
‫aún más fácilmente.

134
00:08:24,280 --> 00:08:26,410
‫Lo veremos en próximas conferencias.

135
00:08:26,710 --> 00:08:32,440
‫Entonces, lo último que podríamos querer hacer es asegurarnos de que este personaje sea el peón que genera

136
00:08:32,440 --> 00:08:33,670
‫en nuestro mapa.

137
00:08:34,150 --> 00:08:37,990
‫Entonces, la forma en que voy a hacer esto es ir a la raíz de nuestro contenido nuevamente.

138
00:08:37,990 --> 00:08:39,010
‫Y esto es revisión.

139
00:08:39,020 --> 00:08:40,330
‫Tantos desafíos para ti.

140
00:08:40,330 --> 00:08:49,090
‫Si lo desea, puede seguir adelante y crear un clon de este mapa y un modo de juego plano establecido a partir de este

141
00:08:49,090 --> 00:08:52,870
‫mapa que generará el personaje del tirador de la aplicación.

142
00:08:53,030 --> 00:08:56,800
‫Los animo a intentar estos muchos desafíos, así como el gran desafío principal.

143
00:08:57,040 --> 00:09:00,160
‫Voy a seguir adelante y no daré ninguna diapositiva de desafío para eso.

144
00:09:00,490 --> 00:09:05,680
‫Así que tenemos los mapas de colección del paquete de inicio de la primera temporada de ciencia ficción modular.

145
00:09:06,010 --> 00:09:07,000
‫Tengo el mapa uno aquí.

146
00:09:07,000 --> 00:09:11,440
‫De hecho, voy a seguir adelante y copiar eso en la ruta de mi proyecto por ahora.

147
00:09:11,440 --> 00:09:15,880
‫Y podemos reorganizar las cosas un poco más tarde a medida que la ruta tenga un poco más de cosas

148
00:09:15,880 --> 00:09:18,310
‫y la estructura de la organización se vuelva más clara.

149
00:09:18,820 --> 00:09:22,870
‫Voy a cambiar el nombre de ese mapa a Sandbox.

150
00:09:23,680 --> 00:09:29,620
‫Vamos a configurarlo como predeterminado del proyecto yendo a la configuración del proyecto, mapas y modos

151
00:09:29,620 --> 00:09:35,560
‫y luego cambiándolo de Mapa uno a Sandbox tanto para el juego como para el editor.

152
00:09:38,050 --> 00:09:39,640
‫Luego voy a hacer un modo de juego.

153
00:09:39,640 --> 00:09:42,680
‫Así que voy a hacer clic con el botón derecho y crear una clase de modelo.

154
00:09:42,700 --> 00:09:45,620
‫Voy a crear un plano base del modo de juego.

155
00:09:45,640 --> 00:09:49,990
‫Llámalo BP, modo de juego de disparos de subrayado.

156
00:09:50,760 --> 00:09:52,590
‫Puedo abrir eso.

157
00:09:52,600 --> 00:09:58,150
‫No necesito ningún C++ en esta clase base, así que básicamente no lo estoy derivando de C++.

158
00:09:58,150 --> 00:10:05,140
‫Pero una vez que lo necesitamos, siempre podemos convertir los planos de los padres en clases de C++ de nuestra propia invención.

159
00:10:05,710 --> 00:10:08,530
‫Así que lo que voy a hacer es pasar a los detalles.

160
00:10:08,530 --> 00:10:14,380
‫Si eso no está seleccionado, debe ir a los valores predeterminados de clase aquí en la barra superior

161
00:10:14,380 --> 00:10:20,560
‫y luego puede ir a la sección de clases y encontrar que debería ser algo así como la clase predeterminada.

162
00:10:21,010 --> 00:10:25,840
‫Y vamos a buscar el personaje de disparos de BP en la versión de plano

163
00:10:25,840 --> 00:10:33,310
‫porque tiene la malla configurada y luego vamos a volver a nuestra caja de arena, abrir nuestra caja de arena y cambiar su modo de

164
00:10:33,310 --> 00:10:33,730
‫juego.

165
00:10:34,060 --> 00:10:39,700
‫Ahora, la razón por la que creé una caja de arena es porque no quiero editar el mapa original, porque

166
00:10:39,700 --> 00:10:43,720
‫siempre quiero volver a ese como referencia si estropeé mi caja de arena.

167
00:10:44,320 --> 00:10:50,620
‫Entonces, vayamos al menú desplegable de planos en la barra superior y seleccionemos los modos de juego actualmente configurados en la base del modo

168
00:10:50,620 --> 00:10:51,280
‫de juego.

169
00:10:52,000 --> 00:10:55,600
‫Voy a seleccionar en su lugar el juego de disparos de guión bajo BP.

170
00:10:55,810 --> 00:10:56,500
‫Modo de juego.

171
00:10:56,740 --> 00:10:57,850
‫Modo de juego de disparos, mejor dicho.

172
00:10:58,360 --> 00:11:03,190
‫Y la pieza final del rompecabezas será poner un jugador, comenzar en alguna parte.

173
00:11:03,220 --> 00:11:07,900
‫De hecho, no me di cuenta de esto, pero el mapa ya contiene un inicio de jugador.

174
00:11:08,170 --> 00:11:13,870
‫Entonces, agregar el siguiente significa que ahora puede generar accidentalmente en dos lugares separados.

175
00:11:14,080 --> 00:11:16,150
‫Arreglaremos esto más adelante en el curso.

176
00:11:16,150 --> 00:11:20,080
‫Pero para que lo sepas, si terminas desovando en un lugar diferente y te estás confundiendo, ese es

177
00:11:20,080 --> 00:11:20,680
‫el motivo.

178
00:11:20,890 --> 00:11:24,130
‫Así que ve a tu lugar, la pestaña de actores a la izquierda.

179
00:11:24,130 --> 00:11:28,990
‫Si no lo tiene, vaya a la ventana y seleccione un lugar para que aparezcan los actores.

180
00:11:29,470 --> 00:11:30,910
‫Y queremos actores básicos.

181
00:11:30,910 --> 00:11:32,350
‫Queremos que el reproductor comience activo.

182
00:11:32,350 --> 00:11:33,670
‫Solo sigue adelante y trae eso.

183
00:11:33,670 --> 00:11:39,670
‫Nos da esta pequeña cápsula con una flecha hacia adelante que nos muestra dónde aparecerá Spawn para que podamos

184
00:11:39,670 --> 00:11:41,260
‫seguir adelante y presionar reproducir.

185
00:11:41,620 --> 00:11:45,310
‫Y no es inmediatamente obvio si esto ha funcionado o no.

186
00:11:45,670 --> 00:11:52,280
‫Así que lo que tienes que hacer es ir a F8 para expulsar de tu peón para desbloquearlo, poseerlo.

187
00:11:52,540 --> 00:11:54,130
‫Y si te das la vuelta, puedes ver eso.

188
00:11:54,130 --> 00:11:56,880
‫Efectivamente, tenemos nuestro personaje aquí.

189
00:11:56,890 --> 00:12:00,670
‫Desafortunadamente, solo tenía una cámara en algún lugar dentro de su ingle.

190
00:12:00,940 --> 00:12:04,270
‫Y entonces vamos a arreglar eso más adelante.

191
00:12:04,540 --> 00:12:12,970
‫Pero por el momento, tenemos una malla en su lugar y continuaremos desde allí para arreglar las animaciones, obtener un personaje

192
00:12:12,970 --> 00:12:18,370
‫en tercera persona, etc., y hacer que se mueva, lo más importante.

193
00:12:19,630 --> 00:12:23,680
‫Así que tenemos el personaje de tirador correcto apareciendo en este momento.

194
00:12:23,680 --> 00:12:25,150
‫No es una cámara en tercera persona.

195
00:12:25,150 --> 00:12:26,380
‫Vamos a arreglar eso más adelante.

196
00:12:26,710 --> 00:12:30,130
‫Pero antes que nada, vamos a hacer que nuestro movimiento funcione.

197
00:12:30,140 --> 00:12:32,380
‫Así que pasemos a la siguiente lección.

