﻿1
00:00:04,390 --> 00:00:05,350
‫Hola y bienvenido.

2
00:00:05,350 --> 00:00:11,560
‫En esta lección vamos a presentar funciones miembro y obtener funciones normales y

3
00:00:11,560 --> 00:00:17,590
‫seguras que nos permitirán obtener la dirección de un vector en particular.

4
00:00:17,620 --> 00:00:19,630
‫Vamos a sumergirnos y ver cómo funciona esto.

5
00:00:20,750 --> 00:00:26,450
‫Entonces, nuestro método simple para enviar la plataforma de regreso en la dirección opuesta está funcionando a las velocidades

6
00:00:26,450 --> 00:00:28,070
‫a las que lo probamos.

7
00:00:28,310 --> 00:00:33,890
‫Pero, ¿qué pasa si digo, Oye, hagamos que esta plataforma vaya diez veces más rápido?

8
00:00:34,070 --> 00:00:36,410
‫Sigamos adelante, juguemos y veamos qué sucede.

9
00:00:36,620 --> 00:00:42,380
‫Bueno, de repente esas plataformas saltan mucho hacia adelante y no se mueven alrededor de la misma

10
00:00:42,380 --> 00:00:43,490
‫ubicación que antes.

11
00:00:43,850 --> 00:00:53,240
‫Y la razón de esto es que la ubicación actual, cuando la configuramos como la ubicación de inicio, no

12
00:00:53,240 --> 00:00:56,870
‫es necesariamente exactamente la distancia recorrida.

13
00:00:56,930 --> 00:01:01,430
‫Podríamos habernos pasado y eso se captura aquí en la instrucción if.

14
00:01:01,430 --> 00:01:06,830
‫Estamos diciendo que la distancia recorrida es mayor que la distancia recorrida, lo que significa que habremos

15
00:01:06,830 --> 00:01:07,220
‫pasado.

16
00:01:07,220 --> 00:01:11,420
‫Tenemos que haber sobrepasado para haber desencadenado esta instrucción if.

17
00:01:11,780 --> 00:01:13,270
‫Pero la pregunta es ¿cuánto?

18
00:01:13,280 --> 00:01:17,780
‫Y eso va a depender mucho de cuán grande sea el tiempo Delta.

19
00:01:17,780 --> 00:01:23,660
‫Podemos sobrepasarnos en cantidades bastante grandes, especialmente si la velocidad de la plataforma es grande, lo que significa

20
00:01:23,660 --> 00:01:26,930
‫que nuestra ubicación de inicio puede variar con el tiempo.

21
00:01:26,930 --> 00:01:28,500
‫Puede que no se mantenga constante.

22
00:01:28,520 --> 00:01:35,540
‫Entonces, la mejor manera de hacer esto sería calcular qué tan lejos debemos movernos desde la ubicación de inicio original

23
00:01:35,540 --> 00:01:39,590
‫para llegar a la nueva utilizando la distancia de movimiento exacta.

24
00:01:39,860 --> 00:01:43,010
‫Así que tratemos de visualizar este cálculo de ida y vuelta.

25
00:01:43,010 --> 00:01:46,160
‫Estamos diciendo que tenemos una plataforma en su ubicación de inicio aquí.

26
00:01:46,640 --> 00:01:53,060
‫Decimos que tiene una velocidad que podemos representar con una flecha que tiene una dirección y un tamaño, y también

27
00:01:53,060 --> 00:01:57,920
‫tiene una distancia que queremos que se mueva, que está representada por esta llave aquí.

28
00:01:58,760 --> 00:02:05,210
‫Ahora, lo que estamos diciendo es que nos gustaría averiguar el punto exacto donde la plataforma

29
00:02:05,210 --> 00:02:09,740
‫estaría al final, no sobrepasada, sino exactamente la ubicación final.

30
00:02:10,040 --> 00:02:14,900
‫Ahora, la forma en que podemos hacer esto es tomando la dirección de esa flecha de velocidad.

31
00:02:14,960 --> 00:02:21,320
‫Entonces, en lenguaje vectorial, esto se llama normal de la flecha, y básicamente lo reduce a

32
00:02:21,320 --> 00:02:22,550
‫un tamaño uno.

33
00:02:22,550 --> 00:02:25,940
‫Entonces obtenemos la dirección pero un tamaño de uno.

34
00:02:25,940 --> 00:02:31,460
‫Eso nos permite conocer este conteo, esencialmente el tamaño de la velocidad, qué tan rápido vamos.

35
00:02:32,090 --> 00:02:39,050
‫Y luego, lo que podemos hacer es multiplicar esa dirección por la cantidad de nuestra distancia para darnos una

36
00:02:39,050 --> 00:02:45,140
‫flecha que nos brinde todo el movimiento desde la ubicación inicial hasta la ubicación final.

37
00:02:45,140 --> 00:02:46,070
‫Exactamente.

38
00:02:46,460 --> 00:02:49,520
‫Así que echemos un vistazo a cómo podemos hacer esto en C++.

39
00:02:49,820 --> 00:02:52,400
‫Lo que estamos buscando es una nueva ubicación de inicio.

40
00:02:52,400 --> 00:02:58,610
‫Entonces, eliminemos cómo estamos haciendo esto actualmente y vamos a tener una ubicación de inicio igual a, bueno, ¿a

41
00:02:58,610 --> 00:02:59,700
‫qué será igual?

42
00:02:59,720 --> 00:03:05,060
‫Bueno, va a ser igual, en primer lugar, a la ubicación de inicio

43
00:03:05,060 --> 00:03:10,550
‫más algo, porque comenzamos desde aquí y agregamos este vector verde para llegar al final.

44
00:03:11,000 --> 00:03:13,010
‫Entonces, ¿qué es ese vector verde allí?

45
00:03:13,760 --> 00:03:18,710
‫Bueno, ahí es donde necesitamos obtener la normalidad de la velocidad de la plataforma.

46
00:03:18,710 --> 00:03:24,680
‫Y solo para que nos resulte más fácil de entender, voy a dividir eso en su propia variable.

47
00:03:24,690 --> 00:03:32,540
‫Así que vamos a crear una nueva construcción de tipo efector, que voy a llamar la dirección de movimiento, solo

48
00:03:32,660 --> 00:03:38,000
‫para dejar muy claro qué es lo que estamos tratando de almacenar

49
00:03:38,000 --> 00:03:47,750
‫en él y luego vamos a obtenga esto del punto de velocidad de la plataforma, obtenga seguro, normal y luego algunos paréntesis al final.

50
00:03:47,810 --> 00:03:48,890
‫Entonces, ¿qué está pasando aquí?

51
00:03:48,890 --> 00:03:50,600
‫No hemos visto esto antes.

52
00:03:50,600 --> 00:03:54,740
‫Hemos usado puntos para obtener las componentes del vector, X, Y y Z.

53
00:03:54,740 --> 00:03:55,700
‫Esas eran variables.

54
00:03:56,180 --> 00:04:04,520
‫Pero en C++ y en la programación orientada a objetos en general, también tenemos funciones que existen en las clases, por lo que

55
00:04:04,520 --> 00:04:08,480
‫podemos usar el operador DOT para obtener una de ellas.

56
00:04:08,480 --> 00:04:12,980
‫Hemos usado el colon colon cuando hemos estado tratando de sacarlo de la clase misma.

57
00:04:13,370 --> 00:04:20,630
‫Pero cuando queremos hacer una operación con el vector real en sí mismo, por lo que el vector de velocidad de la

58
00:04:20,630 --> 00:04:25,460
‫plataforma, podemos usar el operador de punto para obtener el vector normal del límite.

59
00:04:25,490 --> 00:04:30,620
‫Eso es lo que estamos haciendo aquí, usando una función miembro en lugar de una variable miembro.

60
00:04:31,190 --> 00:04:37,070
‫Así que tenemos el normal seguro de la velocidad de la plataforma y el punto y coma, el final de la línea

61
00:04:37,070 --> 00:04:41,150
‫porque aquí tenemos una variable que esencialmente decimos que es la dirección del movimiento.

62
00:04:41,480 --> 00:04:50,270
‫Así que ahora podemos usar eso en la línea subsiguiente para hacer una dirección de movimiento multiplicada por la distancia

63
00:04:50,270 --> 00:04:56,690
‫de movimiento que está configurada porque queremos movernos exactamente hasta el final, no sobrepasarnos.

64
00:04:56,870 --> 00:05:01,790
‫Y luego de que hayamos hecho eso, deberíamos mover nuestra plataforma a la ubicación final.

65
00:05:01,790 --> 00:05:08,570
‫Así que vamos a hacer una ubicación de actor establecida para que sea la ubicación de inicio, porque de lo contrario nuestra

66
00:05:08,570 --> 00:05:14,720
‫plataforma se habrá sobrepasado y pasado esa ubicación final porque la habremos actualizado con la ubicación actual, que es

67
00:05:14,720 --> 00:05:16,250
‫la ubicación de sobrepaso.

68
00:05:16,790 --> 00:05:20,000
‫Eso nos permite movernos exactamente hasta el punto final.

69
00:05:20,050 --> 00:05:23,470
‫Y luego comience desde esa nueva ubicación de inicio.

70
00:05:23,860 --> 00:05:28,960
‫Ahora es importante que actualicemos la velocidad de la plataforma después de hacer todo esto porque la

71
00:05:28,960 --> 00:05:31,430
‫estamos usando para controlar las direcciones de movimiento.

72
00:05:31,460 --> 00:05:35,950
‫Voy a actualizar la velocidad de la plataforma después de establecer la ubicación del actor.

73
00:05:36,400 --> 00:05:40,660
‫Ahora volvamos a Unreal y hagamos clic en compilar y veamos si esto está arreglado.

74
00:05:40,660 --> 00:05:43,750
‫El problema con nuestra plataforma moviéndose hacia adelante y hacia atrás.

75
00:05:43,990 --> 00:05:47,110
‫Cerremos esta terminal y presionemos reproducir.

76
00:05:47,230 --> 00:05:53,890
‫Y ahora, si echamos un vistazo, la plataforma se mueve rápidamente pero se mueve de manera confiable alrededor de la ubicación inicial

77
00:05:53,890 --> 00:05:55,960
‫y final, como es de esperar.

78
00:05:56,020 --> 00:05:58,900
‫Así que eso es todo lo que quería cubrir en esta conferencia, lo cual es correcto.

79
00:05:58,900 --> 00:06:03,830
‫Un pequeño error que podría haber surgido en algunas de las configuraciones de nuestra plataforma.

80
00:06:03,850 --> 00:06:05,140
‫Veré en la siguiente.

