﻿1
00:00:04,420 --> 00:00:05,890
‫Oye, bienvenido de nuevo.

2
00:00:05,920 --> 00:00:10,720
‫En el último video, creamos nuestro componente de cápsula y lo configuramos para que sea la raíz.

3
00:00:10,750 --> 00:00:13,960
‫En este video, necesitamos agregar algunos componentes más.

4
00:00:13,960 --> 00:00:18,520
‫En concreto, necesitamos unas mallas para la base y la parte de la torreta de nuestro tanque.

5
00:00:19,030 --> 00:00:24,100
‫Y también necesitamos un punto de generación de proyectiles, como hemos discutido en conferencias anteriores.

6
00:00:24,280 --> 00:00:26,230
‫Así que saltemos al código VS.

7
00:00:26,260 --> 00:00:29,950
‫Ahora aquí en Base Pancake, tenemos nuestro componente cápsula.

8
00:00:29,950 --> 00:00:34,540
‫Podemos agregar nuestros otros componentes en esta sección privada justo debajo.

9
00:00:34,570 --> 00:00:39,370
‫Entonces, para nuestras mallas, queremos usar su componente de malla estática.

10
00:00:39,610 --> 00:00:45,580
‫Y, por supuesto, estos serán punteros, ya que este no es un tipo base y la primera malla la llamaré

11
00:00:45,580 --> 00:00:51,790
‫malla base y, al igual que la malla base de la composición de la cápsula, obtendrá su propia macro de propiedad.

12
00:00:51,940 --> 00:00:57,760
‫Ahora observe que su componente de malla estática no me está dando un error por no haberlo declarado.

13
00:00:57,760 --> 00:01:03,820
‫Esto se debe a que su componente de malla estática está incluido de forma predeterminada en todos los actores y, por supuesto, los peones

14
00:01:03,820 --> 00:01:07,090
‫son actores, por lo que ha utilizado un componente de malla estática.

15
00:01:07,120 --> 00:01:11,860
‫Ahora bien, si se pregunta cómo saber qué tipos se incluyen de forma predeterminada y cuáles no, siempre

16
00:01:11,860 --> 00:01:14,230
‫puede intentar compilar y ver si obtiene un error.

17
00:01:14,230 --> 00:01:18,820
‫Sabemos cómo se ve el error cuando no incluye un encabezado que necesita.

18
00:01:18,850 --> 00:01:25,000
‫Otro enfoque sería siempre reenviar la declaración e incluir siempre los archivos de encabezado para los tipos de motores irreales

19
00:01:25,000 --> 00:01:30,490
‫que tienen protecciones de inclusión que evitan que se incluyan varias veces en un solo archivo.

20
00:01:30,520 --> 00:01:33,700
‫De hecho, el mismo encabezado en el que estamos tiene uno de estos.

21
00:01:33,700 --> 00:01:35,620
‫Se llama Praga WMA una vez.

22
00:01:35,620 --> 00:01:40,180
‫De todos modos, tenemos nuestra malla base y nos gustaría otro componente de malla estática.

23
00:01:40,180 --> 00:01:46,300
‫Entonces, este será un puntero de componente de malla estática U y será para la torreta.

24
00:01:46,300 --> 00:01:52,660
‫Así que voy a llamar a esta malla de torreta y, al igual que la malla base, también obtendrá una macro de propiedad U.

25
00:01:52,660 --> 00:01:58,030
‫Entonces, ahora que tenemos los punteros de la malla base y la malla de la torreta, es hora de construirlos.

26
00:01:58,030 --> 00:02:02,980
‫Así que vayamos a Base Pont CP y hagamos eso en el constructor aquí.

27
00:02:02,980 --> 00:02:09,670
‫Entonces, primero vamos a decir malla base y le asignaremos el valor devuelto por crear subobjeto

28
00:02:09,670 --> 00:02:10,420
‫predeterminado.

29
00:02:10,420 --> 00:02:15,370
‫Ahora, antes de que lo complete, ¿por qué no continúa y escribe el tipo correcto aquí?

30
00:02:17,280 --> 00:02:17,910
‫Así es.

31
00:02:17,910 --> 00:02:20,450
‫Es tu componente de malla estática.

32
00:02:20,460 --> 00:02:26,190
‫Ahora, para el nombre, vamos a usar la macro de texto y podemos llamar a esta malla base.

33
00:02:26,400 --> 00:02:32,010
‫Ahora es importante que adjuntemos la malla base a algo, ya que nos gustaría que la malla siguiera al componente

34
00:02:32,010 --> 00:02:32,880
‫de la cápsula.

35
00:02:32,880 --> 00:02:36,300
‫Mientras movemos el PON, lo adjuntaremos a la raíz.

36
00:02:36,420 --> 00:02:45,450
‫Entonces, la malla base tiene una función llamada archivo adjunto de configuración y el archivo adjunto de configuración toma un componente visto para

37
00:02:45,450 --> 00:02:46,050
‫adjuntarlo.

38
00:02:46,080 --> 00:02:49,320
‫Vamos a unir la malla base a la composición de la cápsula.

39
00:02:49,380 --> 00:02:52,560
‫Fácilmente podríamos tener un componente raíz pasado aquí.

40
00:02:52,860 --> 00:02:56,220
‫Ahora vamos a crear la malla de la torreta de la misma manera.

41
00:02:56,220 --> 00:03:04,620
‫Entonces, la malla de la torreta es igual a crear un subobjeto predeterminado y este también será un componente de malla estática de uso.

42
00:03:04,950 --> 00:03:08,550
‫Y por el nombre de este, lo llamaremos malla de torreta.

43
00:03:09,840 --> 00:03:14,940
‫Ahora, mencionamos anteriormente que nos gustaría que la malla de la torreta se adjunte a la malla base

44
00:03:14,970 --> 00:03:21,480
‫para que podamos decir que la malla de la torreta se adjunta y el componente al que se unirá será la malla base.

45
00:03:21,810 --> 00:03:27,600
‫Entonces, pasaremos la malla base y, como argumento, ¿de dónde proviene el archivo adjunto de configuración?

46
00:03:27,600 --> 00:03:33,420
‫Si hacemos clic derecho y vamos a definición, veremos que es una función aquí en el componente de escena.

47
00:03:33,570 --> 00:03:36,180
‫Entonces todos los componentes de la escena tienen esta función.

48
00:03:36,420 --> 00:03:38,400
‫Así que cerraremos el componente de escena.

49
00:03:38,820 --> 00:03:43,800
‫Ahora probablemente esté notando los errores de IntelliSense que indican que apunta a un tipo de clase incompleto.

50
00:03:43,800 --> 00:03:46,050
‫Este es en realidad otro error falso.

51
00:03:46,050 --> 00:03:51,870
‫Y esa extensión que descargamos en realidad no soluciona esto, pero se compila bien, así que no tenemos que

52
00:03:51,870 --> 00:03:53,040
‫preocuparnos por eso.

53
00:03:53,040 --> 00:04:03,000
‫Ahora, si le molesta, puede simplemente agregar el componente de malla estática de los componentes de inclusión y eso

54
00:04:04,170 --> 00:04:06,600
‫eliminará esos garabatos rojos.

55
00:04:06,600 --> 00:04:11,220
‫Y como mencioné, estos incluyen guardias para que no se incluyan dos veces.

56
00:04:11,220 --> 00:04:12,540
‫Así que eso depende de ti.

57
00:04:12,570 --> 00:04:16,410
‫Continuaré y dejaré la inclusión aquí solo para que no tengamos esos garabatos.

58
00:04:16,410 --> 00:04:22,620
‫Entonces, ahora que tenemos nuestra malla base en nuestra malla de torreta, lo único que queda es nuestro punto de generación de proyectiles.

59
00:04:22,620 --> 00:04:24,770
‫Así que este será tu desafío.

60
00:04:25,050 --> 00:04:28,860
‫Cree un puntero llamado punto de generación de proyectiles.

61
00:04:29,190 --> 00:04:35,070
‫Elija el tipo correcto que sea apropiado para un punto de generación de proyectiles y asígnele un nombre

62
00:04:35,070 --> 00:04:38,460
‫usando la macro de texto y cree un subobjeto predeterminado.

63
00:04:38,610 --> 00:04:42,090
‫Adjunte el punto de generación del proyectil a la malla de la torreta.

64
00:04:42,270 --> 00:04:47,730
‫Y una pregunta en la que quiero que piense es si necesitamos incluir su archivo de encabezado, pausar el

65
00:04:47,850 --> 00:04:49,860
‫video y crear este componente ahora.

66
00:04:52,650 --> 00:04:53,280
‫Está bien.

67
00:04:53,280 --> 00:04:55,360
‫Así que agreguemos este siguiente componente.

68
00:04:55,380 --> 00:05:03,170
‫Ahora, el punto de generación del proyectil será un componente visto en U, y lo llamaremos punto de generación del proyectil.

69
00:05:03,180 --> 00:05:05,550
‫Ahora agregaremos una macro de propiedad.

70
00:05:05,580 --> 00:05:06,180
‫Esta bien.

71
00:05:06,180 --> 00:05:11,790
‫Si no hizo esto, si no siguió adelante y agregó la macro de su propiedad ahora,

72
00:05:11,790 --> 00:05:15,300
‫ahora vayamos a Base Pond CP y construyamos este componente.

73
00:05:15,300 --> 00:05:22,290
‫Así que vamos a decir punto de generación de proyectiles y crearemos un subobjeto predeterminado.

74
00:05:22,290 --> 00:05:25,320
‫Y este será un componente visto.

75
00:05:25,350 --> 00:05:28,080
‫Ahora, probablemente le diste un nombre increíble.

76
00:05:28,080 --> 00:05:32,910
‫Voy a llamarlo punto de aparición y necesitamos configurar el archivo adjunto para esto.

77
00:05:32,910 --> 00:05:41,190
‫Así que vamos a decir el punto de generación del proyectil, configurar el archivo adjunto y lo adjuntaremos a la malla de la

78
00:05:41,400 --> 00:05:48,840
‫torreta y ahí vamos para que podamos compilar esto, asegurarnos de que todo se compile correctamente y que tengamos una

79
00:05:48,840 --> 00:05:49,620
‫compilación exitosa.

80
00:05:49,620 --> 00:05:51,570
‫Así que todo se ve genial.

81
00:05:51,570 --> 00:05:57,540
‫Así que en este video creamos componentes de malla estática y vimos que no necesitábamos incluir los encabezados

82
00:05:57,540 --> 00:05:58,320
‫para ellos.

83
00:05:58,320 --> 00:06:00,330
‫Ya estaban incluidos por defecto.

84
00:06:00,330 --> 00:06:07,140
‫También creamos un componente de escena llamado punto de generación de proyectiles y nuestro código se compiló perfectamente sin incluir

85
00:06:07,140 --> 00:06:09,240
‫el encabezado para eso también.

86
00:06:09,270 --> 00:06:13,920
‫Muy pronto crearemos un modelo basado en nuestra clase C++ de estanque base.

87
00:06:14,070 --> 00:06:15,480
‫Te veré en el próximo video.

