﻿1
00:00:04,320 --> 00:00:05,010
‫Hola y bienvenido.

2
00:00:05,010 --> 00:00:11,250
‫En esta lección, vamos a obtener un aire para seguirnos y navegar alrededor del mundo, evitando

3
00:00:11,250 --> 00:00:14,850
‫obstáculos y, en general, siendo un poco molestos.

4
00:00:15,090 --> 00:00:17,280
‫Vamos a sumergirnos y ver cómo esto es posible.

5
00:00:18,390 --> 00:00:24,990
‫Entonces, la siguiente pieza más obvia del rompecabezas que debemos resolver aquí es hacer que nuestro

6
00:00:25,420 --> 00:00:27,400
‫ejército avance hacia nosotros.

7
00:00:27,420 --> 00:00:28,950
‫No es bueno que se queden ahí parados.

8
00:00:29,190 --> 00:00:31,710
‫También necesitan moverse y luego tendrán que disparar.

9
00:00:31,710 --> 00:00:34,530
‫En primer lugar, averigüemos cómo podemos hacer movimiento.

10
00:00:35,400 --> 00:00:39,780
‫Ahora, cuando te mudes con Ally, necesito saber sobre los obstáculos.

11
00:00:39,780 --> 00:00:41,490
‫Tiene que hacer algo llamado pathfinding.

12
00:00:41,490 --> 00:00:45,030
‫Porque, digamos, me estoy escondiendo en este corredor y quiere llegar a mí.

13
00:00:45,330 --> 00:00:48,470
‫Necesita saber que no puede simplemente moverse a través de la pared.

14
00:00:48,480 --> 00:00:53,670
‫Necesitará planificar sus rutas para sortear los obstáculos y venir hacia mí.

15
00:00:54,270 --> 00:01:01,200
‫Ahora, la forma en que esto funciona típicamente en los juegos en general y específicamente aquí en Unreal es que generamos

16
00:01:01,200 --> 00:01:08,610
‫una malla que nos dice dónde se puede caminar dentro de un nivel y luego usamos varios algoritmos, uno de los cuales se

17
00:01:08,610 --> 00:01:10,230
‫llama búsqueda de estrellas.

18
00:01:10,470 --> 00:01:17,580
‫Puede navegar en esta malla y crear un plan de ruta, y el aliado luego usa este plan de ruta para

19
00:01:17,580 --> 00:01:17,940
‫avanzar.

20
00:01:18,360 --> 00:01:20,310
‫Así que ese es el tipo de esquema del proceso.

21
00:01:20,310 --> 00:01:22,220
‫Afortunadamente, mucho de eso se hace por nosotros.

22
00:01:22,230 --> 00:01:23,790
‫No tenemos que codificar esto desde cero.

23
00:01:24,180 --> 00:01:29,850
‫Entonces, lo que debemos hacer es, en primer lugar, poder ver la malla NAF y, en este momento, no podemos

24
00:01:29,850 --> 00:01:32,520
‫ver una malla NAF parcialmente porque no hay una.

25
00:01:32,970 --> 00:01:36,670
‫Entonces, lo que debemos hacer es mirar en nuestra ventana de actores colocados aquí.

26
00:01:36,670 --> 00:01:40,020
‫También imagine una ventana y busque actores colocados.

27
00:01:40,650 --> 00:01:47,120
‫Necesitamos buscar una malla de navegación y estamos buscando los límites de volumen de la malla NAF.

28
00:01:47,130 --> 00:01:53,880
‫Ahora, esto crea un volumen, una especie de caja, y todo lo que está dentro de esa caja se va a verificar para saber

29
00:01:54,120 --> 00:01:55,440
‫qué tan navegable es.

30
00:01:55,440 --> 00:02:00,480
‫Básicamente, si es plano, si no es demasiado empinado, básicamente si hay una pared, no puedes atravesar

31
00:02:00,480 --> 00:02:03,780
‫paredes, no puedes caminar sobre paredes porque son demasiado empinadas.

32
00:02:04,140 --> 00:02:08,940
‫Entonces, si estamos arrastrando un volumen de rebote de malla NAF y simplemente lo traemos aquí

33
00:02:08,940 --> 00:02:15,450
‫y lo colocamos ligeramente a través del piso para que esto permita que el piso sea parte de ese cálculo de navegación.

34
00:02:15,900 --> 00:02:20,910
‫Luego, lo que tenemos que hacer es habilitar la visibilidad de las mallas NAF.

35
00:02:21,210 --> 00:02:25,830
‫Puede hacer esto haciendo clic en el botón Mostrar en la parte superior izquierda de su ventana gráfica y luego

36
00:02:25,830 --> 00:02:28,080
‫haciendo clic en navegación o usando el acceso directo.

37
00:02:28,080 --> 00:02:29,820
‫P Así que voy a usar el atajo.

38
00:02:29,820 --> 00:02:33,840
‫P Y seleccionando o ni siquiera tiene que seleccionar el volumen de rebote.

39
00:02:33,840 --> 00:02:39,180
‫Puede ver instantáneamente que la malla de la pantalla apareció dentro del volumen de los límites, lo que nos dice que

40
00:02:39,180 --> 00:02:40,710
‫esta es un área transitable.

41
00:02:40,800 --> 00:02:48,220
‫Entonces, si tuviéramos a nuestro enemigo dentro de esta área y su objetivo también estuviera dentro del área, entonces podría encontrar el camino

42
00:02:48,220 --> 00:02:50,340
‫a lo largo de esta malla.

43
00:02:50,880 --> 00:02:55,170
‫Ahora echemos un vistazo a lo que sucede si movemos esto a donde hay un obstáculo.

44
00:02:55,170 --> 00:02:59,820
‫Puede ver que la malla se corta alrededor de este obstáculo.

45
00:03:00,210 --> 00:03:07,650
‫Entonces, lo que en realidad queremos hacer es que este volumen abarque la totalidad de nuestro nivel y puede optar por no

46
00:03:07,650 --> 00:03:14,070
‫hacerlo o simplemente hacerlo en ciertos segmentos, pero la forma más fácil es aumentar los límites de este volumen,

47
00:03:14,070 --> 00:03:15,750
‫lo cual puede hacer.

48
00:03:15,750 --> 00:03:19,140
‫Si va al panel de detalles a la derecha, está la configuración del pincel.

49
00:03:19,430 --> 00:03:25,200
‫Puede cambiar el tamaño del pincel para que pueda ver que podemos hacerlo más grande, podemos hacerlo más

50
00:03:25,470 --> 00:03:28,740
‫ancho y se vuelve rojo cuando se vuelve a calcular.

51
00:03:28,740 --> 00:03:33,240
‫Puede ver que está haciendo eso construyendo malla NAF y cuanto más grande sea, más difícil será

52
00:03:33,240 --> 00:03:35,400
‫construir la malla NAF, más tiempo tomará.

53
00:03:35,760 --> 00:03:37,560
‫Pero puedes ver que esto está funcionando.

54
00:03:37,560 --> 00:03:42,690
‫Está recortando los pasillos, está recortando los obstáculos que no podemos sortear.

55
00:03:43,140 --> 00:03:51,900
‫La segunda parte de este rompecabezas es tener una A. YO. capaz de hacer sus algoritmos de enraizamiento en esta malla.

56
00:03:52,350 --> 00:03:56,730
‫Ahora, sigamos adelante y abramos el disparador BP, el controlador aéreo, porque quiero mostrarles algo

57
00:03:56,730 --> 00:03:57,840
‫que hay aquí.

58
00:03:57,930 --> 00:04:02,310
‫Voy a abrir el editor de planos completo aquí y echar un vistazo aquí.

59
00:04:02,310 --> 00:04:05,940
‫Hay un componente llamado componente de seguimiento de ruta.

60
00:04:06,450 --> 00:04:12,960
‫Ese componente es responsable de encontrar una malla de RF y luego, básicamente, permitirnos crear rutas y seguirlas

61
00:04:12,960 --> 00:04:16,200
‫y movernos a lo largo de ellas automáticamente.

62
00:04:16,200 --> 00:04:18,810
‫Así que no tenemos que construir nada de esa funcionalidad.

63
00:04:19,170 --> 00:04:24,090
‫Todo lo que tenemos que hacer es usar una función que está disponible en nuestro controlador de aire.

64
00:04:24,390 --> 00:04:33,230
‫Si vas y buscas el punto H del controlador de aire y buscas la función mover a, entonces vamos a movernos

65
00:04:33,240 --> 00:04:35,460
‫a con un paréntesis abierto.

66
00:04:35,460 --> 00:04:37,170
‫Entonces hay un par de opciones aquí.

67
00:04:37,170 --> 00:04:40,080
‫Tenemos uno toma un movimiento para solicitar.

68
00:04:40,530 --> 00:04:45,450
‫Aquí también hay algunas otras opciones, pero deberían tener un nombre diferente.

69
00:04:45,450 --> 00:04:52,080
‫Ahora, en versiones posteriores sobre raíles, tenemos mover al actor y mover a la ubicación, que tienen

70
00:04:52,080 --> 00:04:55,280
‫la misma distinción que nuestro enfoque de configuración.

71
00:04:55,290 --> 00:05:00,570
‫Puede establecer el enfoque en algo que se mueve como un actor, o puede establecer el enfoque en un

72
00:05:00,570 --> 00:05:06,210
‫destino específico, como un punto de referencia en su ruta de patrulla, por ejemplo, podría ser un movimiento a la ubicación.

73
00:05:06,510 --> 00:05:10,650
‫Así que me gustaría que intentaras moverte a medida que te desafían.

74
00:05:10,650 --> 00:05:16,320
‫Así que obtenga una malla NAF en su escena, haga que cubra la mayor parte de la escena que necesite para

75
00:05:16,320 --> 00:05:17,820
‫poder moverse y tener la.

76
00:05:18,000 --> 00:05:23,610
‫Te sigo en todas las ubicaciones y luego llamo a ese movimiento para que se mueva para actuar o para que se mueva a la ubicación.

77
00:05:23,610 --> 00:05:29,130
‫Tú decides en cuál comienza el juego para obtener la A. YO. persiguiendonos.

78
00:05:29,310 --> 00:05:30,870
‫Así que pausa el video y pruébalo.

79
00:05:32,270 --> 00:05:32,660
‫Bueno.

80
00:05:32,690 --> 00:05:33,230
‫Bienvenido de nuevo.

81
00:05:33,300 --> 00:05:34,280
‫Démosle una oportunidad a esto.

82
00:05:34,610 --> 00:05:35,840
‫Así que lo primero es lo primero.

83
00:05:35,840 --> 00:05:44,600
‫Vamos a tener voy a usar un movimiento a actor y vamos a tener que establecer el actor objetivo.

84
00:05:44,600 --> 00:05:50,090
‫Así que vayamos a nuestro tirador, controlador de aire, punto, CP y allí comencemos a jugar.

85
00:05:50,480 --> 00:05:55,460
‫Podemos movernos a actor y ya tenemos un actor para jugar un peón que obtuvimos de la

86
00:05:55,460 --> 00:05:57,520
‫última lección y echemos un vistazo.

87
00:05:57,530 --> 00:06:00,320
‫¿Hay otras propiedades útiles aquí?

88
00:06:00,320 --> 00:06:01,910
‫Tenemos un radio de aceptación.

89
00:06:01,910 --> 00:06:03,980
‫De momento no tiene radio de aceptación.

90
00:06:03,980 --> 00:06:05,870
‫Básicamente se acerca lo más posible.

91
00:06:06,230 --> 00:06:08,840
‫Creo que eso podría ser un poco invasivo.

92
00:06:08,840 --> 00:06:14,240
‫Le voy a dar un radio de aceptación de dos metros, así intentará acercarse a dos metros de

93
00:06:14,240 --> 00:06:14,540
‫nosotros.

94
00:06:15,170 --> 00:06:16,580
‫Así que sigamos adelante y construyamos eso.

95
00:06:17,720 --> 00:06:21,690
‫Y una vez que esté completo, vaya al motor y echemos un vistazo.

96
00:06:21,710 --> 00:06:28,760
‫No voy a expandir el volumen de rebote aquí solo para darle una idea de por qué necesitamos el volumen de rebote en

97
00:06:28,760 --> 00:06:29,650
‫primer lugar.

98
00:06:29,660 --> 00:06:31,880
‫Entonces, comencemos con una p alt.

99
00:06:32,810 --> 00:06:33,470
‫Y aquí estamos.

100
00:06:33,470 --> 00:06:37,790
‫Estamos en la malla de navegación y este tipo se ha movido hacia nosotros automáticamente.

101
00:06:38,120 --> 00:06:45,320
‫Pero si dejo esa malla NAF, ya no puede acercarse más a mí porque no puede encontrar la ruta.

102
00:06:45,380 --> 00:06:48,740
‫Él no puede encontrar una manera de llegar a mí.

103
00:06:49,130 --> 00:06:55,010
‫Entonces, lo que vamos a hacer es que, de hecho, no estoy seguro de que eso sea lo que realmente está pasando aquí,

104
00:06:55,010 --> 00:07:00,890
‫porque probablemente lo que está pasando es que él está dentro del radio de aceptación de mí y luego no lo vuelve a

105
00:07:00,890 --> 00:07:01,340
‫intentar.

106
00:07:01,670 --> 00:07:09,800
‫Entonces, una forma de verificar eso sería simplemente eliminar este radio de aceptación y volver a compilar y luego podemos revisar y ver

107
00:07:09,800 --> 00:07:12,560
‫si eso es lo que está sucediendo.

108
00:07:12,590 --> 00:07:16,290
‫Entonces, sí, se acerca a mí si me alejo.

109
00:07:16,310 --> 00:07:18,920
‫Bueno, básicamente olvidó ese comando.

110
00:07:19,220 --> 00:07:25,400
‫Entonces, lo que queremos hacer es hacer esto en tic, porque básicamente una vez que me alcanza, renuncia a la

111
00:07:25,400 --> 00:07:26,510
‫idea de perseguirme.

112
00:07:26,840 --> 00:07:28,910
‫Así que pasemos esto a tomar.

113
00:07:28,910 --> 00:07:31,550
‫Esta no es la forma ideal de hacerlo, pero eso es lo que vamos a hacer.

114
00:07:31,550 --> 00:07:37,880
‫Solo por ahora, voy a copiar la firma del tic de la derecha del actor, y sé que va en la sección pública, así que

115
00:07:37,880 --> 00:07:40,550
‫voy a crear una sección pública en la parte superior.

116
00:07:42,740 --> 00:07:50,090
‫Copie la firma, conviértala en una anulación solo por seguridad y luego impleméntela en C ++ y mueva y mueva

117
00:07:50,180 --> 00:07:57,950
‫al actor para marcar y el radio de aceptación sigue siendo de dos metros, intente esto ahora y obviamente se queja de

118
00:07:57,950 --> 00:08:01,310
‫que no tenemos un jugador - por allí.

119
00:08:01,310 --> 00:08:06,470
‫Así que vamos y asegurémonos de que estamos repitiendo esta línea que atrapa al

120
00:08:06,470 --> 00:08:08,960
‫primer jugador, también en un tic.

121
00:08:09,320 --> 00:08:14,990
‫Y ahora deberíamos poder probarlo correctamente en un pico alternativo y el mundo viene y nos lleva a

122
00:08:15,260 --> 00:08:16,220
‫dos metros.

123
00:08:16,220 --> 00:08:18,680
‫Me alejo de él y miro eso.

124
00:08:18,680 --> 00:08:24,170
‫Ni siquiera me está apuntando correctamente esta vez, pero está tratando de seguirme.

125
00:08:24,860 --> 00:08:29,480
‫Pero tan pronto como salgo de esa malla de navegación, ya no sabe cómo encontrarme.

126
00:08:29,690 --> 00:08:31,160
‫Así que arreglemos eso, ¿de acuerdo?

127
00:08:31,160 --> 00:08:35,210
‫Vamos a ir a un volumen de rebote de malla de navegación.

128
00:08:36,130 --> 00:08:37,330
‫Si puedo seleccionarlo.

129
00:08:37,330 --> 00:08:37,840
‫Aquí vamos.

130
00:08:37,990 --> 00:08:44,150
‫Y luego queremos realmente alejarnos aquí para tratar de abarcar la totalidad de nuestro nivel.

131
00:08:44,180 --> 00:08:49,330
‫Parece un poco raro en el exterior de este nivel, pero así es como funcionan las cosas a menudo, es

132
00:08:49,330 --> 00:08:52,750
‫que construyes un nivel para ser visto desde adentro, no desde afuera.

133
00:08:53,110 --> 00:08:55,450
‫Así que hagamos esto mucho más amplio.

134
00:08:55,450 --> 00:09:01,390
‫Hagámoslo mucho más alto para que abarque todo el nivel y simplemente arrástrelo para que todas las

135
00:09:01,390 --> 00:09:03,700
‫extensiones del nivel aquí estén cubiertas.

136
00:09:04,030 --> 00:09:11,860
‫Solo hazlo un poco más ancho, un poco más largo también, y solo asegúrate de que todo esto esté completamente

137
00:09:11,860 --> 00:09:12,520
‫incluido.

138
00:09:13,180 --> 00:09:17,920
‫Y puede ver que el verde apareció tal como se calculó, la navegación se cumplió

139
00:09:17,920 --> 00:09:25,210
‫y asegurémonos de que el mensaje de navegación esté bajando lo suficiente como para cubrir las extensiones más bajas de nuestro mapa y parece estar

140
00:09:25,210 --> 00:09:25,930
‫cubriendo ahora.

141
00:09:26,260 --> 00:09:33,730
‫Entonces, si seguimos adelante y podemos escondernos y navegar por la malla ahora que lo hemos configurado todo y podemos hacer un alt p para

142
00:09:33,730 --> 00:09:40,240
‫seguir adelante y jugar y él puede encontrarnos y seguirnos prácticamente en cualquier lugar que vayamos dentro de este nivel.

143
00:09:40,780 --> 00:09:47,680
‫Puedes ver que confié en que un sirviente nos sigue a donde sea que elijamos ir.

144
00:09:47,890 --> 00:09:50,890
‫Simplemente nos sigue y nos sigue, lo cual es muy molesto.

145
00:09:51,100 --> 00:09:53,560
‫Pero él es capaz de hacer eso.

146
00:09:54,590 --> 00:09:55,130
‫Cosas geniales.

147
00:09:55,130 --> 00:10:02,330
‫Entonces, en esta lección, hemos visto cómo podemos crear y tener mallas y cómo podemos usarlas para que

148
00:10:02,330 --> 00:10:05,180
‫nuestro aliado nos siga por el nivel.

149
00:10:06,520 --> 00:10:12,880
‫A continuación, vamos a regresar a este problema, corregir el error y verificar la línea de

150
00:10:12,880 --> 00:10:16,150
‫visión para que no siempre persigamos al jugador.

151
00:10:16,360 --> 00:10:16,870
‫¿Mira eso?

152
00:10:18,360 --> 00:10:22,770
‫Y acabo de darme cuenta de un pequeño error tonto que he cometido aquí, que es que

153
00:10:22,800 --> 00:10:25,440
‫no estoy llamando para supercortar el código en tecnología.

154
00:10:25,650 --> 00:10:31,000
‫Así que esa es la razón por la que a veces tienes estos extraños errores inexplicables.

155
00:10:31,260 --> 00:10:36,210
‫Si no está llamando a super y luego las cosas no siempre funcionan como se esperaba, es por

156
00:10:36,480 --> 00:10:41,970
‫eso que el enfoque dejó de funcionar, porque esencialmente habíamos desactivado la tecnología en un controlador alto, lo cual no es bueno.

157
00:10:42,360 --> 00:10:47,250
‫Si está habilitado, entonces todo debería funcionar normalmente con el enfoque de configuración.

