1 00:00:01,580 --> 00:00:08,779 cuéntame qué dificultades estás viendo que te gustaría que viéramos pues vamos a ver 2 00:00:10,300 --> 00:00:18,559 no te puedo ahora mismo enseñar el proyecto eso es un poco una una limitación pero bueno 3 00:00:20,379 --> 00:00:29,239 básicamente lo que más guerra me ha dado hasta ahora ha sido el tema de las plataformas móviles 4 00:00:29,239 --> 00:00:40,840 a través de animación, no de código, porque digamos que el personaje, no sé, tiene un offset cuando está subido encima de la plataforma 5 00:00:40,840 --> 00:00:48,880 que no se aplica en las plataformas que están hechas por código, o sea, que están animadas por código. 6 00:00:49,380 --> 00:00:56,700 Entonces, digamos que el personaje se sube encima, todo bien, pero cuando se desplaza hacia un lado la plataforma, 7 00:00:56,700 --> 00:00:58,820 el personaje resbala un poquito 8 00:00:58,820 --> 00:01:00,920 hacia ese lado y cuando va para el otro lado 9 00:01:00,920 --> 00:01:02,939 resbala para el otro lado, o sea, está aplicando 10 00:01:02,939 --> 00:01:03,439 todo el rato 11 00:01:03,439 --> 00:01:06,439 un offset y no entiendo por qué 12 00:01:06,439 --> 00:01:08,599 no entiendo por qué porque ya te digo 13 00:01:08,599 --> 00:01:10,579 en la que va por código se sube y se queda 14 00:01:10,579 --> 00:01:12,560 donde cae y le mueve la 15 00:01:12,560 --> 00:01:14,620 plataforma y las animaciones 16 00:01:14,620 --> 00:01:16,280 todo bien, pero 17 00:01:16,280 --> 00:01:18,859 eso es lo que más guerra me ha dado 18 00:01:18,859 --> 00:01:20,840 he intentado mirarlo 19 00:01:20,840 --> 00:01:21,280 con 20 00:01:21,280 --> 00:01:24,819 pues con IA tirándole el código y tal 21 00:01:24,819 --> 00:01:26,680 y es peor, o sea 22 00:01:26,680 --> 00:01:29,560 me hace cosas ahí extrañas 23 00:01:29,560 --> 00:01:31,640 que me aplica una 24 00:01:31,640 --> 00:01:33,640 no sé qué hace 25 00:01:33,640 --> 00:01:34,840 un cúmulo de 26 00:01:34,840 --> 00:01:37,060 inercia más 27 00:01:37,060 --> 00:01:39,239 la velocidad que lleva más no sé qué 28 00:01:39,239 --> 00:01:41,719 y le pega un empujón al personaje 29 00:01:41,719 --> 00:01:43,439 y lo manda a tomar 30 00:01:43,439 --> 00:01:44,340 vientos, entonces 31 00:01:44,340 --> 00:01:46,879 estaba peleándome con eso 32 00:01:46,879 --> 00:01:49,739 no entiendo por qué cuando se sube 33 00:01:49,739 --> 00:01:53,459 y hay pruebas de varias maneras 34 00:01:53,459 --> 00:01:55,060 ahora vemos 35 00:01:55,060 --> 00:01:57,620 Ahora te enseño propuestas 36 00:01:57,620 --> 00:01:59,780 Vale, eso es una 37 00:01:59,780 --> 00:02:01,400 Bueno, ya aprovecho 38 00:02:01,400 --> 00:02:03,260 Ahora me sigues contando 39 00:02:03,260 --> 00:02:05,980 Para ver las partes que más te estén costando 40 00:02:05,980 --> 00:02:07,359 Que tengas dudas 41 00:02:07,359 --> 00:02:09,780 Ya sí que estamos entrando en el terreno 42 00:02:09,780 --> 00:02:11,939 De códigos con mucha información 43 00:02:11,939 --> 00:02:13,780 Muchas lógicas mezcladas 44 00:02:13,780 --> 00:02:15,659 Y aquí sí que ya 45 00:02:15,659 --> 00:02:17,939 Hay múltiples caminos para resolver 46 00:02:17,939 --> 00:02:18,580 Lo mismo, ¿vale? 47 00:02:18,580 --> 00:02:20,819 Entonces, aquí ya sí que es el mundo 48 00:02:20,819 --> 00:02:22,340 De, bueno, pues ver propuestas 49 00:02:22,340 --> 00:02:24,580 Y luego cuando parece 50 00:02:24,580 --> 00:02:26,719 que lo has conseguido, pues lo que me estás comentando 51 00:02:26,719 --> 00:02:28,800 aparece en comportamientos no deseados 52 00:02:28,800 --> 00:02:30,120 etcétera, simplemente 53 00:02:30,120 --> 00:02:32,280 recalcar que eso es absolutamente normal 54 00:02:32,280 --> 00:02:33,979 que el dar vueltas es 55 00:02:33,979 --> 00:02:36,340 parte de lo que toca, vamos, eso 56 00:02:36,340 --> 00:02:37,520 es así, entonces 57 00:02:37,520 --> 00:02:40,360 ahora es verdad que tenemos 58 00:02:40,360 --> 00:02:42,379 una herramienta que aunque pensemos 59 00:02:42,379 --> 00:02:44,439 que a veces empeora el camino, sí que 60 00:02:44,439 --> 00:02:46,219 nos puede orientar o nos puede dar ideas 61 00:02:46,219 --> 00:02:48,400 que se sabía, que está muy bien usarla 62 00:02:48,400 --> 00:02:50,439 pero bueno, como me acabas 63 00:02:50,439 --> 00:02:52,699 de decir, no es mágica y no siempre da la solución 64 00:02:52,699 --> 00:02:54,219 al menos no la primera o 65 00:02:54,219 --> 00:02:56,000 hay que ser consciente de qué se busca 66 00:02:56,000 --> 00:02:57,879 para ir dándole vueltas 67 00:02:57,879 --> 00:02:59,879 entonces por eso es la gracia de 68 00:02:59,879 --> 00:03:02,020 ver la base de la programación y tener una idea 69 00:03:02,020 --> 00:03:03,879 general, al menos aunque sea 70 00:03:03,879 --> 00:03:06,159 de iniciación un poco, de cómo 71 00:03:06,159 --> 00:03:07,780 funciona la programación, ¿vale? 72 00:03:07,819 --> 00:03:09,840 que está esta idea de que la IA hace 73 00:03:09,840 --> 00:03:11,639 cosas increíbles, es verdad, pero bueno 74 00:03:11,639 --> 00:03:14,020 cuando quieres cosas concretas, pues a veces 75 00:03:14,020 --> 00:03:15,460 no lo hace, entonces 76 00:03:15,460 --> 00:03:16,939 simplemente que es normal, ¿eh? 77 00:03:17,680 --> 00:03:20,020 Tienes que conocer el código, o sea, tienes que saber 78 00:03:20,020 --> 00:03:21,960 lo que estás haciendo y 79 00:03:21,960 --> 00:03:23,819 evidentemente hay cosas que sí que te da 80 00:03:23,819 --> 00:03:31,860 soluciones o bueno te puedes simplificar algo que tal pero evidentemente si no si no conoces 81 00:03:31,860 --> 00:03:40,580 el código y sobre todo tu propia nomenclatura y todo nada te puedes perder fácilmente de hecho 82 00:03:40,580 --> 00:03:48,360 en él en el ejercicio anterior que vi tus comentarios gracias no sé por qué no me llegó 83 00:03:48,360 --> 00:03:50,139 el aviso de que había un comentario 84 00:03:50,139 --> 00:03:51,860 sobre la entrega de la tarea 85 00:03:51,860 --> 00:03:54,199 y no me ha pasado solo con esa, me ha pasado 86 00:03:54,199 --> 00:03:56,080 con otros módulos también 87 00:03:56,080 --> 00:03:57,219 pero 88 00:03:57,219 --> 00:04:00,280 que mencionabas el tema de que había 89 00:04:00,280 --> 00:04:02,039 una cosa en el código que era 90 00:04:02,039 --> 00:04:03,979 redundante porque lo podía hacer desde 91 00:04:03,979 --> 00:04:06,159 el editor, desde el inspector y es 92 00:04:06,159 --> 00:04:08,180 cierto, lo que pasa que es justamente 93 00:04:08,180 --> 00:04:09,500 lo que estás diciendo tú, que 94 00:04:09,500 --> 00:04:12,159 llega un momento en el que esto 95 00:04:12,159 --> 00:04:13,840 tiene una cantidad de 96 00:04:13,840 --> 00:04:16,199 información y de cosas vinculadas 97 00:04:16,199 --> 00:04:17,240 que 98 00:04:17,240 --> 00:04:37,519 Que cuando estás buscando una solución, pues justamente la tenía en el inspector, era mucho más fácil. Y yo creo que haciendo cambios y probando es donde, porque le quise pasar casi toda la, o sea, todo lo posible, digamos, de la competencia y el control al game controller. 99 00:04:37,519 --> 00:04:39,500 inicialmente no lo tenía así 100 00:04:39,500 --> 00:04:41,300 y efectivamente con 101 00:04:41,300 --> 00:04:44,079 el controlador de eventos 102 00:04:44,079 --> 00:04:45,819 lo estaba utilizando 103 00:04:45,819 --> 00:04:47,720 desde el editor, pero cuando empecé 104 00:04:47,720 --> 00:04:48,980 a pasar todo lo posible 105 00:04:48,980 --> 00:04:51,639 que correspondía a nivel de juego 106 00:04:51,639 --> 00:04:53,860 al game controller, ahí es donde se me empezó 107 00:04:53,860 --> 00:04:55,899 a hacer un lío importante 108 00:04:55,899 --> 00:04:56,920 y bueno, y al final 109 00:04:56,920 --> 00:04:59,899 lo ordené así y evidentemente quedaron 110 00:04:59,899 --> 00:05:01,160 coletillas sueltas 111 00:05:01,160 --> 00:05:03,600 claro, pero bueno, esto 112 00:05:03,600 --> 00:05:05,720 es, bueno, evidentemente aunque 113 00:05:05,720 --> 00:05:07,879 la IA te diga tal, hay que saber al menos 114 00:05:07,879 --> 00:05:09,639 orientarse en la lectura 115 00:05:09,639 --> 00:05:11,699 del código, aunque a veces no entiendas 116 00:05:11,699 --> 00:05:13,459 todo y le puedes preguntar, es lo bueno 117 00:05:13,459 --> 00:05:15,680 es por lo que 118 00:05:15,680 --> 00:05:17,180 aprendemos a programar, vamos 119 00:05:17,180 --> 00:05:19,399 simplemente 120 00:05:19,399 --> 00:05:21,560 ya que lo has dicho, claro, otro de los 121 00:05:21,560 --> 00:05:23,500 problemas que hay actualmente, pero que ya se está 122 00:05:23,500 --> 00:05:25,220 empezando a solventar es 123 00:05:25,220 --> 00:05:27,259 que la IA, claro, tú le puedes pasar un 124 00:05:27,259 --> 00:05:29,579 escrito, un código, pero le falta 125 00:05:29,579 --> 00:05:31,300 el contexto del editor, le falta 126 00:05:31,300 --> 00:05:32,959 a veces conectarlo con otras cosas 127 00:05:32,959 --> 00:05:35,279 simplemente por si, no ahora 128 00:05:35,279 --> 00:05:37,360 seguramente, pero más adelante quieres 129 00:05:37,360 --> 00:05:39,339 indagar en esto, existe 130 00:05:39,339 --> 00:05:41,459 lo que se llaman los protocolos de control 131 00:05:41,459 --> 00:05:43,100 de modelos, esto de MCP 132 00:05:43,100 --> 00:05:45,399 que hay para software, no sé si te suena 133 00:05:45,399 --> 00:05:47,439 pero que son como 134 00:05:47,439 --> 00:05:49,240 implementaciones de la IA dentro 135 00:05:49,240 --> 00:05:51,379 de los softwares, cuando digo 136 00:05:51,379 --> 00:05:53,519 software puede ser incluso DaVinci por ejemplo 137 00:05:53,519 --> 00:05:55,180 que ya va 138 00:05:55,180 --> 00:05:57,040 entendiendo los propios programas 139 00:05:57,040 --> 00:05:59,279 y es un paso 140 00:05:59,279 --> 00:06:01,259 más porque ya permite leer tanto los 141 00:06:01,259 --> 00:06:03,339 scripts como saber 142 00:06:03,339 --> 00:06:05,259 qué es lo que hay en el editor, ver el 143 00:06:05,259 --> 00:06:10,240 inspector etcétera vale simplemente pues ya que cuando eso también vaya mejorando ya no habrá 144 00:06:10,240 --> 00:06:15,660 redundancias entre lo del editor que en cierto modo a no ser que se lo cuente muy específico 145 00:06:15,660 --> 00:06:23,620 es algún punto ciego que tendrá el laía porque no lo está viendo lo podrás adivinar no podrá 146 00:06:23,620 --> 00:06:28,839 vislumbrar lo pero no está viendo el claro pero bueno que sepa que esto es un poco el camino que 147 00:06:28,839 --> 00:06:34,540 se está viendo con los software para automatizar ya el uso de los software sencillo y hay muchos 148 00:06:34,540 --> 00:06:36,879 para Unity hay varios, bueno, simplemente 149 00:06:36,879 --> 00:06:38,939 que te suenen, ya que hablamos de 150 00:06:38,939 --> 00:06:40,279 IaaS y de esto 151 00:06:40,279 --> 00:06:41,759 Genial, gracias 152 00:06:41,759 --> 00:06:44,899 ¿Qué más? Es verdad que todavía 153 00:06:44,899 --> 00:06:46,879 no funcionan muy finos, pero ya 154 00:06:46,879 --> 00:06:48,879 empiezan a funcionar, eso significa 155 00:06:48,879 --> 00:06:50,899 que a medida que lo mejoren, pues ya 156 00:06:50,899 --> 00:06:53,079 funcionarán, no me cabe duda, lo único 157 00:06:53,079 --> 00:06:54,279 es el tiempo que tardará 158 00:06:54,279 --> 00:06:56,860 Sobre las 159 00:06:56,860 --> 00:06:58,800 plataformas, bueno, algo más 160 00:06:58,800 --> 00:07:00,639 aparte 161 00:07:00,639 --> 00:07:02,920 y otra cosa, es verdad, cuando os damos los 162 00:07:02,920 --> 00:07:05,279 feedback de las tareas, cuando os corregimos las tareas, 163 00:07:05,420 --> 00:07:07,339 si no me equivoco, os llega 164 00:07:07,339 --> 00:07:08,180 la corrección, 165 00:07:09,019 --> 00:07:11,259 el momento de la corrección sí que marcamos una casillita 166 00:07:11,259 --> 00:07:13,199 para que os avise, ¿vale? Normalmente si os llega 167 00:07:13,199 --> 00:07:15,040 la nota, mirad si tiene un feedback, 168 00:07:15,519 --> 00:07:17,079 ¿vale? Porque lo que es el feedback 169 00:07:17,079 --> 00:07:18,439 sí nos va a llegar al mail. 170 00:07:19,019 --> 00:07:20,759 Pero bueno, si os metéis en la tarea 171 00:07:20,759 --> 00:07:23,220 con la corrección, ahí sí que lo veis, ¿no? Si no me equivoco. 172 00:07:24,060 --> 00:07:24,939 Sí, sí, ahí sí. 173 00:07:25,160 --> 00:07:26,639 Lo que pasa es que habitualmente siempre me 174 00:07:26,639 --> 00:07:29,040 ha llegado eso, un aviso que 175 00:07:29,040 --> 00:07:31,100 dice, hay un comentario sobre tu entrega. 176 00:07:31,220 --> 00:07:31,819 Bueno, pues ya está. 177 00:07:31,819 --> 00:07:34,339 ¿Y esta? ¿En esta ocasión no te llegó? 178 00:07:35,019 --> 00:07:36,600 No, y me pasó también 179 00:07:36,600 --> 00:07:38,399 con las de 180 00:07:38,399 --> 00:07:40,699 digitalización y sostenibilidad 181 00:07:40,699 --> 00:07:42,540 no sé, no sé, bueno, en fin 182 00:07:42,540 --> 00:07:44,579 Sí, pues a veces 183 00:07:44,579 --> 00:07:46,579 la plataforma también, bueno, pues no 184 00:07:46,579 --> 00:07:48,220 avisará, en teoría te debería haber llegado 185 00:07:48,220 --> 00:07:50,480 y más si te ha llegado otras veces, porque si no diría, bueno, pues 186 00:07:50,480 --> 00:07:51,959 nunca está funcionando, pero sí que 187 00:07:51,959 --> 00:07:54,079 en teoría marcamos una cosa que 188 00:07:54,079 --> 00:07:56,540 os llega ese aviso, es verdad que 189 00:07:56,540 --> 00:07:58,480 por ejemplo, por ejemplo este fin 190 00:07:58,480 --> 00:08:00,480 de, entiendo que en otra, esto fue 191 00:08:00,480 --> 00:08:04,240 antes pero este fin de semana ha habido una interrupción que de pronto no han llegado los 192 00:08:04,240 --> 00:08:14,579 novedades de foro hasta tres días después bueno que a veces pasan estas cosas vale algo más si 193 00:08:14,579 --> 00:08:24,180 no vamos con lo de las plataformas no arranca porque la otra parte ya de los proyectiles y 194 00:08:24,180 --> 00:08:26,279 y tal, me la dejo para después 195 00:08:26,279 --> 00:08:27,939 vale, aún así si quieres 196 00:08:27,939 --> 00:08:30,060 vemos enfoques 197 00:08:30,060 --> 00:08:31,939 ¿vale? para que cojáis ideas, aunque yo en el 198 00:08:31,939 --> 00:08:33,980 anuncio de la tarea os pongo algunas cosas, pero lo 199 00:08:33,980 --> 00:08:35,559 vemos también aquí, ¿vale? 200 00:08:36,179 --> 00:08:36,580 vale 201 00:08:36,580 --> 00:08:40,200 voy a ir por pasos de lo que es la tarea 202 00:08:40,200 --> 00:08:41,980 aunque entiendo que los primeros me los voy a pasar 203 00:08:41,980 --> 00:08:44,200 rápido, porque es verdad que es lo que tenéis más explicado 204 00:08:44,200 --> 00:08:45,899 y con vídeos ya en 205 00:08:45,899 --> 00:08:48,179 el propio tema, pero bueno 206 00:08:48,179 --> 00:08:50,299 lo que es generar 207 00:08:50,299 --> 00:08:51,919 los sprites y 208 00:08:51,919 --> 00:08:52,460 a ver 209 00:08:52,460 --> 00:08:56,460 sprites, es decir, esta hoja de sprites 210 00:08:56,460 --> 00:08:58,879 dividirlo en los distintos fragmentos 211 00:08:58,879 --> 00:09:00,059 para meterlo como 212 00:09:00,059 --> 00:09:02,500 clips de animación, eso entiendo que no hay problema 213 00:09:02,500 --> 00:09:03,580 ¿no? hasta ahí bien 214 00:09:03,580 --> 00:09:06,360 no, no hay problema, lo único que 215 00:09:06,360 --> 00:09:08,440 he notado, pues son dos cosas, una que 216 00:09:08,440 --> 00:09:09,539 o sea, el idle 217 00:09:09,539 --> 00:09:11,960 da un salto 218 00:09:11,960 --> 00:09:14,539 no sé si es que le falta algún sprite 219 00:09:14,539 --> 00:09:15,600 algún dibujo o algo 220 00:09:15,600 --> 00:09:18,740 el idle, ¿vale? ahora lo vemos pero no debería 221 00:09:18,740 --> 00:09:20,500 en el loop, al final 222 00:09:20,500 --> 00:09:22,440 del loop hace como un saltito y eso es 223 00:09:22,440 --> 00:09:24,960 típico de que o le sobra o le falta algún frame 224 00:09:24,960 --> 00:09:25,860 pero 225 00:09:25,860 --> 00:09:28,840 ya te digo, no me he metido a 226 00:09:28,840 --> 00:09:29,740 comprobarlo 227 00:09:29,740 --> 00:09:31,740 vale, sí, a veces puede pasar 228 00:09:31,740 --> 00:09:32,879 digo que 229 00:09:32,879 --> 00:09:35,159 en este caso 230 00:09:35,159 --> 00:09:35,980 a ver, espera 231 00:09:35,980 --> 00:09:38,919 si quito y me 232 00:09:38,919 --> 00:09:39,919 acerco la cámara 233 00:09:39,919 --> 00:09:43,320 es decir 234 00:09:43,320 --> 00:09:44,980 en principio a veces si veis que 235 00:09:44,980 --> 00:09:47,059 hace ese saltito, pues es ver el último fotograma 236 00:09:47,059 --> 00:09:47,799 de la animación 237 00:09:47,799 --> 00:09:50,580 porque estará duplicado 238 00:09:50,580 --> 00:09:52,080 o algo así 239 00:09:52,080 --> 00:09:54,379 en teoría el idle, aquí yo como lo veo 240 00:09:54,379 --> 00:09:55,559 no sé si tú lo ves bien 241 00:09:55,559 --> 00:09:58,779 debería ir bien 242 00:09:58,779 --> 00:10:00,840 vamos, no se nota ningún salto 243 00:10:00,840 --> 00:10:02,200 no, en ese se ve bien 244 00:10:02,200 --> 00:10:04,580 en el mío hace un pequeño salto 245 00:10:04,580 --> 00:10:05,039 al final 246 00:10:05,039 --> 00:10:07,259 y bueno, pues nada 247 00:10:07,259 --> 00:10:10,240 puede ser, o porque 248 00:10:10,240 --> 00:10:12,419 al hacer la animación, al seleccionar 249 00:10:12,419 --> 00:10:13,720 todo y arrastrar, por ejemplo 250 00:10:13,720 --> 00:10:16,399 te dejaras alguno y el salto sea precisamente 251 00:10:16,399 --> 00:10:18,220 porque falte, o que el primero y el último 252 00:10:18,220 --> 00:10:20,200 sea el mismo, que eso se soluciona 253 00:10:20,200 --> 00:10:22,039 básicamente vendiéndote 254 00:10:22,039 --> 00:10:24,019 en la animación, pues en el aire en este caso 255 00:10:24,019 --> 00:10:26,000 sería este, y ver 256 00:10:26,000 --> 00:10:27,659 ese fotograma, ¿vale? 257 00:10:27,720 --> 00:10:29,240 para que, a ver 258 00:10:29,240 --> 00:10:31,700 si lo despliegas, para ver 259 00:10:31,700 --> 00:10:34,279 cuál está duplicado, si el salto es como que hay un fotograma 260 00:10:34,279 --> 00:10:35,960 que es, que se queda como 261 00:10:35,960 --> 00:10:38,000 parado y luego arranca, seguramente lo que haya que hacer 262 00:10:38,000 --> 00:10:40,039 es coger y borrar, ¿vale? 263 00:10:40,899 --> 00:10:41,940 si no comprueba 264 00:10:41,940 --> 00:10:43,759 que de verdad han metido toda la cadena 265 00:10:43,759 --> 00:10:45,320 de fotogramas, ¿vale? 266 00:10:45,960 --> 00:10:47,879 vale, eso por otro lado 267 00:10:47,879 --> 00:10:49,799 con, aunque entiendo 268 00:10:49,799 --> 00:10:52,019 que estará en progreso con el 269 00:10:52,019 --> 00:10:56,580 animator controller de las acciones que aquí ya empiezan a tener tela más o menos 270 00:10:56,580 --> 00:11:04,539 lo vas que además esto es algo de este tema más o menos lo va a ser eso al 271 00:11:04,539 --> 00:11:11,159 principio si me había dado un poco de lío o sea ya lo conocía en real 272 00:11:11,159 --> 00:11:16,639 estaba un poco familiarizado con esto vale y aunque es diferente digamos que 273 00:11:16,639 --> 00:11:18,120 bien, hasta 274 00:11:18,120 --> 00:11:20,559 a ver qué momento fue 275 00:11:20,559 --> 00:11:22,600 así un poco, porque veo que 276 00:11:22,600 --> 00:11:24,559 ahí tú tienes conectadas bastantes cosas 277 00:11:24,559 --> 00:11:26,500 Claro, aquí 278 00:11:26,500 --> 00:11:28,519 es lo mismo, se puede hacer de 279 00:11:28,519 --> 00:11:30,440 varias formas, pero sí, espera que te amplío 280 00:11:30,440 --> 00:11:31,840 para que veas un poco 281 00:11:31,840 --> 00:11:33,740 mejor 282 00:11:33,740 --> 00:11:36,419 Sí, vamos, básicamente 283 00:11:36,419 --> 00:11:38,340 la lógica que hay 284 00:11:38,340 --> 00:11:40,299 que no tiene que ser exactamente la 285 00:11:40,299 --> 00:11:41,379 que se cumpla 286 00:11:41,379 --> 00:11:44,259 eso está ahí, nos aplica 287 00:11:44,259 --> 00:11:46,279 según entramos está en el idle, ¿vale? 288 00:11:46,639 --> 00:12:00,159 Si nos movemos, evidentemente pasa de andar de izquierda a derecha, básicamente, con la cruceta. Podemos ir viendo en detalle si quieres alguna cosa, pero no da tiempo a ver todo, entonces vayas viendo. 289 00:12:00,159 --> 00:12:12,100 Luego, si das a la barra espaciadora, se aplica una fuerza y también la animación de salto. Y cuando detecta suelo, hay aquí un parámetro llamado Is Grounded, volverá al idle. 290 00:12:12,460 --> 00:12:24,259 Que nos movemos rápidamente, pues como hemos quitado en esta transición el Has Exit Time, no se tiene que desarrollar toda la animación. Por tanto, pasaría directamente al Robot Walk o a lo que fuera. 291 00:12:24,259 --> 00:12:44,659 Eso del has exit time, entiendo que he comprendido. Lo mismo, se puede agachar tanto desde que anda como desde que está en idle. Y la única diferencia, ahora lo vemos, es que cuando pasa desde el idle al crouch, al agachado, va a estar quieto. 292 00:12:44,659 --> 00:13:02,659 Si pasa andando, lo normal es que esté en movimiento, ¿vale? Eso sí que mediante código, pues si no está habiendo desplazamiento horizontal, se queda quieto y de hecho se detiene también la velocidad del robot crouch, ¿vale? Se queda como quieto hasta que se reemprende la marcha. 293 00:13:02,659 --> 00:13:09,919 ya y luego bueno hay una acción de correr vale pues que la transición normalmente es con el 294 00:13:09,919 --> 00:13:19,419 añadido del de después del shift en mi caso más rápido y luego si está corriendo y se da al de 295 00:13:19,419 --> 00:13:24,159 agachado en vez de agacharse lo que hace es el rol este la animación de que rueda vale y sólo 296 00:13:24,159 --> 00:13:29,779 se va a ella si estás corriendo si no no no se puede rodar andando por ejemplo vale y bueno es 297 00:13:29,779 --> 00:13:31,980 muy importante, ¿vale? Que la muerte, 298 00:13:32,340 --> 00:13:33,919 el morir, da igual en cuál 299 00:13:33,919 --> 00:13:35,919 estés, que puede suceder en cualquier caso, en momento, 300 00:13:36,019 --> 00:13:37,820 ¿vale? En cuanto haya una condición 301 00:13:37,820 --> 00:13:39,799 que se cumpla, que es esta booleana de que 302 00:13:39,799 --> 00:13:41,320 está muerto, que ese antiguo está muerto, 303 00:13:41,759 --> 00:13:44,039 pues se lanza la animación 304 00:13:44,039 --> 00:13:45,220 de la muerte. 305 00:13:45,220 --> 00:13:47,039 De la muerte. ¿Vale? La diferencia 306 00:13:47,039 --> 00:13:49,159 entre el entry y el in-state, que es 307 00:13:49,159 --> 00:13:51,059 importante, que es eso. Entry siempre tiene esta 308 00:13:51,059 --> 00:13:52,220 lógica y va siguiendo 309 00:13:52,220 --> 00:13:55,039 las líneas de las transiciones según 310 00:13:55,039 --> 00:13:57,100 se vayan estableciendo, pero tú 311 00:13:57,100 --> 00:13:59,039 siempre puedes decir, vale, en este momento, aunque yo esté 312 00:13:59,039 --> 00:14:05,940 haciendo tal oye si me da un enemigo yo muero da igual que esté rodando en lo que esté vale 313 00:14:05,940 --> 00:14:12,320 luego ya es obviamente ir viendo las condiciones y esto tiene aquí ya así que es echarle vueltas 314 00:14:12,320 --> 00:14:19,379 vale si hay una duda que me ha surgido varias veces que al final por el hecho mis configuraciones y 315 00:14:19,379 --> 00:14:28,220 me funciona bien pero a la derecha donde tienes las dos animaciones con la transición en cual 316 00:14:28,220 --> 00:14:30,919 ¿Dónde está el Has Exist Time? 317 00:14:30,980 --> 00:14:32,120 Ahí está, te refieres 318 00:14:32,120 --> 00:14:33,799 Sí, ahí 319 00:14:33,799 --> 00:14:36,759 como no estoy familiarizado 320 00:14:36,759 --> 00:14:38,799 el hecho de que 321 00:14:38,799 --> 00:14:40,440 entiendo que si vas a hacer 322 00:14:40,440 --> 00:14:42,200 una transición de una animación a otra 323 00:14:42,200 --> 00:14:44,159 tienen que estar superpuestas 324 00:14:44,159 --> 00:14:46,440 con un tiempo, que es como lo tienes 325 00:14:46,440 --> 00:14:46,879 ahora mismo 326 00:14:46,879 --> 00:14:50,659 y luego 327 00:14:50,659 --> 00:14:51,899 ahí se te está repitiendo 328 00:14:51,899 --> 00:14:53,659 el crouch 329 00:14:53,659 --> 00:14:54,879 y esto 330 00:14:54,879 --> 00:14:58,039 a mí me pasaba 331 00:14:58,039 --> 00:15:00,240 cuando el tiempo 332 00:15:00,240 --> 00:15:02,240 de transición es 333 00:15:02,240 --> 00:15:04,080 un poco mayor que el final del 334 00:15:04,080 --> 00:15:06,139 primer, o sea, básicamente está repitiendo el 335 00:15:06,139 --> 00:15:07,580 crouch, eso es lo que está 336 00:15:07,580 --> 00:15:09,559 entiendo que es lo que está haciendo 337 00:15:09,559 --> 00:15:11,840 si está 338 00:15:11,840 --> 00:15:14,159 en el crouch y va a 339 00:15:14,159 --> 00:15:15,059 pasar al idle, pero 340 00:15:15,059 --> 00:15:18,240 pasa más tiempo de lo 341 00:15:18,240 --> 00:15:19,580 que dura la animación crouch 342 00:15:19,580 --> 00:15:22,080 la animación crouch se repite 343 00:15:22,080 --> 00:15:23,299 que es lo que está ocurriendo ahí 344 00:15:23,299 --> 00:15:26,039 por eso te aparece en gris a la derecha otra vez 345 00:15:26,039 --> 00:15:34,080 la animación eso es lo que me rayaba un poco y como justamente el otro y claro es el de la 346 00:15:34,080 --> 00:15:39,279 derecha si lo desliza antes de que termine la animación entiendo que el robot crowds debería 347 00:15:39,279 --> 00:15:44,519 aparecer el gris desaparecer eso es claro tú lo que tiene si para que igual estamos y entonces 348 00:15:44,519 --> 00:15:50,100 ahí justamente eso que estabas haciendo en qué momento que entiendo que es lo que ocurre en qué 349 00:15:50,100 --> 00:15:55,259 momento de la animación crowds que en este caso es una animación que es un frame pero podría ser 350 00:15:55,259 --> 00:16:03,639 que pues la mitad de una animación aparece la otra eso es lo que me parecía como un poco aleatorio 351 00:16:03,639 --> 00:16:09,179 no es decir se está ejecutando la animación de caminar por ejemplo o del aire el perdón si de 352 00:16:09,179 --> 00:16:14,679 caminar a correr que son dos animaciones diferentes no es sólo bueno el aire también no es sólo una 353 00:16:14,679 --> 00:16:22,360 posición sino que no es sólo un frame sino que son varios frames y entonces la transición perdón la 354 00:16:22,360 --> 00:16:24,519 transición, no, la animación a la que va a pasar 355 00:16:24,519 --> 00:16:26,659 si yo la coloco 356 00:16:26,659 --> 00:16:28,659 más a la izquierda o más a la derecha 357 00:16:28,659 --> 00:16:30,440 entiendo que interrumpe 358 00:16:30,440 --> 00:16:32,179 en el momento en que yo le estoy diciendo 359 00:16:32,179 --> 00:16:33,919 la animación en la que está en ese momento 360 00:16:33,919 --> 00:16:35,259 ¿me explico? 361 00:16:35,259 --> 00:16:37,240 sí, a ver si me entiendo 362 00:16:37,240 --> 00:16:39,139 si no me dices, básicamente 363 00:16:39,139 --> 00:16:41,200 el crouch, yo mientras estoy agachado 364 00:16:41,200 --> 00:16:43,460 y esto se ve, si nos metemos en el animator 365 00:16:43,460 --> 00:16:45,019 si tenemos seleccionado 366 00:16:45,019 --> 00:16:47,039 esto es importante, entiendo que se ve 367 00:16:47,039 --> 00:16:49,200 pero si estás seleccionando el objeto se va viendo 368 00:16:49,200 --> 00:16:50,200 la ejecución, ¿no? 369 00:16:50,200 --> 00:16:54,840 Yo básicamente, aquí, bueno, como no me estoy moviendo, no está parada, ¿vale? 370 00:16:54,840 --> 00:16:56,220 Mientras me mueva se reproduce 371 00:16:56,220 --> 00:17:01,799 Cuando yo suelte, bueno, aparte de que está el robot walk, no está establecido del todo bien, parece ser 372 00:17:01,799 --> 00:17:05,220 Ah, bueno, sí, claro, como me estoy moviendo coge un segundo ahí de... 373 00:17:05,220 --> 00:17:13,220 Sí, cuando dices que es un poco aleatorio, realmente, claro, hay que entender que entre... 374 00:17:13,220 --> 00:17:17,859 Cuando son sprites, que no va a ser lo mismo que suceda cuando hay interpolaciones en el 3D, ¿vale? 375 00:17:17,859 --> 00:17:24,059 Que eso sí que es en base a los rigs y a clips de animación que va interpolando un avatar y huesos, ¿vale? 376 00:17:24,339 --> 00:17:28,920 Eso va después. Aquí, básicamente, las acciones se detienen unas a otras. 377 00:17:29,059 --> 00:17:31,859 Es decir, cuando haces un giro de izquierda a derecha, no hay... 378 00:17:32,900 --> 00:17:35,900 Y si no, ahora vemos cómo sería, ¿no? 379 00:17:35,900 --> 00:17:40,420 Pero no hay todo el proceso del giro. Son cortantes, digamos, los pasos de una a otra. 380 00:17:40,880 --> 00:17:45,779 Tú, eso no quita que siempre pongas entre una animación y otra, animaciones en medio. 381 00:17:45,779 --> 00:18:06,259 Es decir, una animación que claramente sea como el momento entre que está agachado y se levanta y se hace ese recorrido. Si tú haces un clip de animación, aunque sea cortísimo, de cómo se levanta, tú lo puedes poner aquí en medio y que sin condiciones se ejecute y ya pase al otro. 382 00:18:06,259 --> 00:18:29,440 No sé si me estoy explicando. Pero claro, tú tienes que contar que nunca va a estar 100% cerrado, a menos que hagas esos pasos súper concretos, que entonces vas a ir haciendo muchos fragmentitos de animación, ¿vale? Nunca vas a ver en qué momento de que estoy caminando y me levanto va a ser exactamente, ¿vale? Si no tienes el Hashtag Exit Time, porque si tienes el Hashtag Exit Time sí que fuerzas a que se desarrolle todo. 383 00:18:29,440 --> 00:18:48,680 Pero aquí, claro, se tiene que jugar con que la interacción lo que tiene es eso, que va asociada a cada acción y se pasa de una a otra de una forma un poco importante, porque al final no hay interpolación como tal, lo que hay es un tiempo entre que se vea un sprite o se vea otro, según la animación que se esté ejecutando, ¿vale? 384 00:18:48,680 --> 00:19:07,740 Si tú quieres que entre un paso y otro haya animaciones concretas, puedes meter más. Es decir, no siempre tienes que meter condiciones para que pasen todas las transiciones. Y de hecho te diré más, cuando los juegos se hacen los saltos, es muy frecuente, aquí solo hay un salto y se queda ahí y cuando se pasa ya pasa el otro. 385 00:19:07,740 --> 00:19:27,880 Pero es muy frecuente que cuando das al salto hay una animación de cómo coge impulso mientras está en el aire, el tiempo que está en el aire, hay un bucle del personaje moviendo los brazos, que es otro clip de animación, y cuando aterriza y detecta el suelo hay uno de amortiguación contra el suelo. 386 00:19:27,880 --> 00:19:57,000 Y son tres animaciones distintas que, digamos, la lógica siempre va a ir uno detrás de la otra, esas tres, ¿vale? Pero se van desencadenando según se ponga. Entonces, ahí sí que entiendo que es lo que me quieres decir, ¿eh? Ahí sí que te estás asegurando que cuando des el salto siempre de un impulso, luego hagas el braceo y según cuánto tarde, porque puede tardar más tiempo o menos en volver a posarse en el suelo, esa animación se queda desarrollándose en bucle y de pronto cuando se posa da la otra. 387 00:19:57,000 --> 00:20:01,980 Entonces, es ir fragmentando un poco la animación según los eventos que vayan sucediendo, vaya. 388 00:20:02,220 --> 00:20:16,160 Sí. A ver, sí, porque además que yo lo he hecho también con, por ejemplo, si tiene velocidad negativa en Y, evidentemente pues está cayendo y la animación es otra o lo que sea. 389 00:20:16,160 --> 00:20:45,859 En este caso es más bien en el inspector que tienes las dos animaciones, el crouch y el idle. Digamos que la animación de idle está puesta al final y justo se solapa el tiempo necesario con crouch para hacer la transición, pero tú puedes mover en el inspector esa animación robot idle hacia la izquierda y ahí es a lo que voy. 390 00:20:46,160 --> 00:20:58,759 No sé si esa, digamos, es lo que importa o simplemente, porque ahí, claro, le estás, o sea, entiendo que eso es la longitud de la animación. 391 00:20:58,759 --> 00:21:00,839 Mira, vamos a hacer una prueba muy rápida 392 00:21:00,839 --> 00:21:02,680 ¿Vale? Si yo lo dejo como estaba 393 00:21:02,680 --> 00:21:04,960 Y digo, en cuanto salga de Robot Crouch 394 00:21:04,960 --> 00:21:06,799 Crouch, no sé muy bien 395 00:21:06,799 --> 00:21:08,680 Cómo se dice, y pase a Robot Idle 396 00:21:08,680 --> 00:21:11,039 ¿Vale? Lo que quiero es que arranque la siguiente 397 00:21:11,039 --> 00:21:12,960 Desde el principio de ese click de animación 398 00:21:12,960 --> 00:21:15,019 De Idle, ¿vale? Y por tanto, fíjate 399 00:21:15,019 --> 00:21:16,700 ¿Vale? Yo me agacho, estoy aquí 400 00:21:16,700 --> 00:21:18,579 Y en cuanto suelto y paso a la siguiente 401 00:21:18,579 --> 00:21:19,759 Empieza desde el principio 402 00:21:19,759 --> 00:21:21,900 Si yo hago esto 403 00:21:21,900 --> 00:21:24,700 Y esto te puede interesar, por ejemplo 404 00:21:24,700 --> 00:21:26,500 Porque tengas una animación 405 00:21:26,500 --> 00:21:28,700 En la que sea precisamente el posado 406 00:21:28,700 --> 00:21:30,940 al caer de un salto el posado del personaje 407 00:21:30,940 --> 00:21:32,940 y que se levanta un poquito 408 00:21:32,940 --> 00:21:33,819 y ya se queda en el idle 409 00:21:33,819 --> 00:21:36,740 si tú tienes esa animación, a lo mejor lo que te interesa es 410 00:21:36,740 --> 00:21:38,079 tenerlo en un clip de animación 411 00:21:38,079 --> 00:21:39,519 y según de la que venga 412 00:21:39,519 --> 00:21:42,339 esa animación pues empiece desde aquí 413 00:21:42,339 --> 00:21:44,700 que es cuando, pues yo que sé, no te interesa 414 00:21:44,700 --> 00:21:46,940 que en ese momento se vea eso de que se está levantando 415 00:21:46,940 --> 00:21:48,700 tú si lo pones aquí 416 00:21:48,700 --> 00:21:50,420 lo esfuerzo, lo pongo como a la mitad 417 00:21:50,420 --> 00:21:52,480 tú fíjate que cuando yo 418 00:21:52,480 --> 00:21:54,039 estoy en el crouch 419 00:21:54,039 --> 00:21:56,680 sea cuando sea, yo al pasar a la siguiente 420 00:21:56,680 --> 00:21:58,980 vas a ver que ahora no empieza a reproducirse 421 00:21:58,980 --> 00:22:00,700 desde el principio, sino 422 00:22:00,700 --> 00:22:02,359 desde aquí, ¿vale? Es decir, omite 423 00:22:02,359 --> 00:22:04,660 toda esa clip de animación en esa parte 424 00:22:04,660 --> 00:22:06,480 fíjate, a ver 425 00:22:06,480 --> 00:22:08,640 espera que se ha quedado pillado, ahí, ¿ves? 426 00:22:08,920 --> 00:22:10,400 me lo ha hecho y... 427 00:22:10,400 --> 00:22:12,599 bueno, ahora no lo ha hecho pero 428 00:22:12,599 --> 00:22:14,819 era como muy aleatorio 429 00:22:14,819 --> 00:22:16,200 pero efectivamente, si tienes 430 00:22:16,200 --> 00:22:19,019 una animación más larga y te interesa 431 00:22:19,019 --> 00:22:20,619 que entre a partir 432 00:22:20,619 --> 00:22:22,759 de un punto o que corte la animación 433 00:22:22,759 --> 00:22:24,700 anterior hasta un 434 00:22:24,700 --> 00:22:26,720 límite, pues esa forma es mucho más 435 00:22:26,720 --> 00:22:28,619 práctica, no tienes que andar con un montón de 436 00:22:28,619 --> 00:22:29,740 animaciones distintas 437 00:22:29,740 --> 00:22:32,319 está muy bien 438 00:22:32,319 --> 00:22:34,779 y hay otra cosa con la que 439 00:22:34,779 --> 00:22:36,579 tuve que jugar bastante, es 440 00:22:36,579 --> 00:22:38,440 justamente el tiempo de transición 441 00:22:38,440 --> 00:22:40,599 porque lo que ocurría era 442 00:22:40,599 --> 00:22:42,119 que se desplazaba el personaje 443 00:22:42,119 --> 00:22:44,700 evidentemente con el input 444 00:22:44,700 --> 00:22:46,599 se empezaba a desplazar antes de que 445 00:22:46,599 --> 00:22:48,599 empezase la animación, entonces la 446 00:22:48,599 --> 00:22:50,759 transición tenía que ser muy corta 447 00:22:50,759 --> 00:22:52,660 para que fuese lo 448 00:22:52,660 --> 00:22:54,500 más sincronizado, por lo menos visualmente 449 00:22:54,500 --> 00:22:56,880 posible, es decir, si yo lo doy 450 00:22:56,880 --> 00:22:58,880 hacia la derecha, que no se desvice 451 00:22:58,880 --> 00:23:00,779 el personaje sin que esté corriendo la animación 452 00:23:00,779 --> 00:23:03,119 Claro, eso, una cosa importante 453 00:23:03,119 --> 00:23:06,480 que habría que ver cómo lo estás haciendo 454 00:23:06,480 --> 00:23:08,700 lo que es la animación del personaje 455 00:23:08,700 --> 00:23:10,480 el que se mueve a izquierda o a derecha 456 00:23:10,480 --> 00:23:12,740 lo estás haciendo por físicas, entiendo 457 00:23:12,740 --> 00:23:14,980 que era lo que se pedía 458 00:23:14,980 --> 00:23:17,019 es que se puede hacer ya de 459 00:23:17,019 --> 00:23:18,819 tener en cuenta, lo digo 460 00:23:18,819 --> 00:23:20,720 para que es una de las cosas importantes 461 00:23:20,720 --> 00:23:22,640 que si estás haciendo 462 00:23:22,640 --> 00:23:24,339 un cambio de posición con Fixed Update 463 00:23:24,339 --> 00:23:27,079 y en los cambios de animaciones 464 00:23:27,079 --> 00:23:29,220 en ocasiones se hace 465 00:23:29,220 --> 00:23:31,140 con update, claro, puede haber un pequeño 466 00:23:31,140 --> 00:23:32,559 desfase entre una cosa y la otra 467 00:23:32,559 --> 00:23:34,160 recordemos que esto va 468 00:23:34,160 --> 00:23:37,039 a toda velocidad porque en cuanto hay un fotograma 469 00:23:37,039 --> 00:23:39,200 lo detecta, pero esto va a saltos fijos 470 00:23:39,200 --> 00:23:41,019 entonces hay que ir un poco 471 00:23:41,019 --> 00:23:42,119 previendo eso 472 00:23:42,119 --> 00:23:46,880 pero sí, claro, si hay una animación 473 00:23:46,880 --> 00:23:49,000 que la animación digamos de caminado 474 00:23:49,000 --> 00:23:50,740 empieza con el personaje parado 475 00:23:50,740 --> 00:23:53,059 y luego se empieza a mover, pues tendrás que 476 00:23:53,059 --> 00:23:55,160 recortar, pero ojo, que tú siempre 477 00:23:55,160 --> 00:23:57,039 es decir, muchas veces te vienen hojas 478 00:23:57,039 --> 00:23:58,700 de script con un ciclo de caminado 479 00:23:58,700 --> 00:24:01,019 bueno, no, un ciclo de caminado no es el ejemplo 480 00:24:01,019 --> 00:24:03,019 que me interesa, con un arranque 481 00:24:03,019 --> 00:24:04,859 de ponerse a caminar y tú 482 00:24:04,859 --> 00:24:06,579 puedes ir y decir, oye, aunque vaya 483 00:24:06,579 --> 00:24:08,740 el diseñador o yo mismo en su momento 484 00:24:08,740 --> 00:24:11,039 pusiera que empieza a caminar 485 00:24:11,039 --> 00:24:13,039 y luego tarda, tú puedes 486 00:24:13,039 --> 00:24:15,079 hacer aquí lo que hemos dicho antes 487 00:24:15,079 --> 00:24:16,880 coger esos fotogramas y 488 00:24:16,880 --> 00:24:18,920 ventilártelos, ¿vale? 489 00:24:19,079 --> 00:24:21,079 que nada te obliga, incluso puedes 490 00:24:21,079 --> 00:24:22,859 hacer otra animación, ¿vale? puedes decir 491 00:24:22,859 --> 00:24:24,880 bueno, espera, puedes decir 492 00:24:24,880 --> 00:24:27,400 crear otro nuevo clip 493 00:24:27,400 --> 00:24:29,279 y poner, haces otro 494 00:24:29,279 --> 00:24:31,220 clip de animación y ahí arrastras, en vez de 495 00:24:31,220 --> 00:24:33,460 robot world con todo, ya andando 496 00:24:33,460 --> 00:24:34,980 y esa animación 497 00:24:34,980 --> 00:24:37,140 cuando la metas, ya cuando te interese la uses 498 00:24:37,140 --> 00:24:38,980 es decir, que no hay que ceñirse 499 00:24:38,980 --> 00:24:41,099 ni mucho menos a toda 500 00:24:41,099 --> 00:24:43,039 una hoja de spray, incluso puede estar mal 501 00:24:43,039 --> 00:24:44,319 sabes, entonces 502 00:24:44,319 --> 00:24:46,759 esto es según lo que te interese, tú lo que tienes que 503 00:24:46,759 --> 00:24:48,740 lo que hay que entender es que aquí son 504 00:24:48,740 --> 00:24:51,180 fragmentos de animación y tú la vas 505 00:24:51,180 --> 00:24:52,660 desencadenando según te interese 506 00:24:52,660 --> 00:25:00,940 vale y aunque entre de hecho si tiene más vínculo pero aquí es son sólo dibujos animados uno tras 507 00:25:00,940 --> 00:25:05,559 otro es decir no va a haber ni menos que haya dibujado ese desplazamiento y lo estés viendo 508 00:25:05,559 --> 00:25:10,900 el movimiento es en este caso completamente independiente de que se muevan si el game 509 00:25:10,900 --> 00:25:16,660 object vale entonces es saber coordinar eso y tú pues lo dicho tú te puede meter aquí en el 510 00:25:16,660 --> 00:25:22,160 clip de animación vale y también aparte de darle el loop luego otra opción si ves que da un salto 511 00:25:22,160 --> 00:25:26,539 prueba también ha estado el look post que básicamente que fusiona el último y el primer 512 00:25:26,539 --> 00:25:31,940 fotograma de esa animación por si fuera el mismo vale pero bueno directamente también lo puede 513 00:25:31,940 --> 00:25:36,799 borrar y el cycle offset que es que empiece más o menos tarde respecto a lo que hay dentro de 514 00:25:36,799 --> 00:25:41,299 animación un poco como lo que hemos hecho antes arrastrando pero si tú desde luego en una animación 515 00:25:41,299 --> 00:25:46,519 no te interesa que los primeros 10 fotogramas estén hace un clic de animación sin esos 10 516 00:25:46,519 --> 00:25:52,039 fotogramas sabes y puedes tener varias animaciones ya la que vayas activando es la que te interesa 517 00:25:52,039 --> 00:25:57,000 entonces claro si a veces hay animaciones que te viene con morraya o que no te interesa pues 518 00:25:57,000 --> 00:26:05,920 es limpiarlo es limpiarlo a tu a tu necesidad sí y ahora que habías dicho lo del update versus 519 00:26:05,920 --> 00:26:15,099 el fixed update una cosa que me pasaba era que iba a saltos justamente por eso cuando estaba 520 00:26:15,099 --> 00:26:25,059 subido la plataforma por ejemplo la animación no va perfectamente sincronizado porque pues 521 00:26:25,059 --> 00:26:34,380 tiene un digamos justamente una actualización fija y pero eso al final lo resolví poniendo 522 00:26:34,380 --> 00:26:39,559 interpolación en tanto en la plataforma como en el te refieres a esto 523 00:26:41,200 --> 00:26:54,440 sí a ver mira claro hay que pensar que en el tema los temas se intenta que esté como muy dividido no 524 00:26:54,440 --> 00:26:58,980 pero hay que pensar que hay como dos mundos con los que mover los personajes no la kinemática 525 00:26:58,980 --> 00:27:04,380 que es desplazarlos mediante su transformado mediante coordenadas y mediante el motor de 526 00:27:04,380 --> 00:27:13,380 físicas y es verdad que aunque se suelen combinar en un mismo juego sí que son un poco incompatibles 527 00:27:13,380 --> 00:27:20,000 vale no no son incompatibles pero generan problemas que ocurre que si tú tienes un 528 00:27:20,000 --> 00:27:27,059 animator vale con básicamente es mover en base a clip de animaciones por lo tanto suele ser 529 00:27:27,059 --> 00:27:32,759 kinemático no también se puede meter otros tipos de parámetros pero bueno suelen ser movimientos 530 00:27:32,759 --> 00:27:39,880 cinemáticos de posición etcétera tú aquí en el modo de digamos que se va refrescando se va 531 00:27:39,880 --> 00:27:45,079 calculando esos fotogramas tú puedes decir que se mueva en base al motor físico es decir que 532 00:27:45,079 --> 00:27:51,299 pase un poco de lo que es el ciclo de update y usen el fix update vale para esa opción tienes 533 00:27:51,299 --> 00:27:55,680 que poner que sea animate physics pero ahí es importante saber si el personaje se mueve por 534 00:27:55,680 --> 00:27:57,940 físicas o no, porque si se mueve por físicas 535 00:27:57,940 --> 00:27:59,579 esto es la plataforma, ¿vale? 536 00:27:59,640 --> 00:28:00,740 es una de las que se mueven aquí 537 00:28:00,740 --> 00:28:03,660 si se mueve por físicas, te interesa que 538 00:28:03,660 --> 00:28:05,819 esté coordinado, porque a ti al final la plataforma 539 00:28:05,819 --> 00:28:07,680 mientras se mueva de derecha a izquierda 540 00:28:07,680 --> 00:28:10,079 te da igual que se calcule cada 0,01 541 00:28:10,079 --> 00:28:11,880 segundos o 0,22 542 00:28:11,880 --> 00:28:13,480 se va 543 00:28:13,480 --> 00:28:15,220 a ir bien, se va a ver bien 544 00:28:15,220 --> 00:28:16,839 pero claro, la coordinación 545 00:28:16,839 --> 00:28:19,579 lo que me estás comentando entre el personaje 546 00:28:19,579 --> 00:28:21,460 y la 547 00:28:21,460 --> 00:28:23,619 plataforma, cuando entran 548 00:28:23,619 --> 00:28:29,359 en contacto ahí sí puede haber discrepancias entonces esto es importante y luego hay otra 549 00:28:29,359 --> 00:28:36,799 cosa también que es un método que hay de hecho a ver creo que lo tenían de los scripts vale hay 550 00:28:36,799 --> 00:28:45,940 un método en plataforma aquí vale que es si estás moviendo al personaje con con rigid body vale con 551 00:28:45,940 --> 00:28:51,319 el velocity o le estás aplicando fuerzas e incluso dentro del rigid body vale de lo que es el motor 552 00:28:51,319 --> 00:28:53,119 de físicas, ¿no? Rigidbody y motor de físicas 553 00:28:53,119 --> 00:28:55,119 hay métodos 554 00:28:55,119 --> 00:28:57,420 que hacen lo mismo que un movimiento 555 00:28:57,420 --> 00:28:59,339 kinemático, pero usando el 556 00:28:59,339 --> 00:29:01,039 motor de físicas, ¿vale? Por ejemplo 557 00:29:01,039 --> 00:29:03,180 este Move Position, entonces 558 00:29:03,180 --> 00:29:04,619 no siempre hay que hacer un Transform 559 00:29:04,619 --> 00:29:06,880 un Translate o cosas así 560 00:29:06,880 --> 00:29:09,460 para mover al personaje, si tú quieres moverlo 561 00:29:09,460 --> 00:29:11,220 en base a la lógica de 562 00:29:11,220 --> 00:29:16,839 Move Position, la lógica 563 00:29:16,839 --> 00:29:18,519 de, bueno, pues de un movimiento kinemático 564 00:29:18,519 --> 00:29:20,500 pero como el personaje va a tener su 565 00:29:20,500 --> 00:29:22,460 gravedad, va a tener sus reacciones de 566 00:29:22,460 --> 00:29:27,440 colisionadores y básicamente va a estar en el mundo físico ahí es donde hay que recurrir a 567 00:29:27,440 --> 00:29:35,019 este tipo de métodos vale que al final es es lo mismo que el translate pero lo está ahí por eso 568 00:29:35,019 --> 00:29:42,180 estaba dentro de fixate y además pero pero está usando la lógica del motor vale para que todo 569 00:29:42,180 --> 00:29:53,200 hable digamos el mismo idioma mal yo yo lo que te decía que también en él era la interpolación pero 570 00:29:53,200 --> 00:29:55,099 de lo que es 571 00:29:55,099 --> 00:29:55,799 el 572 00:29:55,799 --> 00:29:59,279 en el Rigid Body 573 00:29:59,279 --> 00:30:02,460 para que actualizase 574 00:30:02,460 --> 00:30:04,099 para que fuese más 575 00:30:04,099 --> 00:30:05,779 refrescado, porque si no 576 00:30:05,779 --> 00:30:07,960 esto también me había pasado 577 00:30:07,960 --> 00:30:09,000 en otros proyectos 578 00:30:09,000 --> 00:30:12,519 vale, en principio no debería 579 00:30:12,519 --> 00:30:14,799 tocarse 580 00:30:14,799 --> 00:30:16,640 pero sí que es verdad que tú puedes 581 00:30:16,640 --> 00:30:18,799 digamos, adelantarte 582 00:30:18,799 --> 00:30:22,940 te puedes adelantar, digamos, a la física 583 00:30:22,940 --> 00:30:24,259 digamos brevemente 584 00:30:24,259 --> 00:30:26,519 entonces sí, es otra solución 585 00:30:26,519 --> 00:30:28,819 en principio si van con el mismo lenguaje 586 00:30:28,819 --> 00:30:30,839 no debería haber ese problema, lo que te estaba diciendo 587 00:30:30,839 --> 00:30:32,960 pero bueno, estas opciones también están 588 00:30:32,960 --> 00:30:34,880 para eso, ¿vale? Básicamente lo que hace 589 00:30:34,880 --> 00:30:36,220 es adelantar o retrasar un poco 590 00:30:36,220 --> 00:30:38,420 la interpolación física 591 00:30:38,420 --> 00:30:40,799 Sí, a ver, tampoco 592 00:30:40,799 --> 00:30:42,759 era una cosa demasiado 593 00:30:42,759 --> 00:30:45,059 grave, si es 594 00:30:45,059 --> 00:30:46,480 grave, evidentemente 595 00:30:46,480 --> 00:30:48,519 hay que buscar otra solución 596 00:30:48,519 --> 00:30:51,000 era simplemente que no era tan fluido 597 00:30:51,000 --> 00:30:53,940 y sobre todo que se notaba la diferencia 598 00:30:53,940 --> 00:30:55,920 de cuando estaba 599 00:30:55,920 --> 00:30:58,059 en el suelo 600 00:30:58,059 --> 00:30:59,900 y se subía a una plataforma móvil 601 00:30:59,900 --> 00:31:01,759 ahí es donde se notaba la diferencia 602 00:31:01,759 --> 00:31:03,160 que perdía fluidez 603 00:31:03,160 --> 00:31:04,759 bueno 604 00:31:04,759 --> 00:31:07,980 claro, eso no sé cómo lo has resuelto 605 00:31:07,980 --> 00:31:08,720 yo por ejemplo 606 00:31:08,720 --> 00:31:11,339 te puedo enseñar un poco como he hecho yo 607 00:31:11,339 --> 00:31:13,559 hay dos tipos de plataformas aquí 608 00:31:13,559 --> 00:31:14,680 un poco para probar ambas 609 00:31:14,680 --> 00:31:17,799 una, estas primeras que son las que se mueven por kinemática 610 00:31:17,799 --> 00:31:20,019 que son clip de animación 611 00:31:20,019 --> 00:31:20,839 ahora lo vemos 612 00:31:20,839 --> 00:31:29,039 y estas de aquí que se mueven por código si quieres lo revisamos sí sobre todo la que va 613 00:31:29,039 --> 00:31:34,539 por animación porque la que va por código a mí me está buscando bien y luego tengo otro problema 614 00:31:34,539 --> 00:31:42,059 que es muy tonto y no lo estoy entendiendo por qué pero creo el prefab todo con ya con todo lo 615 00:31:42,059 --> 00:31:48,460 que necesita lo guardo como prefab y luego lo voy tirando en la imagen en la imagen en la escena 616 00:31:48,460 --> 00:31:48,819 perdón 617 00:31:48,819 --> 00:31:52,460 y no importa la posición 618 00:31:52,460 --> 00:31:54,539 que le ponga, si lo duplico 619 00:31:54,539 --> 00:31:56,480 o lo que sea, que siempre al darle 620 00:31:56,480 --> 00:31:58,359 play me los pone todos en el 621 00:31:58,359 --> 00:32:00,180 punto de origen que tiene el prefab 622 00:32:00,180 --> 00:32:02,559 y eso no me había ocurrido antes 623 00:32:02,559 --> 00:32:04,539 eso piensa que es muy normal 624 00:32:04,539 --> 00:32:06,660 porque al final tú estás haciendo 625 00:32:06,660 --> 00:32:08,519 un prefab 626 00:32:08,519 --> 00:32:10,259 ¿vale? y cuando tú tienes 627 00:32:10,259 --> 00:32:12,660 mira, vamos a ver este clip de animación 628 00:32:12,660 --> 00:32:16,309 que era, movimiento 629 00:32:16,309 --> 00:32:17,930 horizontal, plataforma, ¿vale? 630 00:32:18,430 --> 00:32:19,529 ¿y este cuál es? otro que hay, ¿vale? 631 00:32:19,529 --> 00:32:40,769 Si vamos a esta plataforma y la activo, si le doy al play, tenemos esta plataforma y esta plataforma básicamente es un prefab, a ver si me explico de una forma rápida y clara. 632 00:32:40,769 --> 00:32:49,390 Yo, igual que creo que has hecho tú, lo que quería era un prefab de una plataforma que pudiera duplicarla en muchos puntos y que hiciera el mismo movimiento relativo de izquierda a derecha. 633 00:32:49,529 --> 00:32:52,190 exacto, vale, aquí tengo el prefab 634 00:32:52,190 --> 00:32:54,410 voy primero a enseñarte el prefab y así vamos 635 00:32:54,410 --> 00:32:55,809 aparte, vale, este es el prefab 636 00:32:55,809 --> 00:32:58,150 si me meto aquí, yo ya lo he 637 00:32:58,150 --> 00:32:59,470 estructurado de una forma que 638 00:32:59,470 --> 00:33:02,130 siempre hay que contar que 639 00:33:02,130 --> 00:33:04,170 es muy conveniente normalmente 640 00:33:04,170 --> 00:33:06,289 tener entis objects como padres 641 00:33:06,289 --> 00:33:08,269 por lo que voy a hablar ahora 642 00:33:08,269 --> 00:33:10,410 y una de las razones, la vimos ya en la UT1 643 00:33:10,410 --> 00:33:12,210 que era el desplazamiento relativo que tiene 644 00:33:12,210 --> 00:33:14,509 un prefab con respecto a cuando se instancia 645 00:33:14,509 --> 00:33:16,109 vale, eso del 646 00:33:16,109 --> 00:33:18,210 movimiento relativo es lo que vamos a 647 00:33:18,210 --> 00:33:20,150 usar aquí a nuestro favor. Entonces, 648 00:33:20,650 --> 00:33:22,190 yo tengo aquí un nulo, no hay 649 00:33:22,190 --> 00:33:24,190 nada, ¿vale? Es un nulo, que lo llamo así, 650 00:33:24,410 --> 00:33:26,190 ¿vale? Pero lo importante, todo lo que está 651 00:33:26,190 --> 00:33:28,150 en la clip de animación y todo, está 652 00:33:28,150 --> 00:33:29,990 dentro de este 653 00:33:29,990 --> 00:33:31,950 hijo, ¿vale? De este GameObject hijo. 654 00:33:32,690 --> 00:33:34,170 Aquí hay un 655 00:33:34,170 --> 00:33:36,049 animator, que básicamente lo que 656 00:33:36,049 --> 00:33:38,109 tiene es, pues, esa clip de animación 657 00:33:38,109 --> 00:33:40,089 que se va a ir desarrollando 658 00:33:40,089 --> 00:33:42,190 perpetuamente, ¿vale? Que es este de aquí 659 00:33:42,190 --> 00:33:43,990 y que lo abro, ¿vale? Esto 660 00:33:43,990 --> 00:33:46,029 simplemente es, entiendo que 661 00:33:46,029 --> 00:33:48,069 es lo mismo que tú has hecho, un position, que en 662 00:33:48,069 --> 00:33:49,910 X va desde un punto 663 00:33:49,910 --> 00:33:52,029 y lo selecciono, 664 00:33:52,150 --> 00:33:54,150 le doy al play y hace un loop 665 00:33:54,150 --> 00:33:55,289 de izquierda a derecha. 666 00:33:56,009 --> 00:33:58,069 ¿No? ¿Vale? Tiene tres 667 00:33:58,069 --> 00:34:00,109 fotogramas, no más. ¿Qué ocurre? 668 00:34:00,269 --> 00:34:02,410 Que tú aquí estás dando unas coordenadas absolutas. 669 00:34:03,210 --> 00:34:04,170 Sí. Es decir, 670 00:34:04,250 --> 00:34:06,029 tú aquí estás diciendo, este objeto tiene que 671 00:34:06,029 --> 00:34:07,309 estar en el 0, 0, 0. 672 00:34:08,050 --> 00:34:10,010 Por tanto, por mucho que nos 673 00:34:10,010 --> 00:34:11,949 empeñemos, aunque 674 00:34:11,949 --> 00:34:13,929 nosotros, este 675 00:34:13,929 --> 00:34:15,530 GameObject, lo voy a copiar, 676 00:34:16,010 --> 00:34:17,949 me voy a mi jerarquía, yo lo pego ahí 677 00:34:17,949 --> 00:34:26,469 se ha copiado en el 0 0 0 vale si yo lo muevo lo voy a mover y lo pongo aquí vale y está en el 46 678 00:34:26,469 --> 00:34:33,429 y en el 10 que ocurre que ese game object cuando se arranca el juego dice yo es que mi animación 679 00:34:33,429 --> 00:34:39,489 va del 0 a 10 vale pues él va a ir al 0 que es lo que le está diciendo vale aunque lo haya movido 680 00:34:39,489 --> 00:34:47,730 ahí fíjate vale que es lo que hay que hacer jugar a nuestro favor y aquí dentro del hijo tiene ese 681 00:34:47,730 --> 00:34:49,829 movimiento izquierda-derecha, ¿vale? Desde un punto. 682 00:34:50,369 --> 00:34:51,429 Pero eso no quita que luego 683 00:34:51,429 --> 00:34:53,670 el padre, que no tiene la animación, sino 684 00:34:53,670 --> 00:34:55,630 que está moviendo al hijo que hay 685 00:34:55,630 --> 00:34:57,530 dentro, tú lo puedas mover y colocarlo 686 00:34:57,530 --> 00:34:59,170 donde te apetezca. Es decir, 687 00:34:59,349 --> 00:35:01,130 el movimiento relativo 688 00:35:01,130 --> 00:35:03,690 es el que da el padre, y fíjate que es el que cambia. 689 00:35:04,090 --> 00:35:05,590 61-9, 37, 690 00:35:05,929 --> 00:35:06,769 ¿vale? El de dentro, 691 00:35:07,610 --> 00:35:09,610 es que aunque lo cambiemos, lo que acabo de decir, va a 692 00:35:09,610 --> 00:35:11,570 empezar en el 0-0-0 y va a ir 693 00:35:11,570 --> 00:35:13,329 a lo que haya puesto aquí. 694 00:35:13,489 --> 00:35:15,469 Bueno, no sé qué he puesto. Bueno, empieza del 20 695 00:35:15,469 --> 00:35:17,510 al 10, al 0. Bueno, son 696 00:35:17,510 --> 00:35:19,110 coordenadas absolutas, ahí 697 00:35:19,110 --> 00:35:21,489 da igual lo que le digas, él dice yo tengo que ir al 698 00:35:21,489 --> 00:35:23,150 0, 0, 0 y voy al 0, 0 699 00:35:23,150 --> 00:35:25,730 es con este con el que le das el desfase de movimiento 700 00:35:25,730 --> 00:35:27,369 y luego arrastras donde quieras 701 00:35:27,369 --> 00:35:29,409 ¿vale? entonces el prefab dale un padre 702 00:35:29,409 --> 00:35:31,409 y de hecho yo te diría, normalmente 703 00:35:31,409 --> 00:35:33,050 es bueno que los prefabs tengan un padre 704 00:35:33,050 --> 00:35:35,389 precisamente por esto, ¿vale? porque 705 00:35:35,389 --> 00:35:37,389 toda la lógica del prefab está 706 00:35:37,389 --> 00:35:39,690 dentro de esa estructura 707 00:35:39,690 --> 00:35:41,429 y siempre hay algo de orden superior que 708 00:35:41,429 --> 00:35:42,789 solo sirve para recolocarlo 709 00:35:42,789 --> 00:35:45,530 sí, sí, sí, tal cual 710 00:35:45,530 --> 00:35:47,269 pues nada 711 00:35:47,269 --> 00:35:48,050 gracias porque 712 00:35:48,050 --> 00:35:50,570 porque no lo estaba pillando 713 00:35:50,570 --> 00:35:53,349 no, es una cosa muy tonta 714 00:35:53,349 --> 00:35:55,010 pero es que es la clave, además que 715 00:35:55,010 --> 00:35:56,309 esa práctica 716 00:35:56,309 --> 00:35:58,309 sí que la tenía bien clara 717 00:35:58,309 --> 00:36:00,389 en todos los ejercicios he estado 718 00:36:00,389 --> 00:36:02,630 procurando siempre eso 719 00:36:02,630 --> 00:36:05,269 pero seguramente ese es el problema 720 00:36:05,269 --> 00:36:07,010 que estoy teniendo también con el 721 00:36:07,010 --> 00:36:09,230 con el tema del 722 00:36:09,230 --> 00:36:11,409 personaje que se desliza sobre la plataforma 723 00:36:11,409 --> 00:36:13,309 no, ahí seguramente 724 00:36:13,309 --> 00:36:14,710 es decir, creo que es otra cosa 725 00:36:14,710 --> 00:36:16,269 bueno, esto que es normal 726 00:36:16,269 --> 00:36:19,289 claro, tú dices, yo estoy moviendo la plataforma 727 00:36:19,289 --> 00:36:21,289 se mueve de izquierda a derecha, pues si la muevo 728 00:36:21,289 --> 00:36:23,190 aquí, pues por qué no, claro, tú ten en cuenta eso 729 00:36:23,190 --> 00:36:25,510 que son coordenadas absolutas, lo que está leyendo 730 00:36:25,510 --> 00:36:26,090 ¿vale? 731 00:36:26,889 --> 00:36:28,789 esto es normal, digo que es parte del proceso 732 00:36:28,789 --> 00:36:31,269 lo que le pasará al personaje, es verdad que 733 00:36:31,269 --> 00:36:33,110 sin verlo, no sé qué método 734 00:36:33,110 --> 00:36:34,070 estás usando, si el 735 00:36:34,070 --> 00:36:37,110 que se sugiere, digamos 736 00:36:37,110 --> 00:36:37,889 en el 737 00:36:37,889 --> 00:36:41,030 en el enunciado, que es que 738 00:36:41,030 --> 00:36:41,809 cuando toca 739 00:36:41,809 --> 00:36:45,349 que cuando toca 740 00:36:45,349 --> 00:36:52,550 vale cuando entra en colisión el personaje vale con otra plataforma móvil vale que tenga esta 741 00:36:52,550 --> 00:37:02,989 etiqueta se hace se hace hijo hijo vale claro que ocurre que sí es hijo y lo que se está usando 742 00:37:02,989 --> 00:37:09,590 fíjate que es el transformó vuelvo a las cinemáticas vale si se está moviendo mediante físicas pues ya 743 00:37:09,590 --> 00:37:11,230 ahí hay problemas, ¿vale? 744 00:37:11,429 --> 00:37:13,570 Es decir, lo que está cogiendo en todo 745 00:37:13,570 --> 00:37:15,349 rato son las coordenadas. ¿Qué 746 00:37:15,349 --> 00:37:17,510 puede ser la clave para que luego trastees? 747 00:37:17,849 --> 00:37:19,510 Pues precisamente lo que te he dicho antes, que 748 00:37:19,510 --> 00:37:21,170 la animación que está arrastrando 749 00:37:21,170 --> 00:37:23,530 esa plataforma, aunque sea 750 00:37:23,530 --> 00:37:25,550 un clip de animación, joder, aquí, ¿vale? 751 00:37:26,630 --> 00:37:27,710 La animación 752 00:37:27,710 --> 00:37:29,650 sea en 753 00:37:29,650 --> 00:37:31,429 base al update y no mediante 754 00:37:31,429 --> 00:37:33,489 las físicas. Entonces, claro, 755 00:37:33,590 --> 00:37:34,909 aunque estén moviendo una cosa, 756 00:37:35,530 --> 00:37:37,710 se está moviendo a una velocidad que no es la misma del personaje. 757 00:37:37,710 --> 00:37:39,349 Igual eso puede ser, ¿vale? 758 00:37:39,349 --> 00:37:45,170 puede ser una de las razones luego hay cosas que son más avanzadas y esto ya es darle vueltas y 759 00:37:45,170 --> 00:37:50,570 ahí la idea os ayudaría más porque si no es muy enrevesado que es por ejemplo ahora me dice que 760 00:37:50,570 --> 00:37:56,809 creo que quiere decir algo pero que cuando bueno justo deja esta plataforma pero que cuando pones 761 00:37:56,809 --> 00:38:03,610 el efector este de la superficie para pasar de una otra claro hay un punto que hasta que no bueno que 762 00:38:03,610 --> 00:38:05,150 hasta que no se posa 763 00:38:05,150 --> 00:38:07,630 puede estar arrastrando al 764 00:38:07,630 --> 00:38:09,849 personaje, porque en cuanto entra en colisión 765 00:38:09,849 --> 00:38:11,690 y ahí está entrando en colisión 766 00:38:11,690 --> 00:38:13,190 pues ya lo arrastra, ¿vale? 767 00:38:13,530 --> 00:38:15,630 Entonces, ahí ya es donde 768 00:38:15,630 --> 00:38:17,369 hay que ir discriminando cosas como, bueno, 769 00:38:17,449 --> 00:38:19,730 igual que se hace para los dobles saltos, que se hace un 770 00:38:19,730 --> 00:38:21,530 pues eso, un raycast 771 00:38:21,530 --> 00:38:22,949 o un ground checker o algo así 772 00:38:22,949 --> 00:38:25,610 aquí, pues por ejemplo, esta 773 00:38:25,610 --> 00:38:27,030 línea que es 774 00:38:27,030 --> 00:38:29,289 aparte, digo, para que se haga padre 775 00:38:29,289 --> 00:38:31,110 y coja el movimiento del padre 776 00:38:31,110 --> 00:38:31,769 ¿vale? 777 00:38:31,769 --> 00:38:34,150 está con este método 778 00:38:34,150 --> 00:38:34,550 que dice 779 00:38:34,550 --> 00:38:37,349 lo que quiere decir es 780 00:38:37,349 --> 00:38:39,309 que esté debajo del personaje 781 00:38:39,309 --> 00:38:40,530 la plataforma 782 00:38:40,530 --> 00:38:44,030 ¿por qué? porque si no empieza a arrastrar al personaje 783 00:38:44,030 --> 00:38:46,170 y lo que queremos es que hasta que no se puse por arriba 784 00:38:46,170 --> 00:38:47,969 no arrastre nada, simplemente está pasando 785 00:38:47,969 --> 00:38:49,469 que es un movimiento un poco antinatural 786 00:38:49,469 --> 00:38:51,630 que por un lado sí pueda pasar 787 00:38:51,630 --> 00:38:53,489 y por otro no, que es lo que tiene ese efecto 788 00:38:53,489 --> 00:38:55,150 entonces 789 00:38:55,150 --> 00:38:57,010 mediante normales 790 00:38:57,010 --> 00:38:59,750 las normales básicamente para que detecte 791 00:38:59,750 --> 00:39:00,849 que algo está por encima 792 00:39:00,849 --> 00:39:03,030 tiene que estar acercándose 793 00:39:03,030 --> 00:39:04,630 a la unidad, ¿vale? Pues con eso 794 00:39:04,630 --> 00:39:05,789 puedes discriminar que esté 795 00:39:05,789 --> 00:39:08,969 recibiendo esa colisión desde un ángulo superior 796 00:39:08,969 --> 00:39:10,590 ¿vale? Entonces es lo que 797 00:39:10,590 --> 00:39:12,269 discrimina que esa condición pues 798 00:39:12,269 --> 00:39:14,409 de verdad lo haga padre, si no 799 00:39:14,409 --> 00:39:16,550 le hace padre en cuanto empieza a atravesar la 800 00:39:16,550 --> 00:39:18,590 plataforma. Sí. Claro, 801 00:39:18,710 --> 00:39:20,650 ahí ya hay muchas cosas y muchos detalles que hay 802 00:39:20,650 --> 00:39:22,409 que ir puliendo, ¿vale? Que eso es normal 803 00:39:22,409 --> 00:39:24,289 digo, no se puede ver todo 804 00:39:24,289 --> 00:39:26,889 pero bueno, que es ir buscando un poco la lógica 805 00:39:26,889 --> 00:39:28,650 de por qué ocurre y en tu caso yo creo 806 00:39:28,650 --> 00:39:30,690 que es eso, que son dos tiempos de ejecución que no 807 00:39:30,690 --> 00:39:40,969 están funcionando del todo parejos sí porque al principio lo resolví con el collider de los pies 808 00:39:40,969 --> 00:39:49,710 digamos diciendo que es que sólo cuando estuviese haciendo colisión con la plataforma el collider de 809 00:39:49,710 --> 00:39:58,829 los pies vale sí también y y bien pero bueno yo no sé si tú el robot lo tienes también metido 810 00:39:58,829 --> 00:40:00,170 dentro de un 811 00:40:00,170 --> 00:40:02,150 de un anti-object 812 00:40:02,150 --> 00:40:04,449 Sí, ahora te explico 813 00:40:04,449 --> 00:40:06,429 Dices la detección del suelo, ¿no? 814 00:40:07,489 --> 00:40:09,170 Bueno, o sea, en general 815 00:40:09,170 --> 00:40:10,329 es que, como te digo 816 00:40:10,329 --> 00:40:13,429 lo que me raya muchísimo es que 817 00:40:13,429 --> 00:40:15,130 es solo 818 00:40:15,130 --> 00:40:16,650 la plataforma que tiene una animación 819 00:40:16,650 --> 00:40:19,010 la que hace 820 00:40:19,010 --> 00:40:21,250 que se desplace 821 00:40:21,250 --> 00:40:23,230 en las otras que van 822 00:40:23,230 --> 00:40:25,130 por código, el personaje cae encima 823 00:40:25,130 --> 00:40:27,030 efectivamente el collider de los pies 824 00:40:27,030 --> 00:40:33,269 detecta la plataforma y se queda ahí clavado y si yo me muevo reproduce la animación se desplaza 825 00:40:33,269 --> 00:40:38,929 etcétera pero en el otro es que es en el momento que entra en contacto se queda ahí y cuando se va 826 00:40:38,929 --> 00:40:44,190 para la derecha del personaje resbala hacia la derecha y cuando se queda como en el sitio 827 00:40:45,389 --> 00:40:50,610 no no se cae en el sitio y al moverse hacia la derecha el personaje se desliza sobre la 828 00:40:50,610 --> 00:40:58,949 plataforma y se le suma se mueve más rápido de lo que debería y estando quieto y hay veces que 829 00:40:58,949 --> 00:41:06,070 incluso he probado que sea no tenga velocidad horizontal sino que caiga desde arriba con 830 00:41:06,070 --> 00:41:16,690 velocidad cero nada igual es como que no sé exactamente ahí claro siempre el código todo 831 00:41:16,690 --> 00:41:19,110 es pensar, pero puede ser 832 00:41:19,110 --> 00:41:20,750 que en algún momento 833 00:41:20,750 --> 00:41:22,590 estés sumando, es decir 834 00:41:22,590 --> 00:41:24,230 no solo lo estés haciendo hijo 835 00:41:24,230 --> 00:41:26,489 sino que le estés sumando 836 00:41:26,489 --> 00:41:28,710 una velocidad 837 00:41:28,710 --> 00:41:31,010 un transfer, otra coordenada 838 00:41:31,010 --> 00:41:31,469 o algo así 839 00:41:31,469 --> 00:41:34,670 tiene que ser, luego hay otro 840 00:41:34,670 --> 00:41:35,289 problema 841 00:41:35,289 --> 00:41:38,570 del RECAS 842 00:41:38,570 --> 00:41:40,789 es decir, de la detección de 843 00:41:40,789 --> 00:41:42,650 colisiones, que es asegúrate 844 00:41:42,650 --> 00:41:44,769 de que de verdad esa colisión la está detectando bien 845 00:41:44,769 --> 00:41:46,690 y no va a saltos o algo así, aunque si lo que está 846 00:41:46,690 --> 00:41:47,969 haciendo es añadir más movimiento 847 00:41:47,969 --> 00:41:50,730 no va a ser por ahí, lo digo porque 848 00:41:50,730 --> 00:41:52,210 si por ejemplo 849 00:41:52,210 --> 00:41:54,690 ¿cómo estás detectando tú el suelo? ¿cuál de los métodos 850 00:41:54,690 --> 00:41:55,889 estás usando? ¿cuál de las fórmulas? 851 00:41:57,349 --> 00:41:58,389 ¿de lo que tienes ahí? 852 00:41:59,090 --> 00:42:00,610 no, es decir, tú 853 00:42:00,610 --> 00:42:02,530 en el tema hay varias 854 00:42:02,530 --> 00:42:04,409 formas para que se pueda detectar 855 00:42:04,409 --> 00:42:06,570 que el personaje se ha posado en un suelo 856 00:42:06,570 --> 00:42:08,730 sí, no, yo igual que ahí 857 00:42:08,730 --> 00:42:09,929 o sea, con 858 00:42:09,929 --> 00:42:11,630 un tag 859 00:42:11,630 --> 00:42:13,769 comparando un tag 860 00:42:13,769 --> 00:42:26,090 Sí. Que bueno, en mi caso se llama como la plataforma, bueno, se llama diferente, pero pues eso, así como lo tienes tú. 861 00:42:26,090 --> 00:42:28,409 Vale, ten cuidado 862 00:42:28,409 --> 00:42:31,130 porque quizá tenga que ver 863 00:42:31,130 --> 00:42:33,329 claro, aquí ahora mismo 864 00:42:33,329 --> 00:42:35,369 tú estás viendo esto, pero en realidad 865 00:42:35,369 --> 00:42:37,110 también hay otro factor 866 00:42:37,110 --> 00:42:38,869 que es que para yo poder moverme 867 00:42:38,869 --> 00:42:40,170 a ver, en mover 868 00:42:40,170 --> 00:42:43,610 se tiene que cumplir 869 00:42:43,610 --> 00:42:44,929 se tienen que cumplir condiciones 870 00:42:44,929 --> 00:42:46,510 de que esté posado en un suelo 871 00:42:46,510 --> 00:42:49,550 es decir, aparte de que esté detectando que hay una colisión 872 00:42:49,550 --> 00:42:51,090 también 873 00:42:51,090 --> 00:42:53,349 hay otra condición por ahí 874 00:42:53,349 --> 00:42:54,269 que es la de 875 00:42:54,269 --> 00:42:57,809 is grounded 876 00:42:57,809 --> 00:42:59,789 ¿vale? que esta es la que impide 877 00:42:59,789 --> 00:43:01,690 los dobles saltos, que entiendo que algo habrás 878 00:43:01,690 --> 00:43:02,650 hecho en ese sentido ¿verdad? 879 00:43:02,730 --> 00:43:04,469 Sí, sí, sí, y de hecho 880 00:43:04,469 --> 00:43:07,750 el suelo y las plataformas tienen 881 00:43:07,750 --> 00:43:09,449 un layer 882 00:43:09,449 --> 00:43:11,769 ground que también lo utilizo 883 00:43:11,769 --> 00:43:12,170 vale 884 00:43:12,170 --> 00:43:15,230 o sea, ya te digo 885 00:43:15,230 --> 00:43:17,570 es que el suelo de las plataformas estáticas 886 00:43:17,570 --> 00:43:19,769 y la plataforma que se mueve por código 887 00:43:19,769 --> 00:43:21,030 funciona perfectamente 888 00:43:21,030 --> 00:43:22,849 es en esta otra 889 00:43:22,849 --> 00:43:41,349 Me da la sensación como que el offset que recibe con respecto al transform local de la plataforma, es lo que, o sea, por decirte, si cayese en el cero exacto, a lo mejor el muñeco no se movía. ¿Me explico? 890 00:43:41,349 --> 00:44:03,050 Sí, prueba a mirar otra cosa, ¿vale? Que puede ser que también, digamos, la plataforma la hayas hecho más grande o más pequeña después. ¿Y qué ocurre? Que como es más grande o más pequeña, realmente el movimiento también se, digamos, se distorsiona un poco, porque está haciendo un cambio de escala y de movimiento. 891 00:44:03,050 --> 00:44:05,409 a ver si va a ir por ahí y está cogiendo un transform 892 00:44:05,409 --> 00:44:07,389 de algo que es más pequeño y por eso da 893 00:44:07,389 --> 00:44:09,570 como esas variaciones 894 00:44:09,570 --> 00:44:10,809 no lo sé 895 00:44:10,809 --> 00:44:13,489 y si no mira en el código que no estés 896 00:44:13,489 --> 00:44:15,449 añadiendo, es decir, que no 897 00:44:15,449 --> 00:44:16,889 sea solo que le conviertes hijo 898 00:44:16,889 --> 00:44:17,989 ¿vale? 899 00:44:19,110 --> 00:44:21,349 mira esa plataforma en la que te pase eso, a ver si hay 900 00:44:21,349 --> 00:44:23,090 algo cambiado raro de la escala 901 00:44:23,090 --> 00:44:25,190 que puede ir por ahí, pero 902 00:44:25,190 --> 00:44:27,070 eso 903 00:44:27,070 --> 00:44:28,670 en el código comprueba 904 00:44:28,670 --> 00:44:31,289 que no haya algún momento en el que 905 00:44:31,289 --> 00:44:33,210 No solo no se... Es decir, se puede hacer 906 00:44:33,210 --> 00:44:35,389 de más formas. Es decir, aquí se hace 907 00:44:35,389 --> 00:44:37,489 haciendo que coja de padre 908 00:44:37,489 --> 00:44:39,449 y es como la jerarquía 909 00:44:39,449 --> 00:44:40,170 de hacer lo hijo, ¿vale? 910 00:44:40,250 --> 00:44:42,610 Como esto, ¿no? 911 00:44:42,610 --> 00:44:45,550 Pero también hay otra forma... Es así, ¿no? 912 00:44:45,550 --> 00:44:47,010 Como lo estás haciendo. Digo que también se puede hacer 913 00:44:47,010 --> 00:44:49,190 coge exactamente el transform y 914 00:44:49,190 --> 00:44:51,230 que lo añada. No, pues si es así 915 00:44:51,230 --> 00:44:52,730 no debería dar ese problema. 916 00:44:53,269 --> 00:44:54,849 Pues revisa eso, que el movimiento 917 00:44:54,849 --> 00:44:57,309 cambia los modos 918 00:44:57,309 --> 00:44:59,110 de update, ¿vale? Para 919 00:44:59,110 --> 00:45:00,150 ver si... 920 00:45:00,150 --> 00:45:08,429 prueba lo de la escala a ver si es que al cambiar la escala claro el movimiento relativo no es el 921 00:45:08,429 --> 00:45:14,610 mismo que el aparente porque está cambiando a lo mejor el punto de eso puede ser porque además hice 922 00:45:15,969 --> 00:45:28,389 la plataforma con un cuadrado o sea utilizando no utilizando el spray rosa sino o sea lo empecé 923 00:45:28,389 --> 00:45:30,510 varias veces y... 924 00:45:30,510 --> 00:45:32,110 Pero sí recuerdo que lo escalé. 925 00:45:32,269 --> 00:45:34,309 A ver, voy a probarlo, ¿vale? Lo he hecho 926 00:45:34,309 --> 00:45:36,250 más grande. Joder, en pasaje 927 00:45:36,250 --> 00:45:38,230 me mato, pero voy a quitar todas las torres porque 928 00:45:38,230 --> 00:45:39,889 si no esto se convierte en un tostón. 929 00:45:43,510 --> 00:45:44,429 Estas torretas 930 00:45:44,429 --> 00:45:46,190 eran... Estas, si no me equivoco. 931 00:45:49,230 --> 00:45:49,530 A ver. 932 00:45:51,710 --> 00:45:54,030 No, estas no eran... Vale, es esta. 933 00:45:54,849 --> 00:45:55,750 Fuera. Vale. 934 00:45:57,909 --> 00:45:58,309 Si... 935 00:45:58,309 --> 00:45:59,329 Yo voy a esta 936 00:45:59,329 --> 00:46:01,869 plataforma que le cambia la escala, si te fijas, 937 00:46:01,869 --> 00:46:04,730 En teoría debería hacerlo bien 938 00:46:04,730 --> 00:46:09,599 En teoría lo hace 939 00:46:09,599 --> 00:46:10,960 Espera que no sé si está viendo algo 940 00:46:10,960 --> 00:46:12,699 ¿Ves que da como saltitos ahora? 941 00:46:15,090 --> 00:46:16,070 Da, sí 942 00:46:16,070 --> 00:46:18,829 Y en el pequeño no da esos saltitos igual 943 00:46:18,829 --> 00:46:21,090 Bueno, lo está dando un poco por la 944 00:46:21,090 --> 00:46:22,949 Porque nos estamos fijando 945 00:46:22,949 --> 00:46:25,130 A ver, lo que sí que sería 946 00:46:25,130 --> 00:46:26,809 Más evidente es 947 00:46:26,809 --> 00:46:27,989 Si en X 948 00:46:27,989 --> 00:46:29,250 Pero no es lo mismo que te pasa a ti 949 00:46:29,250 --> 00:46:32,849 No sé, lo que te digo, si en X es mayor la escala 950 00:46:32,849 --> 00:46:34,269 De la plataforma, a ver si 951 00:46:34,269 --> 00:46:36,809 Te desliza el personaje sobre la plataforma 952 00:46:36,809 --> 00:46:40,269 Es una cosa muy extraña 953 00:46:40,269 --> 00:46:40,769 Pero bueno 954 00:46:40,769 --> 00:46:43,329 Seguro que hay alguna chorradiña por ahí 955 00:46:43,329 --> 00:46:45,489 Que es lo que está haciéndolo 956 00:46:45,489 --> 00:46:46,170 Pero bueno 957 00:46:46,170 --> 00:46:48,010 En principio pueden ser 958 00:46:48,010 --> 00:46:51,590 Las posibilidades 959 00:46:51,590 --> 00:46:52,829 ¿Vale? 960 00:46:53,889 --> 00:46:54,710 No sé si 961 00:46:54,710 --> 00:46:57,090 Tienes alguna duda más 962 00:46:57,090 --> 00:46:59,530 Porque si no quiero que veamos un par de cosas 963 00:46:59,530 --> 00:46:59,849 ¿Vale? 964 00:46:59,849 --> 00:47:00,170 Vale 965 00:47:00,170 --> 00:47:02,969 Pues arranca 966 00:47:02,969 --> 00:47:05,469 Y si me sale algo te lo digo 967 00:47:05,469 --> 00:47:10,230 después pero en principio no una chorrada bueno esta plataforma se queda ahí que no me interesa 968 00:47:12,909 --> 00:47:14,130 aquí creo 969 00:47:16,289 --> 00:47:21,309 está fuera está la que ha añadido a no con dónde está la que ha añadido ahora 970 00:47:24,150 --> 00:47:28,250 no me gusta bueno es que está en la plataforma que empieza en un sitio y se va al otro lo que 971 00:47:28,250 --> 00:47:29,889 hemos dicho, vale, esta es, vale 972 00:47:29,889 --> 00:47:34,210 vale, simplemente 973 00:47:34,210 --> 00:47:36,070 creo que en el tema lo pongo, que es 974 00:47:36,070 --> 00:47:38,389 cuando el personaje a veces 975 00:47:38,389 --> 00:47:40,150 digo, porque es un comportamiento 976 00:47:40,150 --> 00:47:42,250 indeseado y es muy normal, cuando estamos caminando 977 00:47:42,250 --> 00:47:43,949 y nos vamos a una plataforma y caminamos 978 00:47:43,949 --> 00:47:46,269 hacia ese lado, si no hacemos una operación 979 00:47:46,269 --> 00:47:47,590 se queda ahí como anclado 980 00:47:47,590 --> 00:47:49,269 vale, lo voy a hacer con esto 981 00:47:49,269 --> 00:47:51,230 a lo que me refiero es 982 00:47:51,230 --> 00:47:54,289 me cargo esto, que es la solución, vale, puede pasar 983 00:47:54,289 --> 00:47:55,230 que estemos en un juego 984 00:47:55,230 --> 00:47:58,409 y estamos aquí, digo, vale, me voy a caer 985 00:47:58,409 --> 00:48:00,389 pero yo sigo avanzando 986 00:48:00,389 --> 00:48:02,070 hacia la plataforma, ¿vale? 987 00:48:02,070 --> 00:48:04,110 estoy dando hacia la derecha, se queda ahí 988 00:48:04,110 --> 00:48:06,389 atascado, ¿vale? esto no es 989 00:48:06,389 --> 00:48:08,309 no es bueno y sobre todo además 990 00:48:08,309 --> 00:48:09,190 si no se discrimina 991 00:48:09,190 --> 00:48:12,230 el salto según que parte, también incluso se podría 992 00:48:12,230 --> 00:48:14,190 saltar, lo cual si no es la mecánica que 993 00:48:14,190 --> 00:48:15,510 queremos, pues no 994 00:48:15,510 --> 00:48:17,730 facilitaría mucho pasarse el juego, ¿no? 995 00:48:18,190 --> 00:48:19,829 entonces simplemente aquí 996 00:48:19,829 --> 00:48:21,550 es donde tenemos que poner en juego 997 00:48:21,550 --> 00:48:24,030 los material physics en la 998 00:48:24,030 --> 00:48:32,250 plataforma y añadir una vale que sea de fricción 0 vale para resolver eso vale 0 y 0 eso es una 999 00:48:32,250 --> 00:48:37,530 solución entonces como no hay nada de fricción digamos nada lo que agarrarse aunque avancemos 1000 00:48:37,530 --> 00:48:45,530 hacia ahí pues se cae para allá vale eso es importante otra otra cosita bueno lo de las 1001 00:48:45,530 --> 00:48:50,489 torretas que lo pongo como opcional porque verdad que tiene más chicha hay una cosa que me parece 1002 00:48:50,489 --> 00:48:58,289 interesante que veamos que es el método sendmessage que no sé si en tu caso lo has usado más avanzado 1003 00:48:58,289 --> 00:49:02,789 pero es conveniente conocerlo entonces voy a hacer un hay más dudas por tu parte voy a hacer 1004 00:49:02,789 --> 00:49:09,730 un pequeño repaso de qué hace ese método vale para que lo conozcamos no sé si lo has usado 1005 00:49:09,730 --> 00:49:19,070 te suena sendmessage enviar mensajes es como como una suscripción a eventos si en cierto modo es eso 1006 00:49:19,070 --> 00:49:26,110 es pues entre todos los métodos que haya envía un envía un mensaje que vaya repasando y el que 1007 00:49:26,110 --> 00:49:32,809 se llama igual me lo lanzas si es algo parecido entonces claro para estas torres del principio 1008 00:49:32,809 --> 00:49:38,550 si nos fijamos aquí no disparan hasta que yo llego a un punto y me empiezan a disparar todas 1009 00:49:38,550 --> 00:49:46,730 vale ya eso básicamente es porque en él en un cierto punto he añadido un collider vale un 1010 00:49:46,730 --> 00:49:52,630 trigger vale que marca un área para que cuando yo entre pues las torretas empiecen a disparar 1011 00:49:52,630 --> 00:49:58,730 vale bueno ya he hecho este collider estrellas y me meto aquí esto es lo que me interesa vale 1012 00:49:58,730 --> 00:50:06,889 si con el personaje vamos andando si entramos en ese trigger vale si cuando si es decir esto 1013 00:50:06,889 --> 00:50:12,769 lo tiene la trampa vale si lo que entra se llama robot vale como en nuestro caso activamos la 1014 00:50:12,769 --> 00:50:20,150 torreta vale y activar la torreta es algo que tenemos aquí que pasa que cuando salgo hago 1015 00:50:20,150 --> 00:50:25,429 exactamente lo mismo también activar la torreta y stop fire vale es el mismo método y le he pasado 1016 00:50:25,429 --> 00:50:32,869 un parámetro que es un nombre de un método esto está bien porque de esta forma cambiando aquí 1017 00:50:32,869 --> 00:50:38,869 digamos el string que tengamos luego podemos enviar este mensaje con el nombre del método 1018 00:50:38,869 --> 00:50:40,969 que sea, es decir, si nos metemos 1019 00:50:40,969 --> 00:50:42,809 en la torreta, ¿vale? Va a tener un 1020 00:50:42,809 --> 00:50:44,969 método preparado que se llama stopfire y otro starfire 1021 00:50:44,969 --> 00:50:46,849 y lo que discrimina que se lance uno 1022 00:50:46,849 --> 00:50:48,550 u otro es precisamente 1023 00:50:48,550 --> 00:50:50,909 el nombre. Entonces 1024 00:50:50,909 --> 00:50:53,250 con un message se puede fácilmente 1025 00:50:53,250 --> 00:50:55,309 activar 1026 00:50:55,309 --> 00:50:56,969 en remoto, digamos, en otro 1027 00:50:56,969 --> 00:50:58,869 script, métodos, ¿vale? Sin tener 1028 00:50:58,869 --> 00:51:00,590 que ir uno a uno discriminando mucho. 1029 00:51:01,550 --> 00:51:02,849 ¿Qué se hace aquí 1030 00:51:02,849 --> 00:51:04,809 también? Hacer un 1031 00:51:04,809 --> 00:51:06,889 array, ¿vale? Esto, el problema que puede tener 1032 00:51:06,889 --> 00:51:08,710 es que trate todos los objetos, 1033 00:51:08,710 --> 00:51:10,849 todas las torretas que tenemos aquí como una sola 1034 00:51:10,849 --> 00:51:12,789 ¿vale? tenemos todas estas torretas 1035 00:51:12,789 --> 00:51:14,610 aquí preparadas, si no 1036 00:51:14,610 --> 00:51:15,869 tendríamos que hacer 1037 00:51:15,869 --> 00:51:18,030 distintos, bueno pues 1038 00:51:18,030 --> 00:51:20,670 luego al lanzarlo distintos 1039 00:51:20,670 --> 00:51:22,570 delays o para que disparen 1040 00:51:22,570 --> 00:51:23,750 en distintos momentos, pero 1041 00:51:23,750 --> 00:51:26,690 el GameObject del FindObjects 1042 00:51:26,690 --> 00:51:28,570 with Tag, ¿vale? que nunca hemos 1043 00:51:28,570 --> 00:51:30,550 hablado de él, es un método muy conveniente para 1044 00:51:30,550 --> 00:51:32,670 meter y guardar en un array 1045 00:51:32,670 --> 00:51:34,309 ¿vale? que tenemos aquí preparado en este caso 1046 00:51:34,309 --> 00:51:36,269 todos los objetos, que 1047 00:51:36,269 --> 00:51:38,570 podrían ser las plataformas, podrían ser las torretas 1048 00:51:38,570 --> 00:51:40,530 en este caso, que tengan el tag 1049 00:51:40,530 --> 00:51:41,809 torreta 1050 00:51:41,809 --> 00:51:44,849 torreta 1 1051 00:51:44,849 --> 00:51:46,489 ¿vale? entonces 1052 00:51:46,489 --> 00:51:48,570 dentro de esa torreta 1 es donde está ese 1053 00:51:48,570 --> 00:51:50,250 script de disparar 1054 00:51:50,250 --> 00:51:52,489 o no disparar, ¿vale? que lo que 1055 00:51:52,489 --> 00:51:54,570 hace es lanzar la animación 1056 00:51:54,570 --> 00:51:56,289 de, pues que sale el fuego 1057 00:51:56,289 --> 00:51:58,190 ¿vale? que ahí os dejé un 1058 00:51:58,190 --> 00:52:00,230 os dejé un 1059 00:52:00,230 --> 00:52:02,250 una hoja de sprites 1060 00:52:02,250 --> 00:52:03,989 del, bueno 1061 00:52:03,989 --> 00:52:05,949 la tienes vista por ahí, ¿vale? pero bueno 1062 00:52:05,949 --> 00:52:08,110 básicamente es la que hay ahí 1063 00:52:08,110 --> 00:52:09,570 Esta de torreta 1 1064 00:52:09,570 --> 00:52:12,550 Enseño simplemente por si alguien ve esto 1065 00:52:12,550 --> 00:52:14,190 Y tal, creo que es una torreta que 1066 00:52:14,190 --> 00:52:15,630 Si nos fijamos aquí está como 1067 00:52:15,630 --> 00:52:18,590 Está como disparando 1068 00:52:18,590 --> 00:52:19,010 ¿Vale? 1069 00:52:19,230 --> 00:52:21,949 Sí, una animación de un destello 1070 00:52:21,949 --> 00:52:24,070 Eso es, e importante es 1071 00:52:24,070 --> 00:52:25,989 Que, ¿vale? 1072 00:52:26,030 --> 00:52:28,690 Porque esto a veces dice, oye, ¿cómo hago para que se lance 1073 00:52:28,690 --> 00:52:30,829 La bala en cierto momento? 1074 00:52:31,250 --> 00:52:32,210 Pues recordemos 1075 00:52:32,210 --> 00:52:34,349 Que en los propios clips de animación se pueden añadir 1076 00:52:34,349 --> 00:52:36,530 Eventos, ¿vale? Para que en cierto momento 1077 00:52:36,530 --> 00:52:37,789 Se dé una operación 1078 00:52:37,789 --> 00:53:03,349 Esto por código sería complicado, es decir, en tal fotograma que se lance. Por poder se puede todo, pero sería complicado. Entonces, recordemos que aquí, yo por ejemplo, en ese Starfire, he creado un método que lo que hace es instanciar un prefab de bala, que luego asocio aquí al evento, es este de Ballet, para que se lance, igual que se lanzaban las columnas en la UT2, con ya un movimiento, etc. 1079 00:53:03,349 --> 00:53:27,349 Si te fijas en tu caso, tenemos este método esperando aquí y hasta que no se lanza la orden de que empiece a ejecutarse la animación de Fire en el Animator Controller, no olvidemos que dentro del Animator Controller lo que hace es meterse distintos clientes de animación como este, asociamos por un lado que se empiece a ejecutar una animación, 1080 00:53:27,349 --> 00:53:56,530 Pero también, de manera vinculada, estamos haciendo que en cada repetición, a ver, lo coloco aquí, se lance un proyectil con este instantiate, ¿vale? Entonces, que es una lógica un poco enrevesada, pero es muy conveniente usar los eventos de las animaciones para, bueno, como os ponía en el tema, pues que cuando bote una bola, pues cuando en el fotograma justo en el que se posa, pues puede haber un método, ya veremos cómo se hace con los sonidos en el tema 7, 1081 00:53:56,530 --> 00:53:59,110 que lance el sonido de boing 1082 00:53:59,110 --> 00:54:00,409 del bote cuando toca ahí 1083 00:54:00,409 --> 00:54:03,090 claro, para que coincida justo con ese fotograma 1084 00:54:03,090 --> 00:54:05,070 no olvidemos que están los eventos 1085 00:54:05,070 --> 00:54:05,630 de animación 1086 00:54:05,630 --> 00:54:08,489 que vienen explicados en el tema 1087 00:54:08,489 --> 00:54:11,170 pero importante porque es una forma fina 1088 00:54:11,170 --> 00:54:13,070 de en un movimiento 1089 00:54:13,070 --> 00:54:14,929 en una animación pues indicar 1090 00:54:14,929 --> 00:54:16,289 que ocurra algo 1091 00:54:16,289 --> 00:54:18,510 a través de script 1092 00:54:18,510 --> 00:54:20,110 vale, entonces 1093 00:54:20,110 --> 00:54:23,170 también aquí se pone en juego 1094 00:54:23,170 --> 00:54:24,789 que esto es importante 1095 00:54:24,789 --> 00:54:27,190 y a primeras suele ser complicado 1096 00:54:27,190 --> 00:54:28,809 igual que hemos creado un array 1097 00:54:28,809 --> 00:54:30,750 que hemos dicho, todo lo que tenga 1098 00:54:30,750 --> 00:54:33,130 el tag torreta1 1099 00:54:33,130 --> 00:54:35,250 que se guarde en ese array, para usarlo 1100 00:54:35,250 --> 00:54:36,889 ¿vale? bajo el nombre de torretas 1101 00:54:36,889 --> 00:54:39,130 claro, si en cierto momento 1102 00:54:39,130 --> 00:54:41,530 yo quiero que cada torreta de manera independiente 1103 00:54:41,530 --> 00:54:42,630 lance su 1104 00:54:42,630 --> 00:54:44,989 bala, ¿vale? 1105 00:54:45,289 --> 00:54:47,409 pues para ir yendo una a una 1106 00:54:47,409 --> 00:54:49,190 ¿vale? hacemos un bucle por todas las torretas 1107 00:54:49,190 --> 00:54:51,030 que hemos metido en el array, existe el forEach 1108 00:54:51,030 --> 00:54:52,429 ¿vale? que dice 1109 00:54:52,429 --> 00:54:54,670 dentro de torretas 1110 00:54:54,670 --> 00:54:56,869 en cada, y aquí creamos 1111 00:54:56,869 --> 00:54:58,329 una nueva variable 1112 00:54:58,329 --> 00:55:01,190 llamada torreta, como se puede llamar 1113 00:55:01,190 --> 00:55:02,409 canon 1114 00:55:02,409 --> 00:55:04,289 esto recordemos que es 1115 00:55:04,289 --> 00:55:06,070 cuando declaramos una variable 1116 00:55:06,070 --> 00:55:07,489 pues estamos diciendo 1117 00:55:07,489 --> 00:55:08,750 que 1118 00:55:08,750 --> 00:55:12,670 le estamos dando el nombre para que en este ámbito 1119 00:55:12,670 --> 00:55:13,809 se ejecute, pues eso 1120 00:55:13,809 --> 00:55:16,630 en ese cañón, dentro de cada uno de 1121 00:55:16,630 --> 00:55:18,250 esas torretas que se han metido 1122 00:55:18,250 --> 00:55:20,769 coge el script llamado 1123 00:55:20,769 --> 00:55:22,349 turret, y esto es lo de siempre 1124 00:55:22,349 --> 00:55:24,190 aquí ponemos un get component turret 1125 00:55:24,190 --> 00:55:26,329 y básicamente lo que estamos haciendo es ver 1126 00:55:26,329 --> 00:55:28,090 dentro de los componentes cuál se llama turret 1127 00:55:28,090 --> 00:55:30,030 y resulta que es un script, podría ser 1128 00:55:30,030 --> 00:55:31,309 animator, sprite renderer, ¿no? 1129 00:55:31,769 --> 00:55:33,969 y dentro de ese turret 1130 00:55:33,969 --> 00:55:36,070 que lo hemos guardado aquí, ¿vale? de ese script 1131 00:55:36,070 --> 00:55:37,530 mándame un mensaje 1132 00:55:37,530 --> 00:55:39,650 ¿vale? con este nombre 1133 00:55:39,650 --> 00:55:41,570 stop fire o start fire 1134 00:55:41,570 --> 00:55:44,190 que es lo que hace básicamente, se mete ahí y en cada 1135 00:55:44,190 --> 00:55:46,050 torreta, cada game object independiente 1136 00:55:46,050 --> 00:55:48,050 pues empezará a lanzar el fuego 1137 00:55:48,050 --> 00:55:50,070 o lo parará, y cuando 1138 00:55:50,070 --> 00:55:51,929 se lanza ese fuego, además 1139 00:55:51,929 --> 00:55:58,530 en esa propia en ese propio clip de animación se instancia una bala en cierto momento se están 1140 00:55:58,530 --> 00:56:04,690 como encadenando distintos pasos pero de esto creo que es importante porque es la gracia de 1141 00:56:04,690 --> 00:56:12,989 ir usando un poco todo lo que vamos conociendo y a mí esto me cuesta un montón digo entiendo que 1142 00:56:12,989 --> 00:56:19,949 a todos nos cuesta en plan hilando y tal pero bueno es sobre todo ir hasta yéndose e ir viendo 1143 00:56:19,949 --> 00:56:24,809 los pasos y decir vale yo quiero que en cierto momento vale pero por ejemplo esto que igual 1144 00:56:24,809 --> 00:56:31,949 alguien intenta ir por otro camino de juego pues yo creo que la bala sea según se lanza el según 1145 00:56:31,949 --> 00:56:37,469 se empieza el fuego no digamos a los tres segundos con un inbox pues no se puede hacer directamente 1146 00:56:37,469 --> 00:56:45,809 con el clip de animación con un evento vale sino para una cosa tan tan específica esto es la mejor 1147 00:56:45,809 --> 00:56:55,070 opción claro por eso sobre la animación que si no me equivoco hace dos o tres tutorías me hablaste 1148 00:56:55,070 --> 00:57:01,349 creo que fuiste tú me preguntaste de cómo animar algo y te dije no no es que esto lo verás cuando 1149 00:57:01,349 --> 00:57:06,989 vayamos a los clip de animación que es donde igual que hacemos en premiere en after effects donde de 1150 00:57:06,989 --> 00:57:14,710 verdad podemos ser muy finos porque lo hacemos nosotros a nivel de fotograma puedes meter código 1151 00:57:14,710 --> 00:57:17,789 Eso es, poder meter momentos 1152 00:57:17,789 --> 00:57:19,630 Dentro de la línea temporal 1153 00:57:19,630 --> 00:57:21,469 De que se lance un código 1154 00:57:21,469 --> 00:57:23,590 ¿Vale? Y luego otra cosa 1155 00:57:23,590 --> 00:57:25,090 Que bueno, es que esto sí que viene 1156 00:57:25,090 --> 00:57:27,550 Creo que he explicado en el enunciado 1157 00:57:27,550 --> 00:57:29,750 Claro, la torreta para que se vaya orientando 1158 00:57:29,750 --> 00:57:31,150 Hacia el personaje, todas están 1159 00:57:31,150 --> 00:57:33,369 Por defecto, enchufando hacia arriba 1160 00:57:33,369 --> 00:57:34,989 Pero si nos fijamos 1161 00:57:34,989 --> 00:57:37,590 Voy a cerrar esto 1162 00:57:37,590 --> 00:57:39,849 ¿Vale? Se va moviendo buscando al personaje 1163 00:57:39,849 --> 00:57:41,389 ¿Vale? Esta rotación 1164 00:57:41,389 --> 00:57:43,809 Hay una forma de hacerlo 1165 00:57:43,809 --> 00:57:50,929 que es con esto de decirle vale esto cada torreta tiene esto vale el transforma es decir la parte 1166 00:57:50,929 --> 00:57:55,389 hacia la que apunta hacia arriba vale que realmente apunta hacia donde yo le estoy diciendo en esto 1167 00:57:55,389 --> 00:58:03,849 anterior vale y bueno es una práctica normal que si tú coges un punto y le restas al que tiene que 1168 00:58:03,849 --> 00:58:10,869 mirar vale lo que hace ya esa orientación vale aquí bueno aquí he puesto un pequeño offset para 1169 00:58:10,869 --> 00:58:15,150 que vaya a la cabeza del jugador pero vamos se podría poner el jugador y si a esa posición se 1170 00:58:15,150 --> 00:58:22,090 le resta a la que quieren decir a la que quieren mirar se le resta la del propio objeto vale lo 1171 00:58:22,090 --> 00:58:26,110 que hace es mirar hacia allí y con esto combinaciones con lo que se hace vale por 1172 00:58:26,110 --> 00:58:31,030 la parte de arriba de la torreta del sprite va a estar mirando hacia donde yo le digo aquí que es 1173 00:58:31,030 --> 00:58:40,630 el que es el punto donde está el personaje vaya si bueno si está claro pues no sé si tienes así 1174 00:58:40,630 --> 00:58:49,869 algo más alguna duda quieres que veamos algo no ya me toca pelearme con esto para cerrarlo 1175 00:58:49,869 --> 00:59:00,210 básicamente y bueno esto esto no lo quita nadie y las tareas de hecho están planteadas para que 1176 00:59:00,210 --> 00:59:01,869 os peleéis un poco, porque 1177 00:59:01,869 --> 00:59:03,309 cuando haces un juego 1178 00:59:03,309 --> 00:59:05,829 es que no es fácil nunca, no es 1179 00:59:05,829 --> 00:59:07,190 directo nunca, bueno 1180 00:59:07,190 --> 00:59:10,289 pues el darle vueltas 1181 00:59:10,289 --> 00:59:12,130 y el de pronto que una condición que funcionaba 1182 00:59:12,130 --> 00:59:13,929 en cuanto añades otra acción del personaje 1183 00:59:13,929 --> 00:59:15,949 de pronto tienes que revisar 1184 00:59:15,949 --> 00:59:17,849 ¿vale? pues es importante 1185 00:59:17,849 --> 00:59:19,989 de hecho, llegan puntos 1186 00:59:19,989 --> 00:59:21,610 por ejemplo aquí que para el salto 1187 00:59:21,610 --> 00:59:23,610 en mi caso, que bueno 1188 00:59:23,610 --> 00:59:25,869 puede hacerse, seguramente se puede hacer incluso 1189 00:59:25,869 --> 00:59:28,409 más eficiente, pero para que el salto se desencadene 1190 00:59:28,409 --> 00:59:29,849 y se, bueno, y se añada la fuerza 1191 00:59:29,849 --> 00:59:32,110 y se desencadena la animación 1192 00:59:32,110 --> 00:59:33,849 de salto, pues ya hay cuatro 1193 00:59:33,849 --> 00:59:35,849 cuatro booleanas 1194 00:59:35,849 --> 00:59:38,170 y son booleanas que se van activando 1195 00:59:38,170 --> 00:59:39,969 y desactivando, pues en cuanto 1196 00:59:39,969 --> 00:59:41,849 metes otro factor, normalmente 1197 00:59:41,849 --> 00:59:44,090 no es raro que te toque meter otra 1198 00:59:44,090 --> 00:59:45,809 booleana que se activa o se desactiva 1199 00:59:45,809 --> 00:59:47,409 bueno, pues ahí es donde 1200 00:59:47,409 --> 00:59:50,170 toca darle vueltas 1201 00:59:50,170 --> 00:59:50,550 al tema 1202 00:59:50,550 --> 00:59:53,869 yo eso lo he estado haciendo desde 1203 00:59:53,869 --> 00:59:55,429 desde la animación 1204 00:59:55,429 --> 00:59:57,489 el 1205 00:59:57,489 --> 00:59:59,929 ¿El salto, por ejemplo? 1206 00:59:59,929 --> 01:00:07,289 Sí, casi todas las condiciones. Evidentemente en código hay algo también, ¿verdad? Pero quiero decir... 1207 01:00:07,289 --> 01:00:10,289 Ah, bueno. ¿Que lanzas eventos que activan y desactivan las booleanas? 1208 01:00:13,789 --> 01:00:18,010 No, que a nivel de las animaciones me refiero. 1209 01:00:18,110 --> 01:00:20,170 Ah, que lo usas para las animaciones. Sí, sí, claro. 1210 01:00:20,170 --> 01:00:49,070 No de la función como tal, sino en las animaciones, justamente ir combinando si está en el suelo, si tiene velocidad o no tiene velocidad y estas cuestiones. Pero bueno, que sí, que se va haciendo cada vez más complejo, sobre todo cuanto más fino lo quieres hacer, que al final es para conseguir que no se note nada de lo que estás haciendo. 1211 01:00:50,170 --> 01:00:56,650 si para que todo sea invisible bueno ahora es lo de siempre lo bueno es que en cuanto tenga la 1212 01:00:56,650 --> 01:01:00,530 lógica de este juego tú ya lo puedes hacer todo lo grande que quieras que es ir duplicando lo 1213 01:01:00,530 --> 01:01:05,710 ampliando lo complicado es hacer el código que funcione me explico igual que en el de la bola 1214 01:01:05,710 --> 01:01:10,210 pues ya teniendo dos niveles con distintas mecánicas pues puedes ir haciendo más niveles 1215 01:01:10,210 --> 01:01:16,389 y ponerle las barras en distintos puntos tal que al final es establecer bien la mecánica y 1216 01:01:16,389 --> 01:01:18,369 Y luego si es un juego de niveles, un arcade y tal 1217 01:01:18,369 --> 01:01:20,750 Pues así, casi más en lo visual 1218 01:01:20,750 --> 01:01:22,289 Ir metiendo más elementos 1219 01:01:22,289 --> 01:01:24,030 Sí, cambiando 1220 01:01:24,030 --> 01:01:25,969 Algunas configuraciones y tal 1221 01:01:25,969 --> 01:01:28,170 Yo por ejemplo lo de la dificultad 1222 01:01:28,170 --> 01:01:30,550 Lo dejé en un punto 1223 01:01:30,550 --> 01:01:32,530 Porque dije, esto es eterno