﻿1
00:00:04,320 --> 00:00:05,160
‫Hola y bienvenido.

2
00:00:05,160 --> 00:00:10,110
‫En esta lección, vamos a obtener una línea de visión del enemigo hacia nuestro

3
00:00:10,110 --> 00:00:17,040
‫jugador para que podamos, como jugadores, escondernos detrás de los obstáculos y evitar que los seguidores enemigos no la tengan.

4
00:00:17,040 --> 00:00:22,530
‫Sigue apuntándonos hasta que salgamos y seamos visibles para ellos.

5
00:00:22,530 --> 00:00:25,680
‫Entonces puedes ver aquí que me he escondido detrás de una esquina y él no puede encontrarme.

6
00:00:25,920 --> 00:00:29,130
‫Profundicemos y veamos cómo se puede hacer esto usando herramientas irreales.

7
00:00:30,500 --> 00:00:36,890
‫Por lo tanto, no es ideal que este enemigo al que actualmente pueda seguir en las esquinas, no importa qué tan lejos vayamos, no

8
00:00:37,400 --> 00:00:40,640
‫importa cuánto nos escondamos detrás de los pilares, todavía nos encontrará.

9
00:00:40,640 --> 00:00:43,220
‫Todavía vendrá y seguirá apuntándonos.

10
00:00:43,490 --> 00:00:47,930
‫Queremos corregir eso, y lo haremos comprobando la línea de visión desde el enemigo hasta

11
00:00:47,930 --> 00:00:48,590
‫el jugador.

12
00:00:48,650 --> 00:00:54,740
‫Ahora, como muchas cosas aquí en Unreal, ya hay una función para esto en el punto del controlador

13
00:00:55,130 --> 00:00:57,020
‫aliado llamado línea de visión.

14
00:00:57,350 --> 00:01:01,220
‫Y si vas y buscas eso, encontrarás que hay una función que devuelve un valor booleano.

15
00:01:01,550 --> 00:01:06,350
‫Entonces, diciéndonos si tenemos o no línea de visión y luego toma al actor

16
00:01:06,350 --> 00:01:12,740
‫que debemos tratar de verificar la línea de visión, y automáticamente toma en cuenta cosas como la posición del

17
00:01:12,740 --> 00:01:14,570
‫ojo del peón en cuestión.

18
00:01:14,990 --> 00:01:20,240
‫Todo esto que ya está codificado en Unreal es genial, por lo que debería ser bastante sencillo.

19
00:01:20,240 --> 00:01:27,170
‫Si pasamos a nuestro controlador de aire dot CP, lo que básicamente queremos hacer es cambiar las cosas

20
00:01:27,950 --> 00:01:32,300
‫en tecnología para que primero hagamos una línea de visión.

21
00:01:33,390 --> 00:01:42,720
‫Entonces, lo que queremos hacer si tenemos línea de visión, es movernos y establecer el enfoque.

22
00:01:43,410 --> 00:01:48,930
‫Sin embargo, si no lo hacemos en el otro, lo que queremos hacer es un enfoque claro.

23
00:01:48,930 --> 00:01:57,390
‫Recuerde, vimos esa función antes y queremos hacer el movimiento vamos a ver la parada, básicamente.

24
00:01:58,650 --> 00:02:01,200
‫Y esa es otra función que existe que aún no hemos visto.

25
00:02:01,740 --> 00:02:08,160
‫Entonces, lo que voy a hacer aquí es que puedo desafiarte a implementar todo esto tú mismo si te sientes

26
00:02:08,160 --> 00:02:08,730
‫seguro.

27
00:02:09,210 --> 00:02:14,940
‫De lo contrario, este else es el bit más complejo que no hemos visto antes porque los otros dos, ya hemos hecho un

28
00:02:14,940 --> 00:02:18,450
‫cambio a actor, ya hemos hecho nuestro enfoque establecido, lo hemos hecho antes.

29
00:02:18,450 --> 00:02:23,700
‫Y solo hay esto si la línea de visión, que acabamos de ver, es bastante sencilla, podrías implementar

30
00:02:23,700 --> 00:02:24,270
‫eso.

31
00:02:24,510 --> 00:02:25,590
‫Pero, ¿qué hay de esto más?

32
00:02:25,590 --> 00:02:29,010
‫Probemos a implementar la cláusula just the else.

33
00:02:29,010 --> 00:02:34,770
‫No se va a compilar porque obviamente necesitas una F antes de y else, pero vamos a escribir la

34
00:02:34,770 --> 00:02:35,580
‫cláusula else.

35
00:02:36,270 --> 00:02:42,030
‫Entonces, lo primero que debe hacer es aclarar el enfoque, básicamente estamos diciendo que deje de intentar rastrear al jugador porque

36
00:02:42,030 --> 00:02:43,040
‫no puede verlo.

37
00:02:43,060 --> 00:02:47,550
‫No deberías dar la impresión de que sabes dónde está el jugador, aunque el ojo obviamente puede

38
00:02:47,550 --> 00:02:50,820
‫hacerlo, porque puede acceder a la ubicación del jugador y así sucesivamente.

39
00:02:51,090 --> 00:02:55,950
‫Pero necesitamos dar la ilusión de que el único sabe tanto como puede ver.

40
00:02:56,490 --> 00:02:59,520
‫Entonces, lo que vamos a hacer es llamar para despejar el enfoque.

41
00:02:59,520 --> 00:03:05,460
‫Y si nos acercamos a la H y observamos el enfoque claro, pueden ver que toma

42
00:03:05,460 --> 00:03:07,350
‫la prioridad que necesitamos despejar.

43
00:03:07,350 --> 00:03:13,440
‫Ahora, un recordatorio de que estas prioridades son básicamente diferentes niveles de enfoque.

44
00:03:13,710 --> 00:03:20,580
‫Por lo tanto, normalmente tenemos movimientos predeterminados y la jugabilidad del juego es lo más prioritario.

45
00:03:20,910 --> 00:03:24,240
‫Y lo que establecemos por defecto es la prioridad de juego.

46
00:03:24,240 --> 00:03:29,520
‫Entonces, lo que queremos hacer es borrar la prioridad del juego, lo que significa que si

47
00:03:29,520 --> 00:03:37,020
‫nos hemos enfocado en función del movimiento, por ejemplo, si nuestro ojo quiere volver a su punto de Dios, ese enfoque no se

48
00:03:37,020 --> 00:03:40,830
‫borrará y será desplazándose de regreso a su punto de guía.

49
00:03:41,490 --> 00:03:43,410
‫Así es como funciona el enfoque.

50
00:03:43,410 --> 00:03:45,600
‫Así es como funciona el sistema de prioridades allí.

51
00:03:45,600 --> 00:03:49,560
‫Entonces, lo que solo queremos hacer es copiar esto es una prioridad enfocada.

52
00:03:49,650 --> 00:03:51,180
‫Cuánto tiempo, cuánto tiempo de juego.

53
00:03:51,600 --> 00:03:55,200
‫Y esa es la prioridad que queremos aclarar en esta línea aquí.

54
00:03:55,590 --> 00:03:57,960
‫Y luego lo otro es parar el movimiento.

55
00:03:57,960 --> 00:04:02,850
‫Así que queremos pasar a la línea, controlar la derecha de nuevo y echar un vistazo al movimiento de parada.

56
00:04:03,270 --> 00:04:09,450
‫Y aquí, por supuesto, hay una función simple sin argumentos llamada detener el movimiento, que nos

57
00:04:09,450 --> 00:04:11,430
‫permite hacer precisamente eso.

58
00:04:12,000 --> 00:04:12,540
‫Ahí vas.

59
00:04:12,840 --> 00:04:15,780
‫Esa es básicamente la declaración else escrita.

60
00:04:16,080 --> 00:04:23,070
‫Así que ahora solo recuerda que sigue siendo un desafío para ti implementar la parte si con la línea de visión si y

61
00:04:23,070 --> 00:04:24,960
‫el movimiento y establecer el enfoque.

62
00:04:25,290 --> 00:04:27,720
‫Y básicamente desea eliminar este código aquí.

63
00:04:27,720 --> 00:04:32,940
‫Solo voy a comentarlo y decidir dónde quieres que esté.

64
00:04:32,940 --> 00:04:33,810
‫Así que pausa el video.

65
00:04:33,810 --> 00:04:34,890
‫Sin desafío, deslice aquí.

66
00:04:35,250 --> 00:04:37,920
‫Solo ve e implementa estas tres líneas por ti mismo.

67
00:04:39,120 --> 00:04:39,660
‫Bueno.

68
00:04:39,660 --> 00:04:40,200
‫Bienvenido de nuevo.

69
00:04:40,230 --> 00:04:48,240
‫Entonces, comencemos con nuestro si es así, si abre la línea de visión de paréntesis dos.

70
00:04:48,720 --> 00:04:54,330
‫Y luego queremos hacer una línea de visión con el actor, que es el peón del jugador al que queremos tener acceso.

71
00:04:54,330 --> 00:05:00,840
‫Así que eliminemos el comentario de ese juego de peón aquí y está un poco estropeado.

72
00:05:00,840 --> 00:05:01,860
‫Arreglemos eso.

73
00:05:02,550 --> 00:05:10,830
‫Y luego queremos que nuestros corchetes sean corchetes aquí y queremos pasar a actor cuando, de hecho, podemos simplemente copiar

74
00:05:10,830 --> 00:05:14,190
‫y descomentar y pasar a actor aquí.

75
00:05:15,260 --> 00:05:18,370
‫Y queremos descomentarlo.

76
00:05:18,380 --> 00:05:19,040
‫Sí, ahí vamos.

77
00:05:19,040 --> 00:05:20,550
‫Y el enfoque.

78
00:05:20,570 --> 00:05:22,280
‫Podemos mover eso también.

79
00:05:22,580 --> 00:05:26,060
‫Ahora, el enfoque, no importa si lo haces antes o después.

80
00:05:26,060 --> 00:05:33,080
‫Mover al actor, porque si bien mover al actor establece un enfoque, dice que es una prioridad más baja, el enfoque del movimiento en

81
00:05:33,080 --> 00:05:34,580
‫lugar del enfoque del juego.

82
00:05:34,580 --> 00:05:38,660
‫Así que no importa en qué orden hagamos esas dos operaciones.

83
00:05:39,110 --> 00:05:44,360
‫Y luego, finalmente, podemos eliminar este esquema de comentarios en el que obteníamos el juego de peón en Begin Play porque

84
00:05:44,360 --> 00:05:49,240
‫ya no lo necesitamos y todo está en tecnología ahora, por lo que podemos eliminar el inicio del juego.

85
00:05:49,250 --> 00:05:53,780
‫Voy a dejarlo en caso de que lo necesitemos más adelante solo para ahorrarme la molestia de volver a

86
00:05:53,780 --> 00:05:54,080
‫agregarlo.

87
00:05:54,170 --> 00:05:58,190
‫Vayamos a Unreal y compilemos y cuando terminemos, juguemos.

88
00:05:58,200 --> 00:06:00,640
‫Entonces, veamos si podemos escondernos de este acto.

89
00:06:00,650 --> 00:06:04,100
‫Voy a tratar de moverme por las esquinas razonablemente rápido.

90
00:06:04,700 --> 00:06:08,780
‫Esto es un poco complicado porque pueden moverse tan rápido como tú, pero si doblas

91
00:06:08,780 --> 00:06:11,540
‫una esquina así, dicen: Me ha perdido de vista.

92
00:06:11,540 --> 00:06:13,070
‫Ha dejado de intentar perseguirme.

93
00:06:13,430 --> 00:06:16,460
‫Puedo asomarme a la vuelta de la esquina y ver eso mientras me muevo.

94
00:06:16,460 --> 00:06:19,850
‫No va a cambiar su puntería porque hemos despejado el foco.

95
00:06:20,240 --> 00:06:22,070
‫Puede mirar a la vuelta de la esquina desde el otro lado.

96
00:06:22,550 --> 00:06:24,050
‫Veamos a la vuelta.

97
00:06:24,050 --> 00:06:25,010
‫Aquí van.

98
00:06:25,010 --> 00:06:27,560
‫Puedes ver que todavía está apuntando al último lugar donde estuve.

99
00:06:27,860 --> 00:06:33,980
‫Pero si aparezco a la vista, él sigue apuntando y se mueve dentro del radio de aceptación.

100
00:06:34,460 --> 00:06:38,870
‫Hablando de eso, quiero que el diseñador pueda configurar ese radio de aceptación.

101
00:06:38,870 --> 00:06:40,850
‫Así que vamos a moverlo a una nueva propiedad.

102
00:06:41,270 --> 00:06:45,110
‫Voy a crear una sección privada aquí con una nueva propiedad.

103
00:06:46,320 --> 00:06:48,060
‫Que va a ser una edición en cualquier lugar.

104
00:06:48,870 --> 00:06:58,530
‫Y queremos que sea un flotante llamado radio de aceptación y darle el valor predeterminado de dos cientos.

105
00:06:59,190 --> 00:07:04,410
‫Y luego podemos seguir adelante con este radio de aceptación y usarlo en nuestro cambio a actor.

106
00:07:04,650 --> 00:07:08,820
‫Y si compila, eso le dará exactamente el mismo comportamiento, excepto que ahora puede

107
00:07:08,820 --> 00:07:11,640
‫cambiar eso en el plano del controlador de aire.

108
00:07:12,090 --> 00:07:13,260
‫Así que eso es todo por esta conferencia.

109
00:07:13,260 --> 00:07:18,810
‫Hemos descubierto esa función de línea de visión, que nos permite comprobar si el aire puede o no

110
00:07:18,810 --> 00:07:19,530
‫ver algo.

111
00:07:19,800 --> 00:07:25,920
‫Y hemos implementado esta funcionalidad básica de ocultación para que el aire no nos siga cuando no nos puede ver.

112
00:07:26,340 --> 00:07:26,790
‫Próxima conferencia.

113
00:07:26,790 --> 00:07:33,030
‫Vamos a llevar las cosas un poco más allá de este programa personalizado y usaremos el comportamiento.

114
00:07:33,030 --> 00:07:38,790
‫Tree es una herramienta realmente poderosa en Unreal para hacer que nuestro aire sea mucho más fresco.

