﻿1
00:00:04,800 --> 00:00:05,880
‫Hola y bienvenido.

2
00:00:05,880 --> 00:00:11,430
‫En esta conferencia, vamos a estar atentos para patrullar de un lado a otro entre las asignaciones.

3
00:00:11,730 --> 00:00:16,860
‫Así que iré a mi ubicación de inicio original, luego regresaré a su ubicación de inicio, esperaré un

4
00:00:17,130 --> 00:00:18,570
‫poco y luego volveré.

5
00:00:18,570 --> 00:00:21,390
‫Vamos a lograr esto a través de nuestros árboles de comportamiento.

6
00:00:21,630 --> 00:00:23,520
‫Así que vamos a sumergirnos y ver cómo se hace.

7
00:00:24,750 --> 00:00:27,690
‫Así que ahora no hemos hecho mucho uso de nuestro árbol de comportamiento.

8
00:00:27,700 --> 00:00:28,800
‫Arreglemos eso.

9
00:00:28,890 --> 00:00:36,510
‫Vamos a crear un comportamiento que nos permita ir desde el lugar donde comenzamos a la

10
00:00:36,510 --> 00:00:42,330
‫ubicación del jugador y luego regresar a nuestra ubicación de inicio original.

11
00:00:43,020 --> 00:00:46,080
‫Ahora, la forma en que vamos a hacer esto es usando lo siguiente.

12
00:00:46,080 --> 00:00:53,130
‫Así que hay una distinción en los árboles de comportamiento entre cosas llamadas tareas y cosas llamadas nodos compuestos, o en

13
00:00:53,130 --> 00:00:56,940
‫este caso, el ejemplo del nodo compuesto es una secuencia.

14
00:00:57,240 --> 00:01:01,050
‫Así que entendamos las secuencias y las tareas tal como suenan.

15
00:01:01,500 --> 00:01:03,060
‫Una tarea es algo que haces.

16
00:01:03,420 --> 00:01:08,820
‫Una secuencia es una secuencia de tales tareas y ejecutará todas las tareas en orden.

17
00:01:09,780 --> 00:01:15,660
‫Entonces, si hacemos clic derecho y expandimos las tareas aquí, puede ver un ejemplo de lo que podría usarse como

18
00:01:15,660 --> 00:01:16,080
‫tarea.

19
00:01:16,560 --> 00:01:21,600
‫Por ejemplo, podemos tener un movimiento al que los movimientos a una ubicación también se muevan directamente.

20
00:01:21,600 --> 00:01:23,670
‫No estoy completamente seguro de la distinción que vamos a utilizar.

21
00:01:23,670 --> 00:01:24,150
‫Mueve dos.

22
00:01:24,570 --> 00:01:27,630
‫Puede hacer que reproduzca una animación, como una animación de rascarse la nariz.

23
00:01:27,630 --> 00:01:30,930
‫Puedes hacer que reproduzcan un sonido como, Hey you, ese tipo de cosas.

24
00:01:30,930 --> 00:01:34,500
‫Puede hacer que ejecute otro comportamiento animal si lo desea.

25
00:01:35,130 --> 00:01:39,480
‫También hay un peso aquí que es muy útil para agregar algunas pausas en su comportamiento.

26
00:01:40,020 --> 00:01:45,870
‫Ahora, lo interesante de estas tareas es que pueden ejecutarse para múltiples fotogramas para múltiples tomas.

27
00:01:46,200 --> 00:01:53,010
‫Por lo tanto, el movimiento dos se ejecutará todo el tiempo que te estés mudando a una ubicación y solo terminará

28
00:01:53,340 --> 00:01:54,330
‫cuando llegues allí.

29
00:01:54,990 --> 00:02:02,370
‫Entonces, si también hicimos un movimiento y lo hicimos, podemos pegarlo en la secuencia aquí simplemente arrastrando hacia abajo desde el

30
00:02:02,370 --> 00:02:03,450
‫nodo de secuencia.

31
00:02:04,020 --> 00:02:08,610
‫Entonces, lo que vas a conseguir es, en primer lugar, intentar moverte al destino.

32
00:02:09,120 --> 00:02:15,940
‫Y luego podríamos agregar un segundo nodo de tarea que le diga que espere y luego podemos agregar una tercera tarea.

33
00:02:15,990 --> 00:02:20,760
‫Sassanid señala que estoy bajando de la secuencia aquí y soltando, lo que me permite agregar una tarea

34
00:02:20,760 --> 00:02:23,160
‫con bastante rapidez debajo de ese nodo de secuencia.

35
00:02:23,400 --> 00:02:26,520
‫Y luego puedo decir que quiero mudarme a otro lugar y luego puedo decirlo.

36
00:02:26,520 --> 00:02:29,850
‫Quiero esperar de nuevo por una cierta cantidad de tiempo.

37
00:02:29,850 --> 00:02:35,640
‫Ahora, esto es lo básico de eso, pasar al jugador y luego regresar a donde comenzamos.

38
00:02:35,940 --> 00:02:39,960
‫Y puede ver cómo el nodo de secuencia está funcionando aquí ahora también como un nodo de ruta.

39
00:02:40,020 --> 00:02:44,250
‫La ruta ahora solo puede tener un nodo secundario, así que no intente agregar más cosas debajo de eso.

40
00:02:44,550 --> 00:02:49,740
‫Así que tenemos un nodo de secuencia como ruta aquí y eso básicamente significa que voy a ejecutar

41
00:02:49,740 --> 00:02:55,680
‫todas estas tareas en orden hasta que una de ellas falle y luego, una vez que hayamos terminado, podemos comenzar el proceso

42
00:02:55,680 --> 00:02:56,100
‫nuevamente.

43
00:02:57,180 --> 00:03:01,980
‫Entonces, la otra cosa a tener en cuenta aquí es que si hace clic en cualquiera de estos nodos,

44
00:03:01,980 --> 00:03:05,310
‫los detalles aquí nos dan algún impacto sobre cómo funciona ese nodo.

45
00:03:05,820 --> 00:03:13,380
‫Por ejemplo, nuestro traslado a actualmente toma una clave de pizarra en la sección de pizarra de su panel de detalles de actor

46
00:03:13,380 --> 00:03:17,100
‫propio, pero podemos cambiar eso a la ubicación de reproducción.

47
00:03:17,520 --> 00:03:22,350
‫Básicamente, eso significa que este movimiento a Node ahora se moverá a la ubicación de nuestro jugador.

48
00:03:22,350 --> 00:03:27,420
‫Entonces vamos a esperar 5 segundos de forma predeterminada, pero podemos cambiar eso nuevamente para decir

49
00:03:27,420 --> 00:03:34,110
‫que quizás queramos esperar 2 segundos y que usted quiera tener una desviación aleatoria de 1/2 para que básicamente espere en algún

50
00:03:34,110 --> 00:03:36,210
‫lugar entre 1/2 y 3 segundos.

51
00:03:36,710 --> 00:03:41,580
‫Luego queremos movernos a una ubicación diferente, y esa es una ubicación que no tenemos actualmente, que

52
00:03:41,580 --> 00:03:43,080
‫es nuestra ubicación de inicio.

53
00:03:43,530 --> 00:03:44,730
‫Así que puedes seguir adelante y agregar eso.

54
00:03:44,730 --> 00:03:51,540
‫Vayamos a nuestra pizarra, agreguemos una nueva clave, agreguemos un vector y tengámoslo como nuestra ubicación de inicio.

55
00:03:52,230 --> 00:03:56,280
‫Y luego podemos volver al árbol de comportamiento y ver cómo se mueve a Node.

56
00:03:56,280 --> 00:04:01,980
‫Si va a los detalles, el panel ahora tiene la ubicación de inicio como una opción y luego podemos decir que queremos

57
00:04:01,980 --> 00:04:06,390
‫esperar 5 segundos y luego el proceso comenzará nuevamente porque habremos completado con éxito nuestra nota

58
00:04:06,390 --> 00:04:07,110
‫de secuencia.

59
00:04:07,470 --> 00:04:08,340
‫Así es como funciona.

60
00:04:08,340 --> 00:04:10,230
‫Bajas a la nota de secuencia.

61
00:04:10,530 --> 00:04:13,520
‫Entonces, el nodo de secuencia dice, está bien, bueno, ¿dónde están mis hormigas?

62
00:04:13,530 --> 00:04:15,330
‫Quiero empezar por el principio.

63
00:04:15,690 --> 00:04:19,680
‫Y pueden ver que esta numeración aquí nos indica el orden de ejecución.

64
00:04:19,680 --> 00:04:25,800
‫Comenzamos en cero, que es el nodo de secuencia uno es el movimiento, luego dos es esperar,

65
00:04:26,010 --> 00:04:30,720
‫tres se mueve a cuatro, etc. Así que avanzamos paso a paso haciendo cada tarea hasta su finalización o falla.

66
00:04:30,720 --> 00:04:33,870
‫Si fallamos, entonces un nodo de secuencia fallará como un todo.

67
00:04:34,110 --> 00:04:39,960
‫Sin embargo, es probable que ninguno de estos falle, por lo que revisaremos todo y luego el nodo de

68
00:04:39,960 --> 00:04:42,600
‫secuencia se completará y la ruta comenzará nuevamente.

69
00:04:42,600 --> 00:04:47,640
‫Así que vamos a pasar en un bucle, yendo a la ubicación de juego, esperando, volviendo a la

70
00:04:47,640 --> 00:04:49,650
‫ubicación de inicio, esperando un poco más.

71
00:04:50,100 --> 00:04:53,970
‫Así que ese es el poder de los árboles de comportamiento y puedes empezar a anidarlos más profundamente.

72
00:04:53,970 --> 00:04:58,320
‫Puede tener opciones aquí, puede tener decoradores, todo lo que veremos en las próximas

73
00:04:58,320 --> 00:04:58,770
‫conferencias.

74
00:04:59,010 --> 00:05:06,090
‫Pero esta es la base de una serie de instrucciones que su aire puede ejecutar y que pueden tomar más de un

75
00:05:06,090 --> 00:05:07,350
‫marco para completar.

76
00:05:07,560 --> 00:05:13,140
‫Ahora lo que queremos hacer es configurar esta ubicación de inicio para que sea algo significativo.

77
00:05:13,710 --> 00:05:16,620
‫Eso debería ser razonablemente sencillo.

78
00:05:16,620 --> 00:05:22,500
‫Lo único que probablemente quiera decirles cómo hacer es cómo nos apoderamos de lo que tenemos bajo

79
00:05:22,500 --> 00:05:23,220
‫control.

80
00:05:23,550 --> 00:05:24,060
‫Por lo que sólo.

81
00:05:24,110 --> 00:05:31,640
‫Un recordatorio de que si vamos al controlador dot h aquí, entonces podemos buscar el get --.

82
00:05:32,180 --> 00:05:39,740
‫Y el método get -- tanto para los controladores de jugadores como para los controladores aéreos nos permite apoderarnos de lo

83
00:05:39,740 --> 00:05:41,180
‫que se está controlando.

84
00:05:41,180 --> 00:05:49,100
‫Así que puede usar esto para obtener el control y obtener su ubicación al comienzo del juego para

85
00:05:49,100 --> 00:05:51,410
‫establecer nuestra ubicación de inicio.

86
00:05:51,800 --> 00:05:53,180
‫Así que aquí está el desafío para ti.

87
00:05:53,180 --> 00:05:59,030
‫Establezca una ubicación de inicio, obtenga la ubicación de -- como acabamos de hablar un poco, configure la tecla

88
00:05:59,030 --> 00:06:04,040
‫de pizarra correcta, use la posición del jugador que ya hemos usado como plantilla para eso.

89
00:06:04,700 --> 00:06:09,470
‫Configure el árbol de comportamiento de la forma en que lo hice en la conferencia y pruébelo.

90
00:06:09,800 --> 00:06:17,450
‫Vea si ese comportamiento obtiene el comportamiento deseado del jugador o el enemigo moviéndose hacia el jugador, y luego regresa

91
00:06:17,450 --> 00:06:19,850
‫a su ubicación inicial original.

92
00:06:19,850 --> 00:06:21,620
‫Pausa el video y pruébalo.

93
00:06:22,970 --> 00:06:23,230
‫Bueno.

94
00:06:23,240 --> 00:06:23,810
‫Bienvenido de nuevo.

95
00:06:23,840 --> 00:06:25,250
‫Así que espero que eso haya funcionado para ti.

96
00:06:25,280 --> 00:06:26,870
‫Démosle una oportunidad.

97
00:06:27,170 --> 00:06:30,920
‫Así que voy a copiar la línea para la ubicación de nuestro jugador.

98
00:06:31,370 --> 00:06:36,050
‫Y en lugar de configurar la ubicación de juego para ir a nuestra pizarra, eche un vistazo a nuestra ubicación de inicio.

99
00:06:36,410 --> 00:06:39,530
‫Vamos a copiar ese valor clave aquí.

100
00:06:40,190 --> 00:06:45,440
‫Y luego, en lugar de obtener la ubicación real de la obra de un peón, vamos a obtener

101
00:06:45,440 --> 00:06:51,770
‫el peón y luego la ubicación del actor, que va a llegar al peón que estamos controlando actualmente y obtener su

102
00:06:51,800 --> 00:06:53,300
‫ubicación en el mundo.

103
00:06:53,750 --> 00:06:58,310
‫Así que podemos seguir adelante y volver al editor y compilar esto.

104
00:06:58,370 --> 00:07:03,140
‫Y una vez hecho esto, dale al play y echa un vistazo a nuestro peón.

105
00:07:03,140 --> 00:07:09,500
‫Viene, se mueve hacia nosotros y espera 3 segundos o 2 segundos o 1/2, luego regresa a

106
00:07:09,500 --> 00:07:16,220
‫su ubicación de inicio original, luego espera 5 segundos y luego regresa a la ubicación original del peón de

107
00:07:16,220 --> 00:07:16,850
‫juego.

108
00:07:16,850 --> 00:07:19,010
‫Así que no está actualizando cada cuadro, y eso está bien.

109
00:07:19,010 --> 00:07:20,750
‫Así lo diseñamos en este momento.

110
00:07:21,050 --> 00:07:23,320
‫Pero se puede ver el comportamiento que está pasando.

111
00:07:23,330 --> 00:07:25,280
‫Está patrullando de un lado a otro.

112
00:07:25,640 --> 00:07:29,210
‫Así que echemos un vistazo a todo esto en acción.

113
00:07:29,220 --> 00:07:30,470
‫Echa un vistazo a nuestro árbol de comportamiento.

114
00:07:30,950 --> 00:07:34,910
‫Si vamos a nuestro árbol de comportamiento y seleccionamos el en cuestión, puedes ver dónde está.

115
00:07:34,910 --> 00:07:39,410
‫Se está moviendo hacia está esperando tantos segundos que se está moviendo hacia su ubicación de inicio.

116
00:07:39,410 --> 00:07:40,430
‫Está esperando de nuevo.

117
00:07:40,790 --> 00:07:45,860
‫Entonces podemos desacoplar esto y ver que ambas cosas sucedan al mismo tiempo.

118
00:07:46,100 --> 00:07:48,980
‫En nuestro juego, puedes ver que se está moviendo a esa ubicación.

119
00:07:48,980 --> 00:07:49,670
‫el esta esperando

120
00:07:49,670 --> 00:07:52,850
‫Ahora ha vuelto a moverlo a su ubicación de inicio.

121
00:07:52,850 --> 00:07:58,940
‫Así que esto es realmente útil para que podamos depurar, especialmente cuando estos comportamientos se vuelven un poco

122
00:07:58,940 --> 00:07:59,660
‫más complicados.

123
00:07:59,660 --> 00:08:06,260
‫Y también le da una idea de cuán irreal es calcular el árbol de comportamiento y cómo funciona ese flujo

124
00:08:06,260 --> 00:08:09,260
‫de ejecución dentro de nuestro árbol de comportamiento.

125
00:08:09,740 --> 00:08:10,280
‫Buena cosa.

126
00:08:10,280 --> 00:08:15,170
‫En el próximo programa, haremos que estos comportamientos sean aún más complicados y

127
00:08:15,170 --> 00:08:21,380
‫agregaremos algún elemento de decisión sobre si elegimos seguir a un jugador o si elegimos quedarnos donde estamos.

128
00:08:21,740 --> 00:08:23,110
‫Te veré en esa conferencia.

