﻿1
00:00:04,770 --> 00:00:06,070
‫Oye, bienvenido de nuevo.

2
00:00:06,090 --> 00:00:11,850
‫En este video, vamos a hacer la distinción entre las instancias de una clase de blueprint en particular

3
00:00:11,850 --> 00:00:17,130
‫y el blueprint predeterminado, que es el blueprint que se aplica a todas las instancias.

4
00:00:17,130 --> 00:00:25,050
‫También vamos a ver cómo podemos asignar, leer o escribir acceso para una variable de C++ en particular en blueprints.

5
00:00:25,050 --> 00:00:26,360
‫Entonces empecemos.

6
00:00:26,370 --> 00:00:30,810
‫Ahora estamos listos para comenzar a exponer algunos de nuestros componentes a Blueprint.

7
00:00:30,930 --> 00:00:36,810
‫Entonces, aquí tenemos nuestros componentes y hemos visto que si hacemos clic en cada uno de ellos, nuestro panel de

8
00:00:36,810 --> 00:00:38,040
‫detalles está completamente vacío.

9
00:00:38,040 --> 00:00:44,070
‫Entonces, necesitamos aprender cómo podemos exponer ciertas propiedades al modelo, y lo hacemos mediante el uso de

10
00:00:44,070 --> 00:00:45,960
‫nuestra macro de propiedad U.

11
00:00:45,960 --> 00:00:51,060
‫Así que volvamos al código VS y echemos un vistazo a la macro de propiedad You.

12
00:00:51,090 --> 00:00:53,010
‫Esta es una macro especial.

13
00:00:53,010 --> 00:00:59,730
‫Es exclusivo de Unreal Engine y tiene este conjunto de paréntesis porque ahora puede tomar parámetros de

14
00:00:59,730 --> 00:01:06,390
‫entrada para mostrar cómo exponer las cosas de ciertas maneras, solo vamos a crear un par

15
00:01:06,390 --> 00:01:09,870
‫de variables descartables que podemos eliminar cuando Listo.

16
00:01:09,870 --> 00:01:15,450
‫Solo vamos a usar esto para ver cómo funciona esta cosa de exposición para que podamos hacer algunos números enteros.

17
00:01:15,450 --> 00:01:21,600
‫Hagamos un INT 32 y llamaré a este int 32 visible en cualquier lugar int.

18
00:01:21,600 --> 00:01:27,090
‫Y justo aquí voy a inicializar esto a un valor, digamos 12.

19
00:01:27,090 --> 00:01:33,390
‫Ahora, para exponer esto al sistema de reflexión, vamos a necesitar una nueva macro de propiedades.

20
00:01:33,390 --> 00:01:36,480
‫Ahora, esto es solo una variable entera simple.

21
00:01:36,660 --> 00:01:41,880
‫No es un componente como estos, por lo que no aparecerá en la pestaña de componentes.

22
00:01:41,910 --> 00:01:48,600
‫Recuerde aquí en el modelo, tenemos esta sección de componentes y cualquier componente aparece aquí, pero

23
00:01:48,600 --> 00:01:51,630
‫cualquier variable regular, esas van a aparecer.

24
00:01:51,630 --> 00:01:58,590
‫Si hacemos clic en BP Pond, Tank Self, por ejemplo, aquí es donde vemos todas las demás variables que

25
00:01:58,590 --> 00:02:00,120
‫no son componentes.

26
00:02:00,120 --> 00:02:05,250
‫Entonces, de vuelta en el código vs, decidamos cómo vamos a exponer visible en cualquier lugar.

27
00:02:05,250 --> 00:02:09,600
‫INT Bueno, voy a presentarles algunas palabras clave de su propiedad.

28
00:02:09,600 --> 00:02:13,090
‫Estas son opciones que pueden ir entre paréntesis para la U.

29
00:02:13,110 --> 00:02:14,280
‫Macro de propiedad.

30
00:02:14,490 --> 00:02:17,400
‫Para este, vamos a agregar visible en cualquier lugar.

31
00:02:17,430 --> 00:02:19,860
‫Ahora sigamos adelante y compilemos esto.

32
00:02:20,100 --> 00:02:20,520
‫Bueno.

33
00:02:20,520 --> 00:02:23,250
‫Así que hemos compilado, volvamos al editor.

34
00:02:23,250 --> 00:02:30,780
‫Y aquí en BP Pond Tank, tengo el tanque de estanque BP autoseleccionado aquí y puedo buscar en el panel de detalles visible y

35
00:02:30,780 --> 00:02:38,340
‫aquí está mi visible en cualquier lugar en el que observe que el plano coloca espacios entre cada una de las palabras gracias a

36
00:02:38,340 --> 00:02:44,160
‫la forma en que He nombrado esto con Camel Case y mira esto, podemos ver que tiene un

37
00:02:44,160 --> 00:02:46,350
‫valor de 12 y está atenuado.

38
00:02:46,350 --> 00:02:48,960
‫En realidad, no podemos editar esto en absoluto.

39
00:02:48,960 --> 00:02:50,580
‫Así que eso es lo que significa visible en cualquier lugar.

40
00:02:50,580 --> 00:02:54,270
‫Significa que es visible, pero no podemos editar esta propiedad.

41
00:02:54,300 --> 00:02:57,540
‫Bien, sigamos adelante y creemos otro INT 32.

42
00:02:57,540 --> 00:03:00,960
‫Voy a llamar a este editar en cualquier lugar int.

43
00:03:01,260 --> 00:03:10,230
‫Y para esto solo le daré un valor, digamos 22 y este obtendrá su propia macro de propiedad U y en lugar de estar visible en

44
00:03:10,230 --> 00:03:13,770
‫cualquier lugar, le daré a este la palabra clave.

45
00:03:13,770 --> 00:03:15,210
‫Editar en cualquier lugar.

46
00:03:15,300 --> 00:03:21,690
‫Avancemos y compilemos esto y volvamos aquí en el editor. Voy a buscar editar en cualquier lugar y aquí está

47
00:03:21,690 --> 00:03:28,080
‫mi edición en cualquier lugar y pueden ver que tiene el valor 22 solo que ya no está en gris.

48
00:03:28,080 --> 00:03:30,060
‫Puedo seleccionarlo, puedo cambiarlo.

49
00:03:30,060 --> 00:03:31,320
‫es editable

50
00:03:31,320 --> 00:03:32,970
‫Eso es lo que significa editar en cualquier lugar.

51
00:03:32,970 --> 00:03:34,560
‫Significa que podemos cambiarlo.

52
00:03:34,590 --> 00:03:40,950
‫Entonces, aunque lo estamos inicializando a 22 en C++, podemos sobrescribir ese valor aquí en el modelo y

53
00:03:40,950 --> 00:03:42,600
‫darle un nuevo valor.

54
00:03:42,600 --> 00:03:48,300
‫Así que ahora aprendió sobre Visible en cualquier lugar y editar en cualquier lugar, pero hay más palabras clave además de estas

55
00:03:48,300 --> 00:03:48,780
‫dos.

56
00:03:48,780 --> 00:03:57,450
‫Por ejemplo, creemos un nuevo int 32 y llamemos a esta única instancia visible solo int e inicialicemos esto en

57
00:03:57,450 --> 00:03:58,350
‫11.

58
00:03:58,350 --> 00:04:05,100
‫Ahora obtendrá su macro de propiedad y la palabra clave que le daré a esta es solo una

59
00:04:05,100 --> 00:04:05,940
‫instancia visible.

60
00:04:05,940 --> 00:04:12,630
‫Compilemos esto y volvamos aquí en el panel de detalles en el plano que voy a buscar visible ahora observe

61
00:04:12,630 --> 00:04:17,340
‫que podemos ver visible en cualquier lugar int pero ¿dónde está nuestra nueva variable?

62
00:04:17,340 --> 00:04:19,440
‫Lo llamamos solo instancia visible.

63
00:04:19,440 --> 00:04:21,960
‫INT Ver instancia visible solamente.

64
00:04:21,960 --> 00:04:24,720
‫INT Bueno, no podemos verlo aquí, pero mira esto.

65
00:04:24,720 --> 00:04:29,730
‫Voy a tomar nuestro tanque de estanque BP y arrastrar uno de estos al mundo aquí.

66
00:04:29,730 --> 00:04:31,560
‫Y podemos ver en el mundo fuera de línea.

67
00:04:31,560 --> 00:04:35,370
‫De repente tenemos un tanque de estanque BP aquí en el mundo.

68
00:04:35,370 --> 00:04:42,300
‫Ahora, con esto seleccionado, puedo bajar aquí al panel de detalles y buscar visible ahora mira esto

69
00:04:42,300 --> 00:04:48,810
‫ahora podemos ver nuestro visible en cualquier lugar int y nuestra instancia visible solo int.

70
00:04:48,810 --> 00:04:54,750
‫Entonces, ¿cómo podemos verlo aquí, pero no podemos verlo cuando miramos el plano real en sí?

71
00:04:54,750 --> 00:04:56,790
‫Bueno, hay una distinción que quiero hacer.

72
00:04:56,790 --> 00:05:01,770
‫Verá, cuando tenemos nuestro modelo aquí en el navegador de contenido, podemos hacer doble clic en él,

73
00:05:01,770 --> 00:05:03,750
‫podemos abrirlo y ver sus propiedades.

74
00:05:03,750 --> 00:05:04,020
‫¿Qué?

75
00:05:04,090 --> 00:05:07,150
‫Lo que estamos viendo aquí es el plano predeterminado.

76
00:05:07,150 --> 00:05:11,140
‫Esto contiene toda la información predeterminada para el blueprint.

77
00:05:11,140 --> 00:05:16,360
‫Pero tan pronto como arrastro uno al nivel, ahora tenemos algo llamado instancia.

78
00:05:16,360 --> 00:05:23,530
‫Así que este tanque de BP en particular que existe en el mundo es un ejemplo de tanque de estanque de BP.

79
00:05:23,530 --> 00:05:30,010
‫De hecho, podemos arrastrar varias instancias y cada una de las que existen en el mundo son instancias

80
00:05:30,010 --> 00:05:31,510
‫de BP pond tank.

81
00:05:31,510 --> 00:05:34,840
‫Esto es diferente al modelo predeterminado.

82
00:05:35,080 --> 00:05:40,810
‫Así que aquí hay un pequeño gráfico para que lo consulten, y vamos a completar este gráfico más a

83
00:05:40,810 --> 00:05:42,520
‫medida que aprendamos más especificadores.

84
00:05:42,520 --> 00:05:48,640
‫Hasta ahora solo hemos visto visible en cualquier lugar, que verá que está tanto en las columnas predeterminadas como en las

85
00:05:48,640 --> 00:05:49,420
‫de instancia.

86
00:05:49,540 --> 00:05:52,120
‫Y está en la fila titulada Solo lectura.

87
00:05:52,120 --> 00:05:57,640
‫Entonces puede ver en este gráfico que un visible en cualquier lugar de su propiedad solo será visible.

88
00:05:57,640 --> 00:06:02,260
‫No será editable, pero estará visible tanto en los valores predeterminados como en la instancia.

89
00:06:02,260 --> 00:06:07,510
‫Mientras que la instancia visible solo tiene acceso de solo lectura pero solo en la instancia.

90
00:06:07,510 --> 00:06:10,540
‫En realidad, no puede verlo en el plano predeterminado.

91
00:06:10,540 --> 00:06:16,420
‫Y luego aprendimos sobre editar en cualquier lugar, lo que nos permite editar esa propiedad en los valores predeterminados

92
00:06:16,420 --> 00:06:17,530
‫y la instancia.

93
00:06:17,530 --> 00:06:21,730
‫Es por eso que existe tanto en los valores predeterminados como en la columna de instancia.

94
00:06:21,730 --> 00:06:27,010
‫Entonces, como desafío, me gustaría que agregue una variable a la clase de estanque base.

95
00:06:27,010 --> 00:06:32,920
‫Ahora pon esto en la sección pública y lo que vas a hacer es decidir qué tipo de variable te gustaría

96
00:06:32,920 --> 00:06:38,020
‫agregar, y puede ser cualquier cosa menos convertirla en un tipo básico, como un entero o un flotante.

97
00:06:38,170 --> 00:06:44,740
‫Incluso podría convertirlo en un vector F o una cadena F si solo desea inicializarlo con un valor predeterminado como

98
00:06:44,740 --> 00:06:46,540
‫nuestros otros 30 dos finales.

99
00:06:46,810 --> 00:06:49,030
‫Y esto podría ser cualquier variable que desee.

100
00:06:49,030 --> 00:06:52,990
‫Puedes hacer una variable de velocidad o una variable de resistencia.

101
00:06:52,990 --> 00:06:54,370
‫Tienes algo de libertad aquí.

102
00:06:54,370 --> 00:07:00,820
‫Ahora, una vez que haya creado esta variable, decida qué nivel de acceso desea para esto y luego asígnele

103
00:07:00,820 --> 00:07:04,440
‫una macro de propiedad y agregue la especificación correcta aquí.

104
00:07:04,450 --> 00:07:10,210
‫Ahora decida si desea que esto sea visible solo en la instancia o en los valores predeterminados, o si desea

105
00:07:10,210 --> 00:07:16,210
‫que sea visible en cualquier lugar o editar en cualquier lugar, use uno de los especificadores que hemos aprendido hasta ahora y

106
00:07:16,210 --> 00:07:21,160
‫asigne a esta variable la especificación correcta para adelante, pausa el video y haz esta variable ahora.

107
00:07:23,970 --> 00:07:24,690
‫Está bien.

108
00:07:24,690 --> 00:07:26,800
‫Así que voy a seguir adelante y hacer una variable.

109
00:07:26,820 --> 00:07:29,250
‫Ahora, está bien si hiciste algo completamente diferente.

110
00:07:29,250 --> 00:07:30,810
‫Esto es solo para practicar.

111
00:07:30,810 --> 00:07:38,100
‫Voy a hacer un flotador y llamaré a esta velocidad e inicializaré la velocidad para decir 400 F.

112
00:07:38,700 --> 00:07:45,930
‫Y creo que me gustaría que esta variable de velocidad sea editable tanto en la instancia como en la predeterminada.

113
00:07:45,930 --> 00:07:52,050
‫Así que le daré a esto una macro de propiedad U y haré esta edición en cualquier lugar.

114
00:07:52,050 --> 00:07:54,360
‫Así que voy a seguir adelante y compilar esto.

115
00:07:54,360 --> 00:08:00,180
‫Y de vuelta en el editor, puedo seleccionar una de mis instancias de tanque base.

116
00:08:00,330 --> 00:08:06,870
‫Y aquí, en el panel de detalles, puedo ver mi variable de velocidad y, por supuesto, puedo editarla aquí.

117
00:08:06,870 --> 00:08:13,290
‫Y si abro, tanque, aquí está mi variable de velocidad, está configurada en 400 y es editable.

118
00:08:13,290 --> 00:08:19,140
‫Entonces, en resumen, hemos aprendido la diferencia entre una instancia y el valor predeterminado de una clase de

119
00:08:19,140 --> 00:08:20,220
‫proyecto en particular.

120
00:08:20,220 --> 00:08:26,280
‫También aprendimos algunos nuevos especificadores de propiedades, como Visible en cualquier lugar, Visible, solo instancia y editar en

121
00:08:26,280 --> 00:08:27,240
‫cualquier lugar.

122
00:08:27,240 --> 00:08:34,050
‫En el próximo video, continuaremos aprendiendo cómo controlar el acceso a las variables de C++ en Blueprint usando estos

123
00:08:34,050 --> 00:08:35,880
‫nuevos especificadores de propiedades.

124
00:08:35,970 --> 00:08:36,900
‫Te veré pronto.

