1 00:00:00,000 --> 00:00:05,540 sobre aquí tengo yo abiertas donde dejamos el otro día la ut2 que quiero ver esto que 2 00:00:05,540 --> 00:00:11,560 estábamos hablando vale de los límites y bueno lo dejamos en un punto siendo que hasta aquí más o 3 00:00:11,560 --> 00:00:18,500 menos todos dejasteis en la entrada de la práctica y el problema está en que yo ahora mismo me puedo 4 00:00:18,500 --> 00:00:24,660 ir a otra comunidad autónoma porque me salgo completamente de escenario hoy de los límites 5 00:00:24,660 --> 00:00:29,280 básicamente lo que querríamos es que no suba mucho más de donde acaba el obstáculo porque 6 00:00:29,280 --> 00:00:31,179 si hago esto, pues el juego la verdad 7 00:00:31,179 --> 00:00:32,100 que carece de sentido 8 00:00:32,100 --> 00:00:35,039 y tampoco salirme 9 00:00:35,039 --> 00:00:37,119 del carril 10 00:00:37,119 --> 00:00:39,460 para que me obligue un poco a enfrentarme 11 00:00:39,460 --> 00:00:41,039 a estos 12 00:00:41,039 --> 00:00:42,979 pivotes, entonces 13 00:00:42,979 --> 00:00:45,200 el otro día lo dejamos 14 00:00:45,200 --> 00:00:47,000 en, a ver, que 15 00:00:47,000 --> 00:00:49,159 claro, los límites, a quien habrá que 16 00:00:49,159 --> 00:00:50,759 ponérselo, es 17 00:00:50,759 --> 00:00:52,759 básicamente al movimiento del 18 00:00:52,759 --> 00:00:55,159 jugador, hay otra forma de hacerlo 19 00:00:55,159 --> 00:00:57,340 ¿vale? ahora que estamos viendo las dinámicas 20 00:00:57,340 --> 00:00:59,000 también, que es 21 00:00:59,000 --> 00:01:00,700 que se podrían generar en las paredes 22 00:01:00,700 --> 00:01:02,920 que tuvieran un collider y no me dejaran 23 00:01:02,920 --> 00:01:04,900 ni subir ni bajar, es decir, esa sería 24 00:01:04,900 --> 00:01:05,659 un poco la 25 00:01:05,659 --> 00:01:08,159 la opción 26 00:01:08,159 --> 00:01:11,200 low cost 27 00:01:11,200 --> 00:01:12,500 trampera 28 00:01:12,500 --> 00:01:14,280 se podría usar, ¿no? 29 00:01:14,680 --> 00:01:16,459 cuando creamos una primitiva 30 00:01:16,459 --> 00:01:18,560 un objeto de estos básicos que tenemos aquí 31 00:01:18,560 --> 00:01:20,780 la bola, por ejemplo, como lo que habréis hecho con la esfera 32 00:01:20,780 --> 00:01:22,560 ya vienen con su propio collider 33 00:01:22,560 --> 00:01:24,400 que como habréis leído en el tema 34 00:01:24,400 --> 00:01:25,739 los hay de varios tipos 35 00:01:25,739 --> 00:01:27,659 y se ven con esta 36 00:01:27,659 --> 00:01:30,560 aquí no se ve mucho 37 00:01:30,560 --> 00:01:32,760 pero si os fijáis tiene como unos bordecitos 38 00:01:32,760 --> 00:01:34,780 verdes, que ya aprovecho 39 00:01:34,780 --> 00:01:36,500 para deciros que para editar 40 00:01:36,500 --> 00:01:38,640 y ver bien los colliders, aquí en la 41 00:01:38,640 --> 00:01:40,500 ventana escena, podéis poneros 42 00:01:40,500 --> 00:01:42,560 en modo white frame, que se ve 43 00:01:42,560 --> 00:01:44,540 la malla, pero se ve 44 00:01:44,540 --> 00:01:46,560 mucho más destacado lo que es la geometría 45 00:01:46,560 --> 00:01:48,719 que pues con los manejadores 46 00:01:48,719 --> 00:01:49,439 que tenemos aquí 47 00:01:49,439 --> 00:01:52,739 del propio 48 00:01:52,739 --> 00:01:54,540 collider, definimos hasta donde 49 00:01:54,540 --> 00:01:56,599 tiene que detectar que algo 50 00:01:56,599 --> 00:01:58,879 choque con otra cosa, que por cierto 51 00:01:58,879 --> 00:02:00,659 muchas veces, me vuelvo 52 00:02:00,659 --> 00:02:01,239 al modo 53 00:02:01,239 --> 00:02:03,719 normal 54 00:02:03,719 --> 00:02:06,959 muchas veces jugaréis a un juego 55 00:02:06,959 --> 00:02:08,740 y tenéis un jugador que tiene brazos, etc 56 00:02:08,740 --> 00:02:10,699 pero veréis que cuando 57 00:02:10,699 --> 00:02:11,939 choca es como que es 58 00:02:11,939 --> 00:02:14,620 no coincide completamente con el cuerpo, que eso 59 00:02:14,620 --> 00:02:16,680 lo habréis visto en el tema, hasta los Maze Colliders que son 60 00:02:16,680 --> 00:02:18,219 muy caros a nivel de 61 00:02:18,219 --> 00:02:20,180 recursos porque detecta 62 00:02:20,180 --> 00:02:22,379 intenta adaptarse completamente a la geometría 63 00:02:22,379 --> 00:02:24,699 esta malla fuera más complicada 64 00:02:24,699 --> 00:02:26,400 no le cuesta nada y se podría hacer 65 00:02:26,400 --> 00:02:32,099 es cara pero muchas veces 66 00:02:32,099 --> 00:02:32,379 para 67 00:02:32,379 --> 00:02:35,860 identificar en recursos a ese personaje se le pone 68 00:02:35,860 --> 00:02:38,020 un collider de tipo cápsula 69 00:02:38,020 --> 00:02:38,539 por ejemplo 70 00:02:38,539 --> 00:02:41,780 y más o menos coincide con el jugador 71 00:02:41,780 --> 00:02:44,000 pero está claro que a veces va a chocar antes de llegar a la pared 72 00:02:44,000 --> 00:02:46,039 y por eso una vez abriéndote 73 00:02:46,039 --> 00:02:47,759 en un juego que te chocas con la pared 74 00:02:47,759 --> 00:02:50,139 como que choca antes o lo atraviesa ligeramente 75 00:02:50,139 --> 00:02:51,979 porque a veces 76 00:02:51,979 --> 00:02:53,680 se hacen estas formas básicas para 77 00:02:53,680 --> 00:02:55,439 adaptar un poco 78 00:02:55,439 --> 00:02:58,280 al contorno del objeto 79 00:02:58,280 --> 00:03:01,699 también lo habréis visto en el tema que aquí hay un botoncito 80 00:03:01,699 --> 00:03:05,020 dentro de cada collider que si dais os permite 81 00:03:05,020 --> 00:03:07,659 adaptar la forma del collider 82 00:03:07,659 --> 00:03:10,199 de forma visual 83 00:03:10,199 --> 00:03:13,960 cuando lo hacéis se os abre aquí también 84 00:03:13,960 --> 00:03:16,400 en el menú de herramientas, si tenéis una nueva versión de Unity 85 00:03:16,400 --> 00:03:20,060 esta barra de herramientas la tendréis dentro del propio visor 86 00:03:20,060 --> 00:03:21,759 de escena, pero es lo mismo en realidad 87 00:03:21,759 --> 00:03:29,819 Y aquí tenéis, cuando activáis esto, pues tenéis que podéis activar lo mismo que podríais hacer aquí a mano, pero de una forma visual. 88 00:03:30,800 --> 00:03:41,500 Vale, dicho esto, ah, esto podríamos con su collider decir, esto va a ser una pared, voy a hacer una sola pared izquierda, ¿vale? 89 00:03:41,500 --> 00:03:56,000 Y yo digo, bueno, pues hago que la escala en X sea más pequeñita para que sea estrecha, bueno, voy a hacer un morete y lo que me interesa es que esto ocupe bastante en profundidad y en altura. 90 00:03:56,520 --> 00:04:03,159 De todos modos, como la nave, según estamos configurándola, no se mueve, que son los obstáculos, en realidad con ponerlo aquí tampoco tiene que ser mucho más grande, ¿vale? 91 00:04:03,159 --> 00:04:14,479 Entonces, ahora mismo, como tenemos un collider, vamos a ver qué ocurre. Si yo le doy al play y voy a la izquierda, a ver qué pasa, que igual todavía no está fino esto. 92 00:04:15,120 --> 00:04:24,139 Veis que lo atraviesa, ¿vale? Ahora mismo, aunque tenga collider, lo atraviesa. No sé si alguno me podría decir el por qué. Esto es una pared con un collider, ¿verdad? 93 00:04:25,480 --> 00:04:29,879 ¿Por qué será? Que es como algo importante tener en cuenta cuando usamos dinámicas. 94 00:04:30,220 --> 00:04:32,240 Porque el objeto no tiene collider. 95 00:04:32,240 --> 00:04:34,220 el objeto no tiene collider 96 00:04:34,220 --> 00:04:35,199 yo voy al objeto 97 00:04:35,199 --> 00:04:37,220 y esta nave 98 00:04:37,220 --> 00:04:39,500 tiene colliders dentro 99 00:04:39,500 --> 00:04:41,420 entonces lo que no tiene es rigidbody 100 00:04:41,420 --> 00:04:44,199 efectivamente, por muchos colliders 101 00:04:44,199 --> 00:04:45,879 que pongamos, si no decimos que un objeto 102 00:04:45,879 --> 00:04:47,279 digamos que es 103 00:04:47,279 --> 00:04:50,160 un cuerpo rígido 104 00:04:50,160 --> 00:04:52,079 pues son colliders 105 00:04:52,079 --> 00:04:54,000 que entre sí se pueden 106 00:04:54,000 --> 00:04:56,339 entender que están colisionando 107 00:04:56,339 --> 00:04:57,600 etcétera, pero a nivel física 108 00:04:57,600 --> 00:04:58,579 no estamos 109 00:04:58,579 --> 00:05:01,180 interactuando con ese 110 00:05:01,180 --> 00:05:03,560 con esos colliders 111 00:05:03,560 --> 00:05:05,079 entonces en algún punto 112 00:05:05,079 --> 00:05:06,639 se lo voy a poner aquí, por ejemplo 113 00:05:06,639 --> 00:05:09,040 bueno, se lo voy a poner dentro del prefab 114 00:05:09,040 --> 00:05:11,500 del padre que tiene todo lo de la nave 115 00:05:11,500 --> 00:05:13,500 en mi caso, si yo le pongo el rigidbody 116 00:05:13,500 --> 00:05:15,379 y esto tiene también algún pero 117 00:05:15,379 --> 00:05:17,379 ahora lo vamos a ver, y le quito la gravedad 118 00:05:17,379 --> 00:05:18,819 porque no quiero que se esté cayendo todo el rato 119 00:05:18,819 --> 00:05:20,360 y ahora cuando le de play 120 00:05:20,360 --> 00:05:21,680 no me equivoco 121 00:05:21,680 --> 00:05:24,439 cuando le de ese play 122 00:05:24,439 --> 00:05:27,579 veis que la atraviesa, porque le estoy dando mucha fuerza 123 00:05:27,579 --> 00:05:29,199 y ahora lo digo también, pero veis que está aquí 124 00:05:29,199 --> 00:05:31,360 y empezando a hacer unos requiebros bastante bonitos. 125 00:05:31,819 --> 00:05:33,000 Eso es porque sí que está chocando. 126 00:05:33,180 --> 00:05:34,959 Lo atraviesa, pero está chocando. 127 00:05:35,279 --> 00:05:37,160 Y esto también es importante, lo que voy a decir. 128 00:05:37,759 --> 00:05:40,920 Cuando estamos empezando a meternos en el mundo de las físicas, 129 00:05:41,060 --> 00:05:43,100 que queremos que los objetos colisionen con otros, 130 00:05:43,259 --> 00:05:45,060 y se detecten, etc., 131 00:05:45,060 --> 00:05:50,519 deberíamos mover los objetos no mediante las propiedades del transform. 132 00:05:51,019 --> 00:05:54,139 Ahora mismo lo que estamos haciendo es que este transform, 133 00:05:54,139 --> 00:05:56,800 que cuando le dé a la A 134 00:05:56,800 --> 00:05:59,399 pues el X se vaya a la izquierda 135 00:05:59,399 --> 00:05:59,899 por ejemplo 136 00:05:59,899 --> 00:06:02,300 pero como si ya habéis visto este tema 137 00:06:02,300 --> 00:06:03,779 3, el de la bola 138 00:06:03,779 --> 00:06:07,199 como se mueve el objeto en esa práctica 139 00:06:07,199 --> 00:06:08,540 ya no es a través del transform 140 00:06:08,540 --> 00:06:11,019 es decir, no es como una mano invisible 141 00:06:11,019 --> 00:06:13,019 que dice, ah, pues 10 a la izquierda 142 00:06:13,019 --> 00:06:13,720 10 a la derecha 143 00:06:13,720 --> 00:06:16,579 que es una de las formas de mover objetos en realidad 144 00:06:16,579 --> 00:06:18,680 aquí 145 00:06:18,680 --> 00:06:20,240 lo que estamos empezando a hacer 146 00:06:20,240 --> 00:06:21,699 y dado que hemos metido en juego 147 00:06:21,699 --> 00:06:24,360 las físicas porque queremos que se detecten 148 00:06:24,360 --> 00:06:25,579 lo que vamos a hacer es 149 00:06:25,579 --> 00:06:28,100 que las propias fuerzas sean aplicadas 150 00:06:28,100 --> 00:06:29,660 al RigidBody y una vez 151 00:06:29,660 --> 00:06:32,000 empezamos a jugar con 152 00:06:32,000 --> 00:06:32,800 el RigidBody 153 00:06:32,800 --> 00:06:35,639 lo suyo es no usar el Transform 154 00:06:35,639 --> 00:06:37,839 se puede usar pero empieza a 155 00:06:37,839 --> 00:06:39,839 son como dos mundos que no deberían 156 00:06:39,839 --> 00:06:41,879 comunicarse, si mueves 157 00:06:41,879 --> 00:06:43,899 el personaje por medio 158 00:06:43,899 --> 00:06:45,879 de físicas 159 00:06:45,879 --> 00:06:48,000 deberíamos añadir 160 00:06:48,000 --> 00:06:50,180 lo que habréis visto en el tema, el UpForce, el UpTorque 161 00:06:50,180 --> 00:06:59,759 en oposición al transform rotate y el transform translate que habíamos hecho, que son un poco similares, ¿vale? 162 00:07:00,060 --> 00:07:06,660 Entonces ahora veremos, ¿vale? Pero importante también que en Rigidbody, si os fijáis, aquí hay una pestañita que está sin desplegar 163 00:07:06,660 --> 00:07:17,040 que se llama info, que ahora veremos cuando usemos dinámicas, es que esas fuerzas que vais aplicando se van a ver aquí, en el velocity, ¿vale? 164 00:07:17,040 --> 00:07:41,899 El velocity a fin de cuentas es como la fuerza que tiene cada uno de los ejes, la fuerza que está teniendo ese cuerpo. De hecho voy un segundo aquí, que tengo aquí preparada por ejemplo esta bola, este juego, y en el objeto que le estamos, en este caso es la bola, que le estoy dando al RigidBody una fuerza para que avance o gire, 165 00:07:41,899 --> 00:07:45,279 yo empiezo el juego y empieza a moverme 166 00:07:45,279 --> 00:07:46,980 vais a ver que yo cuando empiezo 167 00:07:46,980 --> 00:07:49,600 a pulsar las teclas y se mueve 168 00:07:49,600 --> 00:07:51,560 y de pronto cuando yo deje de pulsar 169 00:07:51,560 --> 00:07:53,040 bueno, tiene una inercia 170 00:07:53,040 --> 00:07:55,100 sigue andando hasta que no pare 171 00:07:55,100 --> 00:07:57,000 cuando ya pare por la 172 00:07:57,000 --> 00:07:59,079 propia fricción del terreno 173 00:07:59,079 --> 00:08:00,199 que está costando 174 00:08:00,199 --> 00:08:02,720 que esto es una de las cosas también 175 00:08:02,720 --> 00:08:04,759 veis que se va cada vez 176 00:08:04,759 --> 00:08:06,379 reduciendo 177 00:08:06,379 --> 00:08:10,810 veis 178 00:08:10,810 --> 00:08:14,089 a ir reduciendo la velocidad 179 00:08:14,089 --> 00:08:16,250 vale, aquí tendríamos que subir un poco la inercia 180 00:08:16,250 --> 00:08:17,750 bueno, aquí no estaba aquí toda 181 00:08:17,750 --> 00:08:19,449 la inercia del material 182 00:08:19,449 --> 00:08:21,829 de los objetos que están interviniendo 183 00:08:21,829 --> 00:08:23,949 pero veis que cuando yo voy interactuando 184 00:08:23,949 --> 00:08:25,529 con el Rigidbody, dándole una fuerza 185 00:08:25,529 --> 00:08:27,610 estoy moviendo estos velocities 186 00:08:27,610 --> 00:08:29,889 que es otra forma de mover un cuerpo 187 00:08:29,889 --> 00:08:32,389 aplicando físicas 188 00:08:32,389 --> 00:08:33,509 bueno, vuelvo un poco 189 00:08:33,509 --> 00:08:35,450 a la otra tarea 190 00:08:35,450 --> 00:08:37,730 esto, si 191 00:08:37,730 --> 00:08:40,230 empezáramos a mover el juego 192 00:08:40,230 --> 00:08:42,750 usando fuerzas 193 00:08:42,750 --> 00:08:44,830 una forma de hacerlo 194 00:08:44,830 --> 00:08:46,809 que la nave se vaya aplicando 195 00:08:46,809 --> 00:08:48,929 con fuerzas, podríamos poner aquí un límite 196 00:08:48,929 --> 00:08:51,070 incluso un límite que tenga el box collider 197 00:08:51,070 --> 00:08:52,970 y no renderice la geometría 198 00:08:52,970 --> 00:08:55,169 si desactivamos 199 00:08:55,169 --> 00:08:56,529 su componente mesh renderer 200 00:08:56,529 --> 00:08:58,870 al final lo que tenemos es este límite 201 00:08:58,870 --> 00:09:00,769 que no se ve pero va a existir y va a impedir 202 00:09:00,769 --> 00:09:02,710 que el objeto se salga 203 00:09:02,710 --> 00:09:04,509 entonces yo ahora mismo 204 00:09:04,509 --> 00:09:06,649 ya os digo que cuando mezclas un movimiento 205 00:09:06,649 --> 00:09:08,009 como estamos haciendo aquí con transform 206 00:09:08,009 --> 00:09:10,070 veis que ahí hace como un clack 207 00:09:10,070 --> 00:09:13,990 ahí quedándose, si voy despacito 208 00:09:13,990 --> 00:09:17,789 pues lo detecta, también porque hay que tener en cuenta 209 00:09:17,789 --> 00:09:20,570 que los rigid bodies cuando los vamos metiendo 210 00:09:20,570 --> 00:09:23,029 tienen distintos modos de detección 211 00:09:23,029 --> 00:09:26,370 de esas colisiones, el discreto 212 00:09:26,370 --> 00:09:29,110 que digamos que va como sampleando durante el tiempo 213 00:09:29,110 --> 00:09:32,669 cuando se choca, pero si son movimientos 214 00:09:32,669 --> 00:09:36,169 muy rápidos o muy exagerados 215 00:09:36,169 --> 00:09:37,789 como que podría atravesar la pared 216 00:09:37,789 --> 00:09:54,309 Hay un modo aquí, ¿vale? Que ya os digo que usando Transform suele dar problemas, ¿vale? Pero que ayuda a que detecte que el movimiento es más grave y entonces le va metiendo aún más fuerza. También dependerá del grosor del collider, dependerá de varias cosas, ¿vale? 217 00:09:54,309 --> 00:09:57,210 entonces, en este caso, por ejemplo 218 00:09:57,210 --> 00:09:59,190 tal y como hemos ido configurando el proyecto 219 00:09:59,190 --> 00:10:00,730 lo lógico 220 00:10:00,730 --> 00:10:02,429 a no ser que nos pongamos a meternos 221 00:10:02,429 --> 00:10:04,889 en traducir todo esto 222 00:10:04,889 --> 00:10:06,610 a movimientos de físicas 223 00:10:06,610 --> 00:10:08,870 para la nave, lo lógico 224 00:10:08,870 --> 00:10:10,529 no es usar estos límites de paredes 225 00:10:10,529 --> 00:10:12,090 que ya veis que existen 226 00:10:12,090 --> 00:10:14,610 y de hecho, si luego quisiéramos que los pivotes 227 00:10:14,610 --> 00:10:16,370 que los pivotes 228 00:10:16,370 --> 00:10:18,289 chocaran con la nave 229 00:10:18,289 --> 00:10:19,629 a ver, a ver, a ver 230 00:10:19,629 --> 00:10:21,830 veis que está chocando también 231 00:10:21,830 --> 00:10:23,789 lo está enviando a cuenca 232 00:10:23,789 --> 00:10:33,330 si empezamos a usar físicas ya podríamos empezar a ganar pues eso en realismo de físicas como lo 233 00:10:33,330 --> 00:10:40,649 podríamos hacer usando ese transforme es decir que no detecte límites en el entorno sino que 234 00:10:40,649 --> 00:10:46,029 sea por código no lo que detecte es esas condiciones voy a quitar este vídeo body 235 00:10:46,029 --> 00:10:51,669 no me hace falta dado que estoy moviendo todo con transformó vuelvo al punto y vamos a ver 236 00:10:51,669 --> 00:10:53,889 cómo usar boleanas para este tipo 237 00:10:53,889 --> 00:10:54,350 de cosas 238 00:10:54,350 --> 00:10:57,629 otra cosa, claro 239 00:10:57,629 --> 00:11:00,129 cuando, si no usamos físicas 240 00:11:00,129 --> 00:11:01,909 aunque no usemos físicas, yo en los 241 00:11:01,909 --> 00:11:03,190 obstáculos que se van creando aquí 242 00:11:03,190 --> 00:11:05,090 les puedo ir 243 00:11:05,090 --> 00:11:07,789 aquí lo que pasa es que como están 244 00:11:07,789 --> 00:11:09,929 apareciendo y desapareciendo me van a volver loco 245 00:11:09,929 --> 00:11:11,409 pero si voy a un obstáculo 246 00:11:11,409 --> 00:11:13,909 yo puedo decirle que tenga 247 00:11:13,909 --> 00:11:15,610 me meto en el prefab 248 00:11:15,610 --> 00:11:18,129 me meto en el prefab 249 00:11:18,129 --> 00:11:19,529 y tiene un collider aquí 250 00:11:19,529 --> 00:11:22,129 si ya habéis también leído el tema 3 251 00:11:22,129 --> 00:11:23,330 hay un modo 252 00:11:23,330 --> 00:11:26,029 en el que digamos que es un obstáculo 253 00:11:26,029 --> 00:11:28,049 físico, que es cuando no tiene 254 00:11:28,049 --> 00:11:29,970 marcado este trigger, pero hay otra opción 255 00:11:29,970 --> 00:11:31,929 que es, oye voy a marcar que esto sea 256 00:11:31,929 --> 00:11:33,610 un disparador de acciones, es decir 257 00:11:33,610 --> 00:11:36,129 a nivel físico no hace nada 258 00:11:36,129 --> 00:11:38,009 es decir, lo va a atravesar cualquier 259 00:11:38,009 --> 00:11:39,610 cosa, porque está pensado para que 260 00:11:39,610 --> 00:11:42,230 cuando cruces un umbral de una puerta 261 00:11:42,230 --> 00:11:43,250 donde haya este 262 00:11:43,250 --> 00:11:45,289 límite, vale 263 00:11:45,289 --> 00:11:47,649 pues lance una acción, como por ejemplo 264 00:11:47,649 --> 00:11:49,230 que explote la nave y se reinicie el juego 265 00:11:49,230 --> 00:12:10,970 Es decir, no está chocando contra el pivote, no lo va a empujar, porque no lo está estableciendo como un colisionador como tal, sino que dice, vale, pues cuando se intersequen la nave, es decir, el collider de la nave, que al final es lo que delimita hasta donde llega esa nave, con el collider de este pivote, pues que el juego acabe o se lancen unas partículas o lo que sea. 266 00:12:10,970 --> 00:12:25,070 Esto también es importante, lo del Ease Trigger, que los colliders pueden ser para ser usados tanto como algo físico, que nos ponga un límite físico, o para que detecte que estamos tocando un cierto objeto y ocurra otra cosa. 267 00:12:26,289 --> 00:12:31,330 Ahora seguimos también. Hasta aquí, como siempre, me enrollo mucho, pero ¿qué tal? 268 00:12:32,289 --> 00:12:40,179 Bueno, Jesús Alejandro me dice que si los demás no estáis teniendo problemas. 269 00:12:40,179 --> 00:12:43,500 me veis la pantalla 270 00:12:43,500 --> 00:12:44,960 y me seguís el audio también 271 00:12:44,960 --> 00:12:47,779 si yo lo veo bien 272 00:12:47,779 --> 00:12:53,080 no sé por qué puede ser 273 00:12:53,080 --> 00:12:56,940 voy a darle 274 00:12:56,940 --> 00:13:02,840 a reiniciar 275 00:13:02,840 --> 00:13:04,759 el ordenador porque igual no lo está cogiendo 276 00:13:04,759 --> 00:13:06,440 si es que si está 277 00:13:06,440 --> 00:13:07,799 en la reunión debería estar viendo 278 00:13:07,799 --> 00:13:09,000 a ver 279 00:13:09,000 --> 00:13:11,720 tienes a mi 280 00:13:11,720 --> 00:13:19,500 si es que está viendo el de otra 281 00:13:19,500 --> 00:13:19,940 persona 282 00:13:19,940 --> 00:13:31,620 no sé 283 00:13:31,620 --> 00:13:33,539 qué le tengo yo 284 00:13:33,539 --> 00:13:45,200 bueno, mientras tanto 285 00:13:45,200 --> 00:13:46,639 más o menos me vais siguiendo 286 00:13:46,639 --> 00:13:48,919 todas estas cosas que me enrollo 287 00:13:48,919 --> 00:13:50,620 pero que hay que tener en cuenta 288 00:13:50,620 --> 00:13:57,620 entonces no 289 00:13:57,620 --> 00:14:51,789 no sé, igual tiene bloqueado algún 290 00:14:51,789 --> 00:14:53,269 bueno, el resto 291 00:14:53,269 --> 00:14:54,750 qué tal, me vais siguiendo 292 00:14:54,750 --> 00:14:57,090 a ver que se vaya grabando esto bien 293 00:14:57,090 --> 00:15:01,200 entiendo que sí 294 00:15:01,200 --> 00:15:02,159 no me decís nada 295 00:15:02,159 --> 00:15:03,679 Siendo que 296 00:15:03,679 --> 00:15:05,840 Que todo más o menos 297 00:15:05,840 --> 00:15:06,840 Vale 298 00:15:06,840 --> 00:15:09,679 Entonces, vamos a ver como 299 00:15:09,679 --> 00:15:12,960 Habéis ya explicado ciertas sutilezas 300 00:15:12,960 --> 00:15:14,340 Que hay que tener en cuenta 301 00:15:14,340 --> 00:15:16,600 Y me cargo esta pared izquierda 302 00:15:16,600 --> 00:15:17,700 Vale 303 00:15:17,700 --> 00:15:20,559 A ver que el juego esté marchando bien 304 00:15:20,559 --> 00:15:25,029 Como hacemos para que 305 00:15:25,029 --> 00:15:26,990 Por código no me permita salirme 306 00:15:26,990 --> 00:15:27,789 De estos límites, vale 307 00:15:27,789 --> 00:15:30,509 Sin recurrir a nada físico, sino a código 308 00:15:30,509 --> 00:15:32,169 Que cuando detectes ciertas posiciones 309 00:15:32,169 --> 00:15:33,350 Pues no 310 00:15:33,350 --> 00:15:53,679 No, no me dejes continuar, ¿vale? Yo tenía aquí, voy a meter aquí, le voy a dar un poquito más de tamaño, que siempre me doy cuenta que creo que lo pongo muy pequeñito, ¿vale? Tenemos las condiciones de moverse, de... etcétera. 311 00:15:53,679 --> 00:16:07,860 Lo que vamos a hacer, el planteamiento que hay que hacer, en esencia va a ser que para que se ejecute, aquí tengo comentado la biblia, para que se ejecuten estos códigos se tiene que cumplir cierta condición. 312 00:16:07,860 --> 00:16:21,240 Es decir, a veces es la tendencia pensar, pues cuando llegue a tal coordenada en X, cuando esta nave llegue aquí a X, que de pronto pare la nave. 313 00:16:21,580 --> 00:16:28,460 Y no, es mejor hacer lo contrario, que mientras la nave se encuentre dentro de los límites que queramos, sí se aplique el movimiento. 314 00:16:28,460 --> 00:16:40,500 Porque al final lo que hacemos así es acotar una región de interactividad en vez de estar desacotando, es decir, acotando los límites. 315 00:16:40,980 --> 00:16:46,820 Es mejor decirle, pues muévete cuando estés donde tienes que estar y si no, pues directamente es que no hay translate, no hay nada. 316 00:16:47,600 --> 00:16:53,000 Más que cuando llegues a tal límite que te ocurra tal cosa. 317 00:16:53,000 --> 00:17:07,859 Entonces, lo que vamos a hacer es generar los límites a donde tiene que llegar cada uno de los límites horizontal y vertical 318 00:17:07,859 --> 00:17:14,039 Y para eso vamos a ir viendo las coordenadas que queremos que se apliquen 319 00:17:14,039 --> 00:17:15,519 A ver, que yo aquí tengo un jaleo 320 00:17:15,519 --> 00:17:29,799 Bueno, como siempre, a la hora de declarar variables, lo suyo es hacerlo antes de todos los métodos que se ejecuten, ¿no? Para que sean comunes a todo el código, ¿vale? 321 00:17:29,799 --> 00:17:49,960 Entonces, para decir en qué altura en Y, en qué posición en X, se encuentra cada uno de los límites, ¿vale? Vamos a generar unos float, por ejemplo, a ver, por ejemplo, vamos a decir que por arriba sean 30. 322 00:17:49,960 --> 00:18:03,569 Vamos a ver si yo quiero que cuando la nave llegue a 30, sí, por ahí, que de ahí no pase, que todavía me estoy chocando. 323 00:18:03,769 --> 00:18:13,130 Ahora, pues definido, el límite por arriba 30 y el de abajo, pues cuando llegue a esta posición que tengo aquí, se queda aquí, no baje. 324 00:18:13,130 --> 00:18:29,690 Vamos a ponerle 5, ¿vale? Pues vamos a hacer que el límite de abajo sea de 5. Voy a ponerle 5 aquí, copio y pego para ir más rápido, ¿vale? El de arriba es este y el de abajo es este, ¿no? 325 00:18:29,690 --> 00:18:55,500 Y para x, pues lo mismo, a ver, ¿hasta dónde queremos que se mueva esto? Yo quiero que cuando la nave llegue a 30 en x, veis que hay una simetría, como hemos hecho todo simétrico, lo bueno es que con un solo valor, cambiando el signo, ya tenemos los límites. 326 00:18:55,500 --> 00:19:03,180 vale en una sola variable vamos a recoger las dos dos límites por lo mismo en vez del límite 327 00:19:03,180 --> 00:19:11,619 vertical esto va a ser horizontal y hemos dicho que iban a ser de 30 si no me equivoco esto 328 00:19:11,619 --> 00:19:16,059 significa que hemos dicho que cuando llegue a esos límites ya podemos poner una condición de 329 00:19:16,059 --> 00:19:23,339 no sobrepasas estos 31 altura no bajes de los 5 de altura vale y aparte vamos a hacer unos 330 00:19:23,339 --> 00:19:25,259 booleanos que van a ser 331 00:19:25,259 --> 00:19:26,920 las restricciones van a ser como los 332 00:19:26,920 --> 00:19:27,940 semaforitos 333 00:19:27,940 --> 00:19:31,519 verticales 334 00:19:31,519 --> 00:19:33,200 y horizontales, es decir, si este 335 00:19:33,200 --> 00:19:35,079 semaforito está en true 336 00:19:35,079 --> 00:19:36,759 es decir 337 00:19:36,759 --> 00:19:39,359 el booleano 338 00:19:39,359 --> 00:19:41,339 está activo, en ese caso 339 00:19:41,339 --> 00:19:42,720 vamos a dejar que la nave se mueva 340 00:19:42,720 --> 00:19:44,319 en vertical, ¿vale? 341 00:19:44,680 --> 00:19:47,359 y si ahora genero aquí otro 342 00:19:47,359 --> 00:19:49,079 para horizontal, pues va a ser un poco 343 00:19:49,079 --> 00:19:50,599 el mismo funcionamiento, ¿vale? 344 00:19:50,599 --> 00:19:56,319 Ahora vais a entender mejor lo que estoy haciendo si es que no me entendéis. 345 00:19:56,700 --> 00:20:05,460 ¿Por qué? Porque yo lo que voy a ir haciendo es, en cada fotograma, voy a ir revisando que se cumple estas dos condiciones. 346 00:20:06,079 --> 00:20:12,680 Y si no se cumple lo que a mí me interesa para que esté en true, para que deje mover la nave, pues hasta que no cambie la situación va a estar en false. 347 00:20:13,200 --> 00:20:14,000 Vamos a ir viendo. 348 00:20:14,000 --> 00:20:16,940 para eso, para chequear los límites 349 00:20:16,940 --> 00:20:20,259 voy a crear un método aquí 350 00:20:20,259 --> 00:20:23,359 ahora más abajo tendré que seguir especificando 351 00:20:23,359 --> 00:20:25,900 igual que hicimos con rotar nave o mover 352 00:20:25,900 --> 00:20:28,740 que la tengo ya aquí, aquí dentro se ejecutará 353 00:20:28,740 --> 00:20:31,920 cada fotograma lo que vaya diciendo, voy a hacer ahora otro método 354 00:20:31,920 --> 00:20:34,859 vacío porque no quiero que me resuelva 355 00:20:34,859 --> 00:20:38,759 que cuando lea ese método 356 00:20:38,759 --> 00:20:40,599 cuando ejecute ese método me dé ninguna cantidad 357 00:20:40,599 --> 00:20:43,779 simplemente, lo que siempre digo, cuando ponemos un void 358 00:20:43,779 --> 00:20:57,839 Lo que estamos diciendo es que este cacho de código, en vez de tenerlo aquí metido, lo puedo mencionar en varios puntos solo poniendo su nombre. Y aquí dentro, lo mismo que ya hemos hecho en otras ocasiones, voy a ir estableciendo esos límites. 359 00:20:57,839 --> 00:21:22,220 Los límites, a ver, aquí es donde hay que empezar a ver bien qué es lo que queremos lograr y qué no, ¿vale? Y vamos a empezar a hacer los límites horizontales, que creo que va a ser más fácil, es decir, que no se salga por la izquierda o la derecha donde no queramos que vaya, ¿vale? 360 00:21:22,220 --> 00:21:26,019 Vamos a hacer los límites horizontales y los verticales. 361 00:21:27,799 --> 00:21:29,299 Primero vamos a por estos. 362 00:21:30,160 --> 00:21:34,619 ¿Y cuál es la condición para que se ejecute el transform? 363 00:21:37,960 --> 00:21:40,059 ¿Cuál sería la condición? 364 00:21:40,059 --> 00:21:47,460 Que la nave esté dentro de los límites de este carril. 365 00:21:47,460 --> 00:21:52,160 y básicamente eso 366 00:21:52,160 --> 00:21:53,519 que esté dentro de los límites 367 00:21:53,519 --> 00:21:59,799 me estáis siguiendo verdad más o menos 368 00:21:59,799 --> 00:22:02,279 no sé si voy muy rápido o voy muy lento 369 00:22:02,279 --> 00:22:05,859 yo hasta ahora bien 370 00:22:05,859 --> 00:22:08,799 básicamente hemos preparado los ingredientes 371 00:22:08,799 --> 00:22:10,859 para poner unos límites 372 00:22:10,859 --> 00:22:14,480 entonces en horizontal 373 00:22:14,480 --> 00:22:17,859 vamos a ir deduciendo que hacemos 374 00:22:17,859 --> 00:22:22,559 quiero que si el transforme, es decir, la posición de esta nave 375 00:22:22,559 --> 00:22:26,180 posición en X, que es el eje que nos interesa ahora 376 00:22:26,180 --> 00:22:28,319 en horizontal solo nos interesa X 377 00:22:28,319 --> 00:22:33,440 si esta nave sobrepasa el límite horizontal 378 00:22:33,440 --> 00:22:40,480 es decir, si por la derecha pasa la posición 30 en X 379 00:22:40,480 --> 00:23:01,160 Pues yo no querré que se ejecute esta acción, ¿no? Es decir, lo que voy a hacer es que cuando sobrepase ese límite que he puesto, ¿vale? El semaforito que tengo en activo en true, que significa haz lo que tengas que hacer, ¿vale? Quiero que se vuelva falso hasta que no lo vuelva a establecer como true. 380 00:23:01,160 --> 00:23:05,039 Es decir, de primera es igual 381 00:23:05,039 --> 00:23:07,799 Es decir, es un poco farragoso 382 00:23:07,799 --> 00:23:09,519 Pero cuando esté todo, volvemos a darle una vuelta 383 00:23:09,519 --> 00:23:10,319 Que lo vais a entender 384 00:23:10,319 --> 00:23:13,420 ¿Vale? Cuando sobrepasa este límite 385 00:23:13,420 --> 00:23:15,759 ¿Vale? Pues el semáforo 386 00:23:15,759 --> 00:23:17,819 Se apaga, ya no se mueve, ya no va a sobrepasar 387 00:23:17,819 --> 00:23:19,900 Ahí. Con esto estamos diciéndole 388 00:23:19,900 --> 00:23:21,240 El límite derecho, ¿vale? 389 00:23:21,279 --> 00:23:23,599 Porque estamos diciéndole que a partir de la derecha 390 00:23:23,599 --> 00:23:25,700 Si es mayor 391 00:23:25,700 --> 00:23:27,539 La posición 392 00:23:27,539 --> 00:23:29,579 Pues ahí el semáforito rojo 393 00:23:29,579 --> 00:24:02,130 Ahora vamos a hacerlo en X, en horizontal, en la izquierda. Como hemos dicho, a diferencia de lo que habrá que hacer con lo vertical, si esto no se cumple, pasa a la siguiente condición, que si el transform de esta nave en X es, en este caso, menor, hacia la izquierda, que el menos, porque era simétrico, recordad que es menos 30, 394 00:24:02,369 --> 00:24:07,450 nos interesa ahora. Si la posición de la nave, es decir, esto no se cumple, está dentro 395 00:24:07,450 --> 00:24:14,289 del límite, pero esto sí se cumple, porque estoy yendo a una posición negativa, más 396 00:24:14,289 --> 00:24:19,650 a la izquierda del límite izquierdo, pues otra vez quiero el semaforito en rojo. Quiero 397 00:24:19,650 --> 00:24:27,130 que este in-limit hour, hour no, horizontal, se vuelva falso, ¿vale? Entonces, hasta aquí 398 00:24:27,130 --> 00:24:28,990 lo que estamos haciendo es solo que cuando 399 00:24:28,990 --> 00:24:30,450 sobrepase ciertos límites 400 00:24:30,450 --> 00:24:33,029 como que el código interprete 401 00:24:33,029 --> 00:24:35,029 que no se puede ejecutar algo, pero 402 00:24:35,029 --> 00:24:37,049 en ningún momento le estamos diciendo 403 00:24:37,049 --> 00:24:38,910 que eso suceda así, porque 404 00:24:38,910 --> 00:24:40,490 aquí esto se ve como 405 00:24:40,490 --> 00:24:43,089 ver nave, que es independiente del chequear 406 00:24:43,089 --> 00:24:44,950 límites, pues va a decir 407 00:24:44,950 --> 00:24:47,210 pues vale, si es que yo en ningún momento estoy determinando 408 00:24:47,210 --> 00:24:49,089 que el semáforo haga que me mueva o no, me voy a 409 00:24:49,089 --> 00:24:50,490 mover sí o sí, si 410 00:24:50,490 --> 00:24:53,029 y con el eje vertical 411 00:24:53,029 --> 00:24:54,950 o el horizontal le meto una interactividad 412 00:24:54,950 --> 00:24:56,950 lo que habrá que hacer es 413 00:24:56,950 --> 00:25:12,170 Oye, solo muévete. Sí. Este, por ejemplo, es el eje vertical. Vamos primero con el horizontal, que es el que estamos preparando. Sí. Y veis que aquí hay millones de condicionales. Bueno, millones. Que hay que ir estableciendo esos límites. 414 00:25:12,170 --> 00:25:28,069 Entonces, si el límite horizontal es igual, ¿vale? Recordad que si es un solo igual aquí, ¿vale? Significa que estamos, como hemos hecho hasta aquí, estamos dando un valor a la variable para que varíe la variable. 415 00:25:28,069 --> 00:25:41,529 Cuando queremos comparar que algo sea de este valor, digo, si esta variable boleana es verdadera, porque el semáforo está en verde para que haga la acción, entonces sí te mueves. 416 00:25:42,130 --> 00:25:46,410 Pero claro, en cuanto sobrepases estos límites es que va a estar falso, ¿vale? 417 00:25:47,250 --> 00:25:56,150 Hasta aquí ya lo que estamos diciéndole, solo muévete mientras el semáforo esté en verde, que por defecto está en verde, hasta que, ojo, te salga de los límites. 418 00:25:56,150 --> 00:26:22,849 Vamos a ver qué pasa hasta aquí. Todavía no va a funcionar como queremos 100%, pero ya algo vamos a notar, ya verás. Juego y yo voy a la derecha y llega un punto que voy a la derecha y ya no, ya digamos que solo puedo ir en vertical y horizontal porque ya no permite que me mueva en horizontal porque el semáforo me lo ha puesto en rojo y porque sobrepasa el límite, pero tampoco me deja volver a la izquierda. 419 00:26:22,849 --> 00:26:50,710 ¿Por qué? Porque en realidad lo que hemos hecho es decirle, muévete en horizontal solo si es verdadero, pero claro, aquí de pronto lo he puesto en falso y en ningún momento he vuelto a ponerlo en verdadero, ¿vale? Hay que hacer siempre las condiciones de boleanas, hay que pensar en que, vale, sí, en ciertas circunstancias, pues pongo el semáforito en rojo, pero claro, también habrá que hacer que esto vuelva al verde, ¿no? 420 00:26:50,710 --> 00:27:15,529 Si no se cumple ninguna de estas porque está dentro de los límites, pues oye, si no, lo que quiero es que el semáforo se vuelva verde. Esto como lo está comprobando, cuando no se cumpla esto, verdadero. 421 00:27:15,529 --> 00:27:22,750 Es decir, yo como estoy definiendo, vuelvo aquí, estoy diciéndole que en horizontal solo se mueva cuando sea true, 422 00:27:23,089 --> 00:27:28,950 pues cuando esté dentro de los límites, que vuelve otra vez el semáforo a true, pues sí me deja moverme. 423 00:27:29,029 --> 00:27:32,349 Si no, es que directamente no existe el translate, no lo ejecuta. 424 00:27:32,789 --> 00:27:36,069 Vamos a ver qué pasa, que todavía no va a funcionar, pero ya vamos más cerca. 425 00:27:36,069 --> 00:27:44,059 vale, voy para allá 426 00:27:44,059 --> 00:27:45,740 y nuevamente 427 00:27:45,740 --> 00:27:47,680 no me deja 428 00:27:47,680 --> 00:27:50,160 volver a la izquierda 429 00:27:50,160 --> 00:27:51,240 estoy igual que antes 430 00:27:51,240 --> 00:27:53,940 y el semáforo 431 00:27:53,940 --> 00:27:55,980 igual está en verde, pero si os fijáis 432 00:27:55,980 --> 00:27:58,359 y aquí hay un matiz puñetero 433 00:27:58,359 --> 00:27:59,460 si me ponen un itis 434 00:27:59,460 --> 00:28:02,119 que es que vale, yo he ido a la derecha hasta el 30 435 00:28:02,119 --> 00:28:03,779 pero por la propia inercia 436 00:28:03,779 --> 00:28:05,619 del transform, veis que 437 00:28:05,619 --> 00:28:07,220 se ha pasado del 30 438 00:28:07,220 --> 00:28:09,460 ahora es 30,0133 439 00:28:09,460 --> 00:28:18,940 y por tanto está todo el rato sobrepasando este límite y por tanto siempre es falso, no me deja volver a poner el semáforo en verde, ¿vale? 440 00:28:18,940 --> 00:28:26,180 Entonces, normalmente cuando usamos el transform, porque si usamos físicas, los objetos rebotan y vuelven un poco a la posición dentro del rango, ¿no? 441 00:28:26,740 --> 00:28:36,819 Porque no te dejan sobrepasar la pared y aquí, sin embargo, veis que la condición se sigue cumpliendo para que sea falso porque es superior, se está cumpliendo esto, ¿vale? 442 00:28:36,819 --> 00:29:01,900 Entonces, en este caso, lo que hay que hacer es poner más condiciones. Ojo, si el límite es mayor que X, y el movimiento, esto no sé si lo miramos en su momento, 443 00:29:01,900 --> 00:29:17,019 pero hay condicionales que puede ser más de una condición, es decir, cuando la posición de X sea mayor que el límite y además también otra cosa, pues que se ejecute. 444 00:29:17,019 --> 00:29:27,279 Si no se cumplen las dos, pues no se ejecuta. Esto es, si pongo el doble Y, que si os dais cuenta, siempre que ponemos un condicional tiene dos signos. 445 00:29:27,279 --> 00:29:38,039 Es decir, antes cuando hemos hecho el igual, el comparativo, eran dos signos. Cuando hacemos como condiciones de comparación o sumar condiciones, veis que se duplican los símbolos. 446 00:29:38,039 --> 00:30:08,599 De hecho, para decirle quiero que se cumpla o no, es decir, que se cumpla la condición con una de estas variables, imaginaos que yo ahora mismo le digo quiero que si es mayor de x o, vale, que este era otro de los condiciones, las dos barritas que se sacan con el algerre y el número 1, vale, van sacando barritas y vuelvo a poner barritas así, si yo le digo aquí otra condición, voy a copiar esta rápidamente, vale, 447 00:30:08,599 --> 00:30:28,319 Ahora mismo esta condición se va a cumplir si o esta o esta se cumplen, no tienen que ser simultáneas, es decir, ahora mismo esta línea haría igual porque lo estamos simplificando en esta línea, pero también puedo decirle que se tiene que cumplir esta y esta, ¿vale? Para que se cumpla, ¿vale? 448 00:30:28,319 --> 00:30:42,619 Entonces, esto no me interesa porque ahora mismo esta primera condición no tendría sentido. Bueno, sí, sí tendría sentido porque si... En realidad esta es la que tiene sentido de las dos. 449 00:30:42,619 --> 00:30:58,880 Si le digo que al sobrepasar tanto el límite derecho como el límite izquierdo, si hago las dos cosas, no, al contrario, no tiene sentido porque tendría que ser uno. No se pueden cumplir las dos a la vez porque no puede estar a la derecha del todo y a la izquierda del todo a la vez. 450 00:30:58,880 --> 00:31:15,039 Sería, en todo caso, si una de estas dos se cumple, pues falso. De todos modos, por lo que estoy diciendo esto, no es por esto, es otra forma que se podría llegar para simplificar condiciones o hacer conjuntivas, es decir, que sean condiciones que se van añadiendo distintos condicionantes. 451 00:31:15,039 --> 00:31:41,559 Entonces, ¿cómo va a ser el caso? Yo lo que le voy a decir es, si el transforme en X es mayor que el límite que he puesto a la derecha y además el movimiento horizontal, es decir, el input que estoy haciendo aquí, recordad que teníamos un float, que va a recoger la interacción que estamos haciendo del eje. 452 00:31:41,559 --> 00:31:42,720 que en este caso es 453 00:31:42,720 --> 00:31:45,420 el a es menos uno y el a es uno 454 00:31:45,420 --> 00:31:47,460 os acordáis, ¿no? de que no es un 455 00:31:47,460 --> 00:31:49,240 getButton que es un valor de boleana 456 00:31:49,240 --> 00:31:51,400 de se activa o no se activa y ejecutación 457 00:31:51,400 --> 00:31:53,140 sino que aquí tiene un valor intermedio 458 00:31:53,140 --> 00:31:54,599 de menos uno a uno, ¿no? 459 00:31:55,119 --> 00:31:57,319 si yo le digo que este eje horizontal 460 00:31:57,319 --> 00:31:59,640 eje horizontal 461 00:31:59,640 --> 00:32:01,500 tiene que ser 462 00:32:01,500 --> 00:32:03,359 si es mayor que cero 463 00:32:03,359 --> 00:32:05,180 ¿vale? es decir 464 00:32:05,180 --> 00:32:06,579 a ver, si 465 00:32:06,579 --> 00:32:09,099 estoy yendo 466 00:32:09,099 --> 00:32:10,539 más allá del límite 467 00:32:10,539 --> 00:32:25,720 hacia la derecha. Y además, yo le estoy dando un positivo, es decir, le estoy dando a la D porque quiere ir aún más a la derecha. Esto sería de 0 a 1, que es lo que se aplica en positivo en el eje que tenemos ahora es ir hacia la derecha. 468 00:32:25,720 --> 00:32:47,299 Si se cumplen estas dos, falso. Pero si una se cumple y otra no, no se cumple la condición y por tanto salta. Y seguiría saltando. Si aquí hago otra vez esto, pero invertido. Es decir, si ya estoy en el límite izquierdo y además también tienes que estar intentando ir más a la izquierda, que en este caso sería negativo, pues falso. 469 00:32:47,299 --> 00:32:55,380 pero si una de las dos no se cumple, es decir, que yo he llegado a ese límite pero dejo de pulsar la tecla de ir a la izquierda para ir aún más, 470 00:32:55,960 --> 00:33:02,279 pues en ese caso al final llega un momento que, bueno, en un momento no, en el siguiente fotograma se va a convertir en true, ¿vale? 471 00:33:02,279 --> 00:33:11,319 Y entonces ya el semaforito se abre para que, voy al translate, para que me deje otra vez moverme, ¿vale? Vamos a ver, a ver si funciona, 472 00:33:11,319 --> 00:33:13,720 que ya debería, esto está aquí ejecutando 473 00:33:13,720 --> 00:33:14,720 tan ricamente 474 00:33:14,720 --> 00:33:17,859 vale, vamos a ver 475 00:33:17,859 --> 00:33:19,700 en vertical 476 00:33:19,700 --> 00:33:21,420 todavía hace lo que le da la gana 477 00:33:21,420 --> 00:33:23,000 y yo voy a la derecha 478 00:33:23,000 --> 00:33:25,660 y me he pasado de este límite 479 00:33:25,660 --> 00:33:27,359 como antes, el semáforito se ha puesto en rojo 480 00:33:27,359 --> 00:33:29,339 pero como para que el semáforito 481 00:33:29,339 --> 00:33:31,279 siga rojo, tiene que, aunque 482 00:33:31,279 --> 00:33:32,200 no se cumpla esta 483 00:33:32,200 --> 00:33:35,359 si se cumple la otra, va pasando 484 00:33:35,359 --> 00:33:36,779 condiciones para que vuelva a hacerlo 485 00:33:36,779 --> 00:33:38,400 vais a ver que 486 00:33:38,400 --> 00:33:40,599 yo ahora mismo estoy dando a la D 487 00:33:40,599 --> 00:33:43,380 y nada, pero sí me deja ir hacia la izquierda 488 00:33:43,380 --> 00:33:45,180 es decir, cuando yo dejo de pulsar 489 00:33:45,180 --> 00:33:47,559 la tecla D para seguir yendo a la derecha 490 00:33:47,559 --> 00:33:49,319 el semaforito pasa a verdadero 491 00:33:49,319 --> 00:33:51,339 y ya puedo otra vez hacerlo 492 00:33:51,339 --> 00:33:53,400 si no me creéis 493 00:33:53,400 --> 00:33:55,240 que entiendo que es, que por qué no 494 00:33:55,240 --> 00:33:57,339 me vais a creer, también se puede hacer 495 00:33:57,339 --> 00:33:59,200 para comprobar cuando una booleana 496 00:33:59,200 --> 00:34:01,220 es true y cuando es false, recordad que 497 00:34:01,220 --> 00:34:03,420 está nuestro querido debug log 498 00:34:03,420 --> 00:34:04,579 para ir dando mensajes 499 00:34:04,579 --> 00:34:07,220 en el que en todo momento, si ponemos 500 00:34:07,220 --> 00:34:09,599 la variable que queremos comprobar 501 00:34:09,599 --> 00:34:11,940 que en este caso es inLimitOrg, como es booleano 502 00:34:11,940 --> 00:34:13,840 nos va a ir diciendo, pues ahora está en true 503 00:34:13,840 --> 00:34:15,280 ahora está en false, vale 504 00:34:15,280 --> 00:34:16,800 es decir, si yo ahora voy 505 00:34:16,800 --> 00:34:18,420 a la consola 506 00:34:18,420 --> 00:34:23,719 que piense, me ha puesto 507 00:34:23,719 --> 00:34:25,980 una advertencia de un código 508 00:34:25,980 --> 00:34:28,059 nada, si yo le doy al play 509 00:34:28,059 --> 00:34:29,559 va a empezar en true, porque 510 00:34:29,559 --> 00:34:30,659 el efecto lo tengo en true 511 00:34:30,659 --> 00:34:34,039 cuando llegue a la pared y siga pulsando 512 00:34:34,039 --> 00:34:35,920 veis que ahora se ha puesto en false, y sigo pulsando 513 00:34:35,920 --> 00:34:37,800 la D, por eso sigue el semáforo en rojo 514 00:34:37,800 --> 00:34:39,800 pero en cuanto yo suelte, que lo voy a hacer ya 515 00:34:39,800 --> 00:34:42,719 en cuanto suelte la tecla de intentar ir más a la derecha 516 00:34:42,719 --> 00:34:43,320 me ponen true 517 00:34:43,320 --> 00:34:46,599 y si vuelvo a intentar ir a la derecha se me pone false otra vez 518 00:34:46,599 --> 00:34:48,179 porque se cumplen otra vez las dos condiciones 519 00:34:48,179 --> 00:34:49,960 pero cuando suelto una de las dos 520 00:34:49,960 --> 00:34:52,800 de la conjunción 521 00:34:52,800 --> 00:34:54,920 de decir esta deja de 522 00:34:54,920 --> 00:34:56,699 existir y por tanto no se 523 00:34:56,699 --> 00:34:58,539 cumple todo, pues ala, voy a la siguiente línea 524 00:34:58,539 --> 00:34:59,519 hasta el final 525 00:34:59,519 --> 00:35:02,699 voy al otro límite, igual, si yo intento 526 00:35:02,699 --> 00:35:04,239 ir más a la izquierda, false 527 00:35:04,239 --> 00:35:06,320 cuando suelto esa tecla A, ya está 528 00:35:06,320 --> 00:35:08,659 ya tenemos un límite aquí 529 00:35:09,800 --> 00:35:23,340 ¿Vale? ¿Hasta aquí qué tal? ¿Veis que al final lo que hay que pensar es qué condiciones damos para que el semáforo me permita hacer la otra acción? Estamos como cruzando un poco acciones. Esto lo voy a quitar. 530 00:35:23,340 --> 00:35:26,239 que ha cumplido su concierto 531 00:35:26,239 --> 00:35:27,699 ¿qué tal hasta aquí? 532 00:35:28,639 --> 00:35:29,840 es un poco farragoso 533 00:35:29,840 --> 00:35:31,920 pero es como si escribierais en un papel 534 00:35:31,920 --> 00:35:33,920 para que se cumpla esta condición tiene que 535 00:35:33,920 --> 00:35:35,960 hacerse tal y tal, si un adelardo no se hace 536 00:35:35,960 --> 00:35:37,920 pues entonces sí que lo puedo hacer 537 00:35:37,920 --> 00:35:39,739 pues hay que trasladarlo a nivel código 538 00:35:39,739 --> 00:35:41,340 un poco jaleo 539 00:35:41,340 --> 00:35:42,800 seguramente, pero 540 00:35:42,800 --> 00:35:44,179 ¿qué tal? 541 00:35:46,360 --> 00:35:46,840 ¿sí? 542 00:35:47,400 --> 00:35:48,920 hasta esto, digamos 543 00:35:48,920 --> 00:35:50,840 a ver, espera que se me esté grabando esto 544 00:35:50,840 --> 00:35:51,039 vale 545 00:35:51,039 --> 00:35:54,659 habíais llegado a algo parecido 546 00:35:54,659 --> 00:35:56,519 habéis visto el uso de los booleanos así 547 00:35:56,519 --> 00:35:58,139 o como que es algo que os está 548 00:35:58,139 --> 00:36:00,539 siendo interesante, digo que igual esto ya habíais 549 00:36:00,539 --> 00:36:02,360 llegado a llegar 550 00:36:02,360 --> 00:36:04,619 que me acuerdo que el otro día teníais como el problema de lo de los 551 00:36:04,619 --> 00:36:06,280 límites, pero bueno 552 00:36:06,280 --> 00:36:07,699 a mí la 553 00:36:07,699 --> 00:36:10,480 parte esta de lo de limitarlo con la 554 00:36:10,480 --> 00:36:12,519 flecha y tal, vamos, con la pulsación 555 00:36:12,519 --> 00:36:14,719 de la tecla, la verdad es que no se me había 556 00:36:14,719 --> 00:36:16,239 ocurrido y no encontré la manera de 557 00:36:16,239 --> 00:36:17,780 sacarlo por booleanos 558 00:36:17,780 --> 00:36:20,480 es lógico, y si yo 559 00:36:20,480 --> 00:36:22,239 llego a esta solución a veces es porque 560 00:36:22,239 --> 00:36:24,000 miro el código de otro juego 561 00:36:24,000 --> 00:36:25,360 o de otras cosas que tengo 562 00:36:25,360 --> 00:36:27,579 que es normal, es que esto 563 00:36:27,579 --> 00:36:30,420 ya entiendo que cuando eres desarrollador 564 00:36:30,420 --> 00:36:32,400 pro, pues claro, ya es que tienes 565 00:36:32,400 --> 00:36:34,219 interiorizada la forma de pensar, pero es que es verdad 566 00:36:34,219 --> 00:36:35,820 que es intentar traducir 567 00:36:35,820 --> 00:36:38,440 oye, pues ya si sigo dando a la derecha 568 00:36:38,440 --> 00:36:40,380 al botón, pues que no funcione 569 00:36:40,380 --> 00:36:42,380 pues hay que trasladarlo a que en realidad 570 00:36:42,380 --> 00:36:44,340 son números, y ya está 571 00:36:44,340 --> 00:36:46,400 ¿vale? si queréis hacemos 572 00:36:46,400 --> 00:36:48,420 muy rápido el vertical, que la diferencia 573 00:36:48,420 --> 00:36:49,940 que tiene es que no es 574 00:36:49,940 --> 00:36:52,440 tan directo, en el sentido de que no es 575 00:36:52,440 --> 00:36:54,199 un positivo y un negativo y hay que 576 00:36:54,199 --> 00:36:56,159 relacionarlo con el límite superior e inferior 577 00:36:56,159 --> 00:36:58,079 básicamente 578 00:36:58,079 --> 00:36:59,880 sería lo mismo, lo hacemos rápido 579 00:36:59,880 --> 00:37:02,079 o queréis ya 580 00:37:02,079 --> 00:37:03,519 probarlo vosotros por vuestro lado 581 00:37:03,519 --> 00:37:08,960 venga, lo voy a hacer rapidete 582 00:37:08,960 --> 00:37:10,980 ¿vale? importante 583 00:37:10,980 --> 00:37:13,119 también, esto se está comprobando 584 00:37:13,119 --> 00:37:15,019 cada fotograma porque el método lo he puesto 585 00:37:15,019 --> 00:37:17,079 aquí en el update, ¿vale? no olvidéis este 586 00:37:17,079 --> 00:37:19,320 paso, todo método para que se ejecute 587 00:37:19,320 --> 00:37:20,599 aunque lo tengas aquí preparado 588 00:37:20,599 --> 00:37:22,559 hay que decirle en qué momento 589 00:37:22,559 --> 00:37:26,239 se ejecuta. En todo momento está comprobando los límites para 590 00:37:26,239 --> 00:37:30,559 cambiar estos semaforitos, el vertical y el horizontal. Vamos a poner vertical 591 00:37:30,559 --> 00:37:34,679 muy rápido, venga. El vertical, de hecho 592 00:37:34,679 --> 00:37:38,659 mira, voy a copiar esto y vamos a ir traduciéndolo 593 00:37:38,659 --> 00:37:42,559 ¿vale? Aquí en el vertical el eje que nos importa es el i 594 00:37:42,559 --> 00:37:46,760 y le decimos si en el eje i es superior al 595 00:37:46,760 --> 00:37:50,039 límite vertical, creo que lo he llamado 596 00:37:50,039 --> 00:37:56,119 si, intento pasarme 597 00:37:56,119 --> 00:37:56,980 de la raya de aquí 598 00:37:56,980 --> 00:38:00,139 y ahora no es la tecla 599 00:38:00,139 --> 00:38:02,039 el eje horizontal el que tengo que tocar 600 00:38:02,039 --> 00:38:03,579 porque si tocas la A y la D 601 00:38:03,579 --> 00:38:05,820 va a decir 602 00:38:05,820 --> 00:38:07,760 si subes y aparte tocas la D 603 00:38:07,760 --> 00:38:10,500 que es para ir a la derecha, no te dejo moverte 604 00:38:10,500 --> 00:38:12,000 hacia arriba, pues no tiene sentido 605 00:38:12,000 --> 00:38:13,960 el eje que ahora nos interesa 606 00:38:13,960 --> 00:38:15,599 es el de la W y la S 607 00:38:15,599 --> 00:38:18,239 que es el vertical, lo teníamos preparado como vertical 608 00:38:18,239 --> 00:38:19,400 si no me equivoco, ahí está 609 00:38:19,400 --> 00:38:21,679 ¿vale? si esto lo hago 610 00:38:21,679 --> 00:38:23,440 el límite vertical 611 00:38:23,440 --> 00:38:24,780 que no es el mismo porque 612 00:38:24,780 --> 00:38:31,239 claro, aquí ahora mismo 613 00:38:31,239 --> 00:38:33,480 no se está cumpliendo la condición 614 00:38:33,480 --> 00:38:35,719 no hay nada que le limite, pero es que yo le voy a decir 615 00:38:35,719 --> 00:38:37,119 no, no, tranquilito 616 00:38:37,119 --> 00:38:38,500 que hasta que en este booleano 617 00:38:38,500 --> 00:38:40,539 el límite vertical 618 00:38:40,539 --> 00:38:42,280 no valga true 619 00:38:42,280 --> 00:38:45,559 ¿vale? no se va a ejecutar esto 620 00:38:45,559 --> 00:38:47,300 por cierto 621 00:38:47,300 --> 00:38:48,360 bueno, lo pongo 622 00:38:48,360 --> 00:39:11,420 Por cierto, ¿vale? Se puede, cuando es una booleana y queremos que esto sea true, ¿vale? Si ponemos así esto, ¿vale? Una booleana, si está presente esto, se entiende que es que es igual a 1, a verdadero, ¿vale? Lo digo que esto y lo que tenía escrito antes de esto es exactamente lo mismo, ¿vale? Si alguna vez lo encontráis simplificado. 623 00:39:11,420 --> 00:39:14,440 si esto está activo 624 00:39:14,440 --> 00:39:16,059 esta booleana, pues que se ejecute 625 00:39:16,059 --> 00:39:18,380 si no, no, entonces sería lo mismo 626 00:39:18,380 --> 00:39:20,139 bueno, de hecho, mira, lo voy a quitar 627 00:39:20,139 --> 00:39:21,159 para que veas que funciona 628 00:39:21,159 --> 00:39:23,920 entonces, cuando este semáforo sea verdadero, pues sí 629 00:39:23,920 --> 00:39:25,239 puede subir y bajar 630 00:39:25,239 --> 00:39:28,039 ¿ahí en esa parte de ahí 631 00:39:28,039 --> 00:39:29,539 no sería más práctico un while? 632 00:39:29,739 --> 00:39:30,900 por ejemplo, en vez de un if 633 00:39:30,900 --> 00:39:33,539 no, porque el while lo que hace es 634 00:39:33,539 --> 00:39:35,719 ejecutar en bucle una acción 635 00:39:35,719 --> 00:39:39,340 ¿vale? y que sería 636 00:39:39,340 --> 00:39:41,519 claro, tú lo que querrías decir es 637 00:39:41,519 --> 00:39:42,639 mientras 638 00:39:42,639 --> 00:39:45,239 mientras esa booleana sea 639 00:39:45,239 --> 00:39:47,219 claro, pero 640 00:39:47,219 --> 00:39:48,559 el problema del 641 00:39:48,559 --> 00:39:50,880 el problema del while es que se ejecuta en bucle 642 00:39:50,880 --> 00:39:52,619 dentro de un fotograma infinitas veces 643 00:39:52,619 --> 00:39:53,539 si es necesario 644 00:39:53,539 --> 00:39:56,179 entonces, si tú dices, vale, mientras 645 00:39:56,179 --> 00:39:58,579 esto sea 646 00:39:58,579 --> 00:40:00,219 activo, vale, pues que se 647 00:40:00,219 --> 00:40:01,860 vamos, lo mismo pero con el while, ¿no? 648 00:40:02,480 --> 00:40:04,320 esto al final el problema que va a tener es 649 00:40:04,320 --> 00:40:06,440 que dentro de cada fotograma no hay nada que lo pare 650 00:40:06,440 --> 00:40:08,519 esto se usa mucho pues con las corrutinas 651 00:40:08,519 --> 00:40:15,000 para que no deje de hacer el ciclo vale de cuando activas una rutina y se vaya y lo vas deteniendo 652 00:40:15,000 --> 00:40:19,019 de vez en cuando pero si no es que aquí haces un bucle infinito porque estás sumando cada una 653 00:40:19,019 --> 00:40:25,980 de las vueltas dentro de un fotograma no sé si me explico si yo pensaba que era igual pero 654 00:40:25,980 --> 00:40:33,079 simplemente cuando no tenía que aplicarle más claro es como si pones un foro si tú por ejemplo 655 00:40:33,079 --> 00:40:38,900 ejemplo instancia es algo en un for y le dices for y le pones una condición infinita no claro 656 00:40:38,900 --> 00:40:45,079 si quieres generar cinco instancias en un solo fotograma tienes que usar un bucle que funcione 657 00:40:45,079 --> 00:40:51,340 a la vez es decir que de las vueltas en un solo en un solo caso aquí al final el ir se ejecuta 658 00:40:51,340 --> 00:40:56,139 una vez porque se da la condición pero no está diciendo vuelve a mirar si esto está verdadero 659 00:40:56,139 --> 00:41:02,480 dentro sabes que va dando vueltas infinitas si necesita generar cinco instancias en un solo 660 00:41:02,480 --> 00:41:04,380 momento con una sola condición, pues necesitas 661 00:41:04,380 --> 00:41:06,340 un while que a la quinta 662 00:41:06,340 --> 00:41:08,300 vuelta deje de 663 00:41:08,300 --> 00:41:10,519 estar activo, cosa que no estamos haciendo, ¿vale? 664 00:41:10,519 --> 00:41:12,280 Porque no hay nada que limite dentro de un fotograma 665 00:41:12,280 --> 00:41:14,500 que algo no ocurra. Pero si tú 666 00:41:14,500 --> 00:41:16,380 haces el for, que es un poco 667 00:41:16,380 --> 00:41:18,260 diferente, ¿no? En el for, si os acordáis, 668 00:41:18,940 --> 00:41:20,079 se puede poner que 669 00:41:20,079 --> 00:41:22,460 al dar varias vueltas hay una condición que lo para, 670 00:41:22,519 --> 00:41:24,280 ¿no? Bueno, me estoy yendo un poco otra vez. 671 00:41:24,760 --> 00:41:26,320 Entonces, hasta que haga cinco, 672 00:41:26,619 --> 00:41:28,460 aparecen las cinco en el mismo fotograma, 673 00:41:28,480 --> 00:41:30,400 ¿vale? Se usa para ese tipo 674 00:41:30,400 --> 00:41:32,400 de cosas, para cosas instantáneas, pero si no 675 00:41:32,400 --> 00:41:38,199 Pones una condición que lo pare, se peta el juego, que es lo que ponía en el primer tema esto de bucle infinito. 676 00:41:39,619 --> 00:41:45,980 Entonces, si no es para un bucle o con una corrutina que lo va deteniendo para que no deje de ejecutarse, 677 00:41:46,159 --> 00:41:50,880 pero hay algo que le está parando para que se ejecute cada cierto tiempo, como en esta corrutina que vimos. 678 00:41:51,639 --> 00:41:55,300 Pues entonces los bucles no te van a servir para esto. 679 00:41:56,820 --> 00:42:00,860 Entonces, si este semáforo está en verde, pues sí que te deja moverte. 680 00:42:01,119 --> 00:42:02,219 Entonces, un poquito lo mismo. 681 00:42:02,400 --> 00:42:05,579 si intento ir para arriba 682 00:42:05,579 --> 00:42:07,039 y sigo pulsando para arriba 683 00:42:07,039 --> 00:42:08,780 que es el positivo de este eje 684 00:42:08,780 --> 00:42:11,320 pues no, chicos, no puede ser más para arriba 685 00:42:11,320 --> 00:42:13,500 si tenemos aquí 686 00:42:13,500 --> 00:42:15,659 el eje Y que está por debajo 687 00:42:15,659 --> 00:42:17,519 ¿vale? 688 00:42:17,559 --> 00:42:19,320 y quito el menos porque ahora no es un menos 689 00:42:19,320 --> 00:42:21,340 ahora lo que estoy diciéndoles es el límite 690 00:42:21,340 --> 00:42:23,260 vertical de abajo que hemos puesto, es decir 691 00:42:23,260 --> 00:42:24,699 bueno, creo que 692 00:42:24,699 --> 00:42:27,300 tengo que cambiar porque lo estoy poniendo mal 693 00:42:27,300 --> 00:42:29,539 a ver, espera que me llevan el teléfono 694 00:42:29,539 --> 00:42:31,179 un segundito, perdona, vale 695 00:42:31,179 --> 00:42:34,860 esto lo había puesto como 696 00:42:34,860 --> 00:42:35,960 vert down 697 00:42:35,960 --> 00:42:38,940 ahí lo tengo down 698 00:42:38,940 --> 00:42:40,800 si, vale 699 00:42:40,800 --> 00:42:43,460 y aquí lo había puesto mayor a menos 700 00:42:43,460 --> 00:42:44,579 pero ahora en realidad es 701 00:42:44,579 --> 00:42:46,780 si el i es más bajo 702 00:42:46,780 --> 00:42:49,300 que 5, es decir, si intento bajar 703 00:42:49,300 --> 00:42:50,739 y el eje vertical 704 00:42:50,739 --> 00:42:52,880 esto es que un poco 705 00:42:52,880 --> 00:42:54,800 joder, están pesadas, perdonad 706 00:42:54,800 --> 00:42:57,320 que me están llamando aquí 20 veces 707 00:42:57,320 --> 00:43:03,579 vale, si el eje 708 00:43:03,579 --> 00:43:11,179 vertical yo además estoy presionando para que sea lo negativo vale pues igual falsa y si no 709 00:43:11,179 --> 00:43:17,679 pues entonces si te dejo moverte vale sería lo mismo solo ha cambiado que los límites se 710 00:43:17,679 --> 00:43:23,139 ponen de otra forma pero la lógica es si subo del límite que le he puesto arriba mal y si bajo del 711 00:43:23,139 --> 00:43:27,280 límite que le he puesto arriba mal es decir que le tengan movimientos y además estoy pulsando ese 712 00:43:27,280 --> 00:43:33,820 botón. ¿Por qué? Porque si quitamos esta condición, al final, como por inercia se 713 00:43:33,820 --> 00:43:39,500 pasa de este límite, pues sí se cumple esta condición constantemente y entonces está 714 00:43:39,500 --> 00:43:46,500 en false. Pero cuando yo digo que las dos se tengan que ejecutar, ahí sí que no se 715 00:43:46,500 --> 00:43:51,360 cumple la condición. Porque cuando dejo de pulsar este botón de abajo, automáticamente 716 00:43:51,360 --> 00:43:53,400 o de arriba va a pasar a false 717 00:43:53,400 --> 00:43:55,280 a true, entonces hay un momento 718 00:43:55,280 --> 00:43:56,719 hay una forma de digamos 719 00:43:56,719 --> 00:43:59,300 resetear las condiciones 720 00:43:59,300 --> 00:44:00,280 para que llegue al true 721 00:44:00,280 --> 00:44:03,559 bueno, vamos a probarlo 722 00:44:03,559 --> 00:44:05,179 y si funciona 723 00:44:05,179 --> 00:44:06,920 sin dudas 724 00:44:06,920 --> 00:44:09,119 más o menos ya tendríamos esto en límite 725 00:44:09,119 --> 00:44:12,579 yo voy para arriba 726 00:44:12,579 --> 00:44:14,860 y le sigo dando y ya no sube más 727 00:44:14,860 --> 00:44:15,860 le doy para abajo 728 00:44:15,860 --> 00:44:18,460 y aquí no me está bajando 729 00:44:18,460 --> 00:44:21,380 hemos encontrado 730 00:44:21,380 --> 00:44:22,400 ahí un 731 00:44:23,000 --> 00:44:24,920 a ver 732 00:44:24,920 --> 00:44:28,300 vale, creo que alguna de las condiciones 733 00:44:28,300 --> 00:44:29,280 no la he puesto bien 734 00:44:29,280 --> 00:44:33,250 ah, vale 735 00:44:33,250 --> 00:44:35,889 veis que aquí he dejado que el semáforo 736 00:44:35,889 --> 00:44:37,449 está influyendo al horizontal 737 00:44:37,449 --> 00:44:39,829 y no al vertical, pues estoy mezclando 738 00:44:39,829 --> 00:44:41,889 conceptos 739 00:44:41,889 --> 00:44:43,190 vamos a ver ahora 740 00:44:43,190 --> 00:44:45,590 ahora la programación 741 00:44:45,590 --> 00:44:46,809 es eso, que es un poco 742 00:44:46,809 --> 00:44:48,190 tejiguera 743 00:44:48,190 --> 00:44:50,789 está demasiado definido 744 00:44:50,789 --> 00:44:53,530 vale, subo 745 00:44:53,530 --> 00:44:55,309 bajo y aunque yo le dé 746 00:44:55,309 --> 00:44:57,489 supongo que lo oís, aunque le dé a la S 747 00:44:57,489 --> 00:44:58,789 más, ya nada, cuando suelto 748 00:44:58,789 --> 00:45:00,630 se resetea el semáforo y ya puedo subir 749 00:45:00,630 --> 00:45:03,289 izquierda, derecha y ya lo tengo 750 00:45:03,289 --> 00:45:05,769 perdona, Daniel, no sé si me escuchas 751 00:45:05,769 --> 00:45:06,530 sí, sí, me escuchas 752 00:45:06,530 --> 00:45:09,869 se nos ha cortado en la explicación anterior 753 00:45:09,869 --> 00:45:11,289 se te ha caído internet o lo que sea 754 00:45:11,289 --> 00:45:12,409 se ha desconectado y no 755 00:45:12,409 --> 00:45:14,630 y no hemos visto nada 756 00:45:14,630 --> 00:45:17,409 vale, ¿desde qué punto? 757 00:45:22,980 --> 00:45:23,699 desde este 758 00:45:23,699 --> 00:45:24,860 las verticales 759 00:45:24,860 --> 00:45:27,940 pues eso, básicamente es lo mismo 760 00:45:27,940 --> 00:45:29,000 que habíamos hecho con la X 761 00:45:29,000 --> 00:45:31,800 pero con el eje vertical 762 00:45:31,800 --> 00:45:33,760 y claro, no me estaba funcionando porque aquí 763 00:45:33,760 --> 00:45:35,639 no había dicho que el semáforo estaba 764 00:45:35,639 --> 00:45:37,539 afectando 765 00:45:37,539 --> 00:45:38,900 con el Y 766 00:45:38,900 --> 00:45:41,900 al semáforo del vertical, por eso sí que podía 767 00:45:41,900 --> 00:45:43,400 seguir subiendo o bajando pero no 768 00:45:43,400 --> 00:45:45,079 ir a la derecha o izquierda 769 00:45:45,079 --> 00:45:47,500 entonces hay que tener cuidado con 770 00:45:47,500 --> 00:45:49,519 saber que estamos afectando 771 00:45:49,519 --> 00:45:51,480 aquí el semáforo solo afecta a lo vertical 772 00:45:51,480 --> 00:45:52,460 que es el que 773 00:45:52,460 --> 00:45:55,780 permite esta condición 774 00:45:55,780 --> 00:45:57,840 para que se haga el translate solo arriba y abajo 775 00:45:57,840 --> 00:46:00,960 y luego el horizontal que es el de derecha a izquierda 776 00:46:00,960 --> 00:46:01,139 ¿vale? 777 00:46:02,099 --> 00:46:03,000 más o menos 778 00:46:03,000 --> 00:46:06,579 era lo mismo, si me has estado siguiendo en lo de horizontal 779 00:46:06,579 --> 00:46:08,539 vertical es un poco lo mismo 780 00:46:08,539 --> 00:46:09,539 ¿vale? 781 00:46:11,000 --> 00:46:12,320 a ver, aquí 782 00:46:12,320 --> 00:46:14,059 vuelvo, voy con vosotros 783 00:46:14,059 --> 00:46:15,920 porque la... 784 00:46:15,920 --> 00:46:18,380 sí, se sigue cayendo, ya se ha recuperado el tema 785 00:46:18,380 --> 00:46:20,219 ahí ya 786 00:46:20,219 --> 00:46:21,179 ya está bien 787 00:46:21,179 --> 00:46:24,219 a ver, por ejemplo Gonzalo y no sé 788 00:46:24,219 --> 00:46:25,079 quién más me lo ha dicho 789 00:46:25,079 --> 00:46:30,179 es que bueno estoy cogiendo el internet 790 00:46:30,179 --> 00:46:32,219 del móvil y como me han llamado yo creo que se ha ido 791 00:46:32,219 --> 00:46:33,099 con la pinza 792 00:46:33,099 --> 00:46:36,119 vale hasta aquí que tal 793 00:46:36,119 --> 00:46:37,500 más o menos la práctica 794 00:46:37,500 --> 00:46:39,019 del tema 2 795 00:46:39,019 --> 00:46:41,639 vueltas y rechibros y 796 00:46:41,639 --> 00:46:44,099 sutiletas más o menos la hemos visto 797 00:46:44,099 --> 00:46:44,480 entera 798 00:46:44,480 --> 00:46:47,940 a mi me ayudaría un poco que 799 00:46:47,940 --> 00:46:49,900 después de que 800 00:46:49,900 --> 00:46:51,400 corrijas subas 801 00:46:51,400 --> 00:46:53,019 los scripts 802 00:46:53,019 --> 00:46:54,320 los tuyos 803 00:46:54,320 --> 00:47:17,360 Vale, yo puedo subir, esto creo que ya lo dije un día, pero en el centro siempre están con que si estas prácticas se hacen el año que viene, pues que si la gente tiene los scripts, bueno, sí, os pasaré algunas cosas, es decir, no voy a pasar todo el ejercicio, pero sí los scripts, es decir, algún script, por ejemplo, este que acabo de hacer de los límites, pues os lo paso para que le deis una vuelta. 804 00:47:17,360 --> 00:47:20,079 que esto luego hay que saber aplicarlo 805 00:47:20,079 --> 00:47:21,340 también a 806 00:47:21,340 --> 00:47:23,340 Unity, aquí por ejemplo 807 00:47:23,340 --> 00:47:25,280 este sería Live Fill 808 00:47:25,280 --> 00:47:28,000 hay que vincularlo, etc 809 00:47:28,000 --> 00:47:29,579 pero así podéis ver un poco 810 00:47:29,579 --> 00:47:32,099 sí, lo subiré 811 00:47:32,099 --> 00:47:34,000 tomo esta tarea y ya está corregida 812 00:47:34,000 --> 00:47:34,840 eh 813 00:47:34,840 --> 00:47:37,760 queréis tener la nota todos 814 00:47:37,760 --> 00:47:40,460 la nota y el feedback es lo que más me interesa 815 00:47:40,460 --> 00:47:41,239 que veáis 816 00:47:41,239 --> 00:47:43,659 pero sí 817 00:47:43,659 --> 00:47:45,039 subiré cosas 818 00:47:45,039 --> 00:48:05,579 De momento voy a esperar un poquito, pero sí. Entiendo que ya la inestabilidad de conexión se ha calmado, ¿no? Vale, ¿dudas hasta aquí o nos ponemos un poco con la 3? A ver cómo lo llevamos. 819 00:48:05,579 --> 00:48:12,070 vamos con la 3 ¿no? 820 00:48:14,110 --> 00:48:14,449 venga 821 00:48:14,449 --> 00:48:16,769 pues 822 00:48:16,769 --> 00:48:18,650 tarea 2 la voy a cerrar 823 00:48:18,650 --> 00:48:19,789 la dejo ahí 824 00:48:19,789 --> 00:48:24,400 vale, tarea 2 acabada 825 00:48:24,400 --> 00:48:25,300 fíjate 826 00:48:25,300 --> 00:48:28,619 que una pregunta hasta aquí 827 00:48:28,619 --> 00:48:30,699 vais entendiendo 828 00:48:30,699 --> 00:48:32,340 un poco como funciona todo, digo que no 829 00:48:32,340 --> 00:48:34,300 que entiendo que a lo mejor 830 00:48:34,300 --> 00:48:36,559 también me pasa que luego 831 00:48:36,559 --> 00:48:38,920 llegar a las soluciones, darle vueltas 832 00:48:38,920 --> 00:48:40,639 y no, pero si que vais entendiendo 833 00:48:40,639 --> 00:48:42,559 lo que hago, ¿no? En plan los pasos y ya 834 00:48:42,559 --> 00:48:44,440 el código se empieza a sonar, todo. 835 00:48:46,400 --> 00:48:46,760 Sí. 836 00:48:47,559 --> 00:48:47,760 Vale. 837 00:48:48,199 --> 00:48:50,739 Que al principio es lo que más abruma 838 00:48:50,739 --> 00:48:52,119 y bueno, poco a poco ya vamos. 839 00:48:52,900 --> 00:48:54,900 Ya vamos viendo la luz. 840 00:48:55,119 --> 00:48:56,039 Ok, venga. 841 00:48:56,760 --> 00:48:58,760 Lo primero que voy a hacer, por si acaso hay dudas 842 00:48:58,760 --> 00:49:00,699 en este sentido, es voy a jugar yo al juego, 843 00:49:00,800 --> 00:49:02,440 ¿vale? Para que veáis un poco qué es 844 00:49:02,440 --> 00:49:04,400 lo que se busca, que a veces también está 845 00:49:04,400 --> 00:49:06,639 muy escrito y no 846 00:49:06,639 --> 00:49:08,539 lo tengo muy claro, ¿vale? 847 00:49:08,980 --> 00:49:10,300 Al empezar el juego hay un nivel 848 00:49:10,300 --> 00:49:20,019 que es el 1, ahí lo tenéis cargado, en el que yo lo he puesto con la cruceta derecha, pero hay que pensar que en este juego hay dos controles. 849 00:49:20,519 --> 00:49:26,659 Se podría ir variando según la escena, pero por código vamos a simplificarlo. 850 00:49:27,059 --> 00:49:36,099 Que es que yo tengo la cruceta de la derecha del teclado, las flechas que mueve la bola para adelante, para atrás, de izquierda a la derecha, 851 00:49:36,099 --> 00:49:44,880 Y en este nivel no lo tengo activo, pero ya está preparado, aunque no pase nada, la cruceta AWSD para que gire lo que es el suelo. 852 00:49:45,119 --> 00:49:49,639 Es decir, que no sea la bola la que se gire, sino que la bola se mueva porque hay rotación en el suelo. 853 00:49:50,139 --> 00:49:54,900 El primer nivel, según la tarea, lo que dice es que el suelo no se mueve, es solo la bola. 854 00:49:55,579 --> 00:49:58,579 La movemos con físicas, que es la novedad. 855 00:49:58,579 --> 00:50:05,639 Aquí, si os fijáis, lo mismo que os he dicho antes, al final lo que estamos haciendo es aplicar físicas. 856 00:50:06,099 --> 00:50:13,599 Por eso se están cambiando esos valores que tenemos ahí del Velocity, que el Velocity es la fuerza en un eje que tiene esa física. 857 00:50:14,880 --> 00:50:24,860 De hecho, si usáis 3D o en After Plugins de partículas o de emisión de algo con fuerzas, también va a aparecer este valor de Velocity. 858 00:50:25,000 --> 00:50:29,440 Todo lo que tenga dinámicas físicas se mueve con Velocity. 859 00:50:29,440 --> 00:50:33,280 Estamos aplicando una fuerza que se traduce en una Velocity en tal eje. 860 00:50:33,280 --> 00:50:36,639 Entonces, a ver 861 00:50:36,639 --> 00:50:38,900 El juego sería 862 00:50:38,900 --> 00:50:40,619 Que yo estoy moviendo la bola, no el suelo 863 00:50:40,619 --> 00:50:42,860 Y llego a este agujero y cuando me consigo meter 864 00:50:42,860 --> 00:50:44,239 Cambio al segundo nivel 865 00:50:44,239 --> 00:50:46,719 En el segundo nivel, yo aunque mueva la cruceta 866 00:50:46,719 --> 00:50:47,960 De la bola, no pasa nada 867 00:50:47,960 --> 00:50:50,280 No le he puesto ningún speed a la bola en este caso 868 00:50:50,280 --> 00:50:51,340 Para que se mueva 869 00:50:51,340 --> 00:50:54,440 Lo que sí es que la otra cruceta, digamos 870 00:50:54,440 --> 00:50:55,739 De la WSD 871 00:50:55,739 --> 00:50:58,659 Haga que haga un torque 872 00:50:58,659 --> 00:51:00,679 Una modificación de la torsión 873 00:51:00,679 --> 00:51:02,900 De esta tabla 874 00:51:02,900 --> 00:51:05,860 y claro, la bola tiene un rigid body 875 00:51:05,860 --> 00:51:07,980 y un rigid body 876 00:51:07,980 --> 00:51:09,400 pues se va moviendo porque es una esfera 877 00:51:09,400 --> 00:51:11,719 la gracia de aquí 878 00:51:11,719 --> 00:51:13,199 es que ya estamos jugando con 879 00:51:13,199 --> 00:51:15,559 como el elemento se mueve 880 00:51:15,559 --> 00:51:17,300 sin mover el elemento, sino moviendo otro 881 00:51:17,300 --> 00:51:19,179 que es la tabla, una vez 882 00:51:19,179 --> 00:51:21,619 una vez tengamos 883 00:51:21,619 --> 00:51:24,099 esta bola 884 00:51:24,099 --> 00:51:25,699 aquí pasaremos a un tercer nivel 885 00:51:25,699 --> 00:51:27,760 y cuando se cae 886 00:51:27,760 --> 00:51:29,440 veis que además se reinicia el juego 887 00:51:29,440 --> 00:51:31,099 lo voy a hacer de modo fácil que es 888 00:51:31,099 --> 00:51:32,780 darle un poco de inclinación 889 00:51:32,780 --> 00:51:35,420 Voy a completamente 890 00:51:35,420 --> 00:51:37,059 A ver, a ver, ahí 891 00:51:37,059 --> 00:51:38,219 ¿Vale? Tercer nivel 892 00:51:38,219 --> 00:51:41,039 Igualmente no se mueve la bola 893 00:51:41,039 --> 00:51:42,340 Sino que se mueve la tabla 894 00:51:42,340 --> 00:51:45,000 Con la diferencia, que en realidad es hasta más fácil yo creo 895 00:51:45,000 --> 00:51:46,539 De que hay unos límites aquí 896 00:51:46,539 --> 00:51:48,199 Contra el que choca la bola 897 00:51:48,199 --> 00:51:50,119 Y yo puedo, lo estoy exagerando un montón 898 00:51:50,119 --> 00:51:51,119 Demasiado 899 00:51:51,119 --> 00:51:54,280 Se queda ahí hasta que va haciendo un límite 900 00:51:54,280 --> 00:51:55,360 Como el juego este que hay 901 00:51:55,360 --> 00:51:58,480 Las pompas, creo que eran los pomperos 902 00:51:58,480 --> 00:52:00,519 Que siempre arriba hay como una especie de 903 00:52:00,519 --> 00:52:01,179 Laberintillo 904 00:52:01,179 --> 00:52:04,059 bueno, pues lo mismo 905 00:52:04,059 --> 00:52:05,380 hasta que llega aquí 906 00:52:05,380 --> 00:52:14,650 bueno, hasta que, y lo voy a hacer 907 00:52:14,650 --> 00:52:16,610 que también sed conscientes 908 00:52:16,610 --> 00:52:18,530 de que siempre cuando estás en un play 909 00:52:18,530 --> 00:52:20,349 puedes coger un elemento 910 00:52:20,349 --> 00:52:22,730 y hacer trampa, ¿vale? porque aquí eres 911 00:52:22,730 --> 00:52:23,030 Dios 912 00:52:23,030 --> 00:52:25,789 ahí, ¿no? 913 00:52:26,710 --> 00:52:28,670 es editable, ¿vale? esto siempre para hacer 914 00:52:28,670 --> 00:52:30,670 pruebas, ya lo he hecho alguna vez, lo he preparado 915 00:52:30,670 --> 00:52:32,670 ya para que sea, mover un poco 916 00:52:32,670 --> 00:52:33,449 la tabla y llegar, ¿vale? 917 00:52:33,710 --> 00:52:50,110 Cuando llego aquí, bueno, esto ya no se pide, hay otro cuarto nivel que es lo mismo, solo que es un poco pinball que cuando llega aquí, cuando choca contra uno de los pivotes, pues le da una fuerza a la bola, el velocity se lo aumenta y cuando llega ahí ya se reinicia el juego, ¿vale? 918 00:52:50,110 --> 00:52:51,630 no sé si 919 00:52:51,630 --> 00:52:53,570 menos este de los pivotes 920 00:52:53,570 --> 00:52:54,989 que no está en la tarea 921 00:52:54,989 --> 00:52:56,590 si no corregirme no está 922 00:52:56,590 --> 00:53:00,269 llegamos hasta el 3 923 00:53:00,269 --> 00:53:01,090 vale 924 00:53:01,090 --> 00:53:02,929 hasta aquí más o menos 925 00:53:02,929 --> 00:53:05,530 lo que es el concepto del juego lo teníamos todos claro 926 00:53:05,530 --> 00:53:06,710 leyendo el enunciado 927 00:53:06,710 --> 00:53:08,110 que a veces es verdad que es farragoso 928 00:53:08,110 --> 00:53:10,469 explicarlo en texto 929 00:53:10,469 --> 00:53:13,369 y ya lo comprobáis 930 00:53:13,369 --> 00:53:15,630 si no era un poco lo que 931 00:53:15,630 --> 00:53:16,530 teníais en mente 932 00:53:16,530 --> 00:53:18,210 vale 933 00:53:18,210 --> 00:53:20,449 o sea, aquí ya se empiezan a meter 934 00:53:20,449 --> 00:53:21,869 incluso conceptos 935 00:53:21,869 --> 00:53:22,949 ¿el qué? 936 00:53:23,610 --> 00:53:26,050 lo de que haya que usar 937 00:53:26,050 --> 00:53:27,730 dos crucetas distintas 938 00:53:27,730 --> 00:53:30,269 no tienes por qué hacerlo, ¿vale? 939 00:53:30,550 --> 00:53:31,190 yo lo he hecho 940 00:53:31,190 --> 00:53:34,030 es decir, yo 941 00:53:34,030 --> 00:53:36,489 igual que hicimos con lo del girador, ¿os acordáis que pusimos 942 00:53:36,489 --> 00:53:38,309 otro eje para yo definir 943 00:53:38,309 --> 00:53:40,250 qué letras? tú puedes poner horizontal 944 00:53:40,250 --> 00:53:42,170 y vertical y dejar 945 00:53:42,170 --> 00:53:43,849 lo que viene por defecto que es 946 00:53:43,849 --> 00:53:45,369 una, en una 947 00:53:45,369 --> 00:53:47,489 es decir, que solo haya una horizontal 948 00:53:47,489 --> 00:53:49,730 y no haya una horizontal para la bola y otra para el terreno 949 00:53:49,730 --> 00:53:51,530 lo único es que en los scripts 950 00:53:51,530 --> 00:53:53,829 vas a tener que ir 951 00:53:53,829 --> 00:53:54,809 determinando más 952 00:53:54,809 --> 00:53:57,510 qué script le pones al terreno y a la bola 953 00:53:57,510 --> 00:53:58,530 que eso hay que hacerlo igual 954 00:53:58,530 --> 00:54:00,449 pero yo al tener dos ejes 955 00:54:00,449 --> 00:54:02,949 independientes 956 00:54:02,949 --> 00:54:05,090 tengo más claro cuando le pongo el script a la bola 957 00:54:05,090 --> 00:54:07,550 de qué axis le estoy pasando que si no 958 00:54:07,550 --> 00:54:09,510 y ten en cuenta que si este juego 959 00:54:09,510 --> 00:54:11,789 se complicara más y hubiera otro nivel 960 00:54:11,789 --> 00:54:13,570 en el que sí que de manera independiente 961 00:54:13,570 --> 00:54:15,789 por un lado puedo mover la bola y por otro lado 962 00:54:15,789 --> 00:54:17,369 también la tabla, que podría ser 963 00:54:17,369 --> 00:54:19,610 pues ya lo tienes preparada 964 00:54:19,610 --> 00:54:21,630 ¿vale? pero no es obligatorio 965 00:54:21,630 --> 00:54:23,369 tú al final si, cuando le dices 966 00:54:23,369 --> 00:54:25,210 si te das cuenta al final 967 00:54:25,210 --> 00:54:27,489 en el primer nivel, yo en el terreno 968 00:54:27,489 --> 00:54:29,510 tengo aquí preparado 969 00:54:29,510 --> 00:54:31,610 un script que en los siguientes si está activo 970 00:54:31,610 --> 00:54:33,750 ¿vale? porque en el primero no me interesa 971 00:54:33,750 --> 00:54:35,590 que se mueva el terreno, solo quiero que se mueva la bola 972 00:54:35,590 --> 00:54:37,750 pero el mismo script lo puedo ir 973 00:54:37,750 --> 00:54:39,409 usando en todos los niveles, entonces 974 00:54:39,409 --> 00:54:41,909 al final cuando yo me meta en este script 975 00:54:41,909 --> 00:54:42,909 lo importante es 976 00:54:42,909 --> 00:54:47,909 este es el que tengo yo preparado para que funcione 977 00:54:47,909 --> 00:54:50,789 al final lo que le estoy diciendo es 978 00:54:50,789 --> 00:54:54,989 que en este el terreno se va a mover según el horizontal terreno 979 00:54:54,989 --> 00:54:59,010 si tú usas solo horizontal y vas discriminando en qué momento 980 00:54:59,010 --> 00:55:03,170 se activa y en qué no, pues también lo puedes hacer, pero así puedo hacer muy fácilmente 981 00:55:03,170 --> 00:55:06,670 o bastante fácilmente, tener los scripts 982 00:55:06,670 --> 00:55:10,570 sabiendo en todo momento qué eje es, tenerlos independientes 983 00:55:10,570 --> 00:55:12,730 por esto que te he dicho, de tenerlo preparado para más adelante 984 00:55:12,730 --> 00:55:14,630 pero si ya es 985 00:55:14,630 --> 00:55:16,050 un poco como lo configures, ¿vale? 986 00:55:16,130 --> 00:55:18,530 es decir, que no tiene por qué hacerse, de todos modos 987 00:55:18,530 --> 00:55:19,670 en las instrucciones 988 00:55:19,670 --> 00:55:21,510 sí que ponía algo 989 00:55:21,510 --> 00:55:23,690 sí, sí, creo que sí que lo pone 990 00:55:23,690 --> 00:55:26,650 pero bueno, esto es lo de siempre, que bueno, yo aquí tengo tantas cosas 991 00:55:26,650 --> 00:55:27,329 que entiendo que 992 00:55:27,329 --> 00:55:30,250 se me había olvidado y lo hice todo con la misma 993 00:55:30,250 --> 00:55:32,489 da igual, si funciona el juego da igual 994 00:55:32,489 --> 00:55:33,889 es decir, ya está 995 00:55:33,889 --> 00:55:35,730 eso sí, ahí estás discriminando 996 00:55:35,730 --> 00:55:38,409 que si usas el mismo script 997 00:55:38,409 --> 00:55:40,190 para mover todo con los mismos ejes 998 00:55:40,190 --> 00:55:44,210 pues que en unos niveles 999 00:55:44,210 --> 00:55:46,110 con la misma cruceta 1000 00:55:46,110 --> 00:55:47,809 solo vas a poder mover una u otra 1001 00:55:47,809 --> 00:55:49,269 porque el argot no se puede mover 1002 00:55:49,269 --> 00:55:50,469 vale, entonces 1003 00:55:50,469 --> 00:55:53,730 pues ya está, si lo tienes en cuenta y es lo que busca 1004 00:55:53,730 --> 00:55:55,610 pues listo, vale 1005 00:55:55,610 --> 00:55:58,030 entonces 1006 00:55:58,030 --> 00:56:01,769 no sé si empezamos 1007 00:56:01,769 --> 00:56:03,349 o miramos alguna duda concreta 1008 00:56:03,349 --> 00:56:05,150 porque empezar tardo bastante 1009 00:56:05,150 --> 00:56:07,889 colocando todo, que está bien porque vamos viendo 1010 00:56:07,889 --> 00:56:09,829 cosas también, pero lo que me digáis 1011 00:56:09,829 --> 00:56:12,750 que no sé si los cinco que estáis aquí 1012 00:56:12,750 --> 00:56:14,289 ya os habéis puesto a hacerlo 1013 00:56:14,289 --> 00:56:16,409 y más o menos os habéis peleado con el comienzo 1014 00:56:16,409 --> 00:56:18,570 o preferís que empecemos 1015 00:56:18,570 --> 00:56:20,349 esto ya a petición vuestra 1016 00:56:20,349 --> 00:56:25,230 aunque uno me diga 1017 00:56:25,230 --> 00:56:26,989 empezamos del principio, empezamos del principio 1018 00:56:26,989 --> 00:56:31,989 yo lo estoy mirando pero todavía no he empezado 1019 00:56:31,989 --> 00:56:33,369 vale 1020 00:56:33,369 --> 00:56:36,690 vamos a intentar hacer el primero 1021 00:56:36,690 --> 00:56:39,110 el primer nivel que es el más simple 1022 00:56:39,110 --> 00:56:41,570 y el resto en realidad ya es 1023 00:56:41,570 --> 00:56:43,369 casi muy parecido 1024 00:56:43,369 --> 00:56:45,449 no tiene mucha historia 1025 00:56:45,449 --> 00:56:47,010 bueno, sí tiene historia, pero vaya que 1026 00:56:47,010 --> 00:56:49,250 entonces, para no mezclar 1027 00:56:49,250 --> 00:56:50,989 lo que ya tenía hecho con lo nuevo 1028 00:56:50,989 --> 00:56:53,150 voy a crear un nuevo folder, ¿vale? 1029 00:56:53,250 --> 00:56:54,070 dudas que me vayan 1030 00:56:54,070 --> 00:56:56,750 surgiendo, me las decís, ¿vale? 1031 00:56:57,550 --> 00:56:59,150 entonces, tutoría, escenas 1032 00:56:59,150 --> 00:57:01,210 y voy a hacer una nueva escena 1033 00:57:01,210 --> 00:57:02,070 vacita 1034 00:57:02,070 --> 00:57:04,489 las escenas 1035 00:57:04,489 --> 00:57:07,230 pensar en ellas como niveles, ¿vale? 1036 00:57:08,690 --> 00:57:09,670 las tenemos aquí 1037 00:57:09,670 --> 00:57:10,710 y esta va a ser 1038 00:57:10,710 --> 00:57:11,969 Devel 1 1039 00:57:11,969 --> 00:57:13,670 Tutoría, ¿vale? 1040 00:57:13,889 --> 00:57:16,429 Es la que quiero editar 1041 00:57:16,429 --> 00:57:18,409 ¿Vale? Tenemos una 1042 00:57:18,409 --> 00:57:20,750 Escena virgen, aquí esperando 1043 00:57:20,750 --> 00:57:21,510 Grandes cosas 1044 00:57:21,510 --> 00:57:23,730 De momento voy a estar editando 1045 00:57:23,730 --> 00:57:26,110 La escena, vale 1046 00:57:26,110 --> 00:57:28,150 Lo primero que tenemos que hacer 1047 00:57:28,150 --> 00:57:32,590 Ir armando el nivel, ¿no? 1048 00:57:33,170 --> 00:57:34,630 Os pasaba en la 1049 00:57:34,630 --> 00:57:35,510 En la 1050 00:57:35,510 --> 00:57:35,530 En la 1051 00:57:35,530 --> 00:57:39,110 En el aula virtual 1052 00:57:39,110 --> 00:57:40,469 Algunas 1053 00:57:40,469 --> 00:57:43,610 geometrías, el terreno 1 para el nivel 1 1054 00:57:43,610 --> 00:57:46,329 y en el resto ya se puede usar este que es más grande 1055 00:57:46,329 --> 00:57:49,489 el terreno 2, luego si vamos 1056 00:57:49,489 --> 00:57:52,269 pasando niveles, pues en el último hay que poner ese laberinto 1057 00:57:52,269 --> 00:57:54,510 con un poco lo que hemos hecho antes 1058 00:57:54,510 --> 00:57:57,809 con la pared que he puesto de límite en el avión 1059 00:57:57,809 --> 00:57:59,750 hay que ir montando 1060 00:57:59,750 --> 00:58:04,510 todo el armazón del laberinto, pero la base sería 1061 00:58:04,510 --> 00:58:06,829 este suelo cuadrado 1062 00:58:06,829 --> 00:58:08,809 a ver si se está grabando esto bien 1063 00:58:08,809 --> 00:58:11,869 da miedo, vale, perfecto 1064 00:58:11,869 --> 00:58:13,250 entonces 1065 00:58:13,250 --> 00:58:14,130 para el primer 1066 00:58:14,130 --> 00:58:17,369 terreno que tenemos, si nos metemos a ver 1067 00:58:17,369 --> 00:58:18,570 qué es cada cosa 1068 00:58:18,570 --> 00:58:20,789 aquí vamos a ver que hay 1069 00:58:20,789 --> 00:58:22,849 un terreno 1070 00:58:22,849 --> 00:58:25,429 lo he abierto con doble clic que abre el visor 1071 00:58:25,429 --> 00:58:26,389 3D que tiene Windows 1072 00:58:26,389 --> 00:58:29,550 pero nos permite ver cosas 1073 00:58:29,550 --> 00:58:31,429 entre otras cosas nos permite 1074 00:58:31,429 --> 00:58:31,869 ver 1075 00:58:31,869 --> 00:58:34,469 el 1076 00:58:34,469 --> 00:58:35,909 la 1077 00:58:35,909 --> 00:58:38,769 the white frame 1078 00:58:38,769 --> 00:58:40,489 ¿vale? si veis este que se llama 1079 00:58:40,489 --> 00:58:42,230 terreno 1 maya, tiene una geometría 1080 00:58:42,230 --> 00:58:43,570 compleja dentro de que bueno 1081 00:58:43,570 --> 00:58:45,650 que no deja de ser prisma 1082 00:58:45,650 --> 00:58:48,369 pero es verdad que aquí ya tiene ese agujerito 1083 00:58:48,369 --> 00:58:49,550 que si 1084 00:58:49,550 --> 00:58:52,309 que si no le definimos 1085 00:58:52,309 --> 00:58:54,130 que es ese agujerito, el unity 1086 00:58:54,130 --> 00:58:55,929 va a interpretar que ahí no hay agujerito 1087 00:58:55,929 --> 00:58:57,190 y ahora lo vemos 1088 00:58:57,190 --> 00:59:00,210 y luego por otro lado, para ya no tener que volver 1089 00:59:00,210 --> 00:59:01,929 a esto, he dejado otra geometría que es 1090 00:59:01,929 --> 00:59:04,269 este collider, que aparentemente es lo mismo 1091 00:59:04,269 --> 00:59:05,789 pero vais a ver que 1092 00:59:05,789 --> 00:59:07,929 a diferencia del primero es una versión 1093 00:59:07,929 --> 00:59:08,750 simplificada 1094 00:59:08,750 --> 00:59:11,590 veis que tiene bastante menos geometría 1095 00:59:11,590 --> 00:59:13,989 ¿vale? ¿y por qué hay dos veces 1096 00:59:13,989 --> 00:59:15,809 el mismo? pues porque uno 1097 00:59:15,809 --> 00:59:17,409 es digamos la malla bien hecha 1098 00:59:17,409 --> 00:59:18,909 el anterior el que tenía 1099 00:59:18,909 --> 00:59:21,989 bien digamos distribuido 1100 00:59:21,989 --> 00:59:23,789 la malla 1101 00:59:23,789 --> 00:59:26,050 ¿no? el primero va a servir 1102 00:59:26,050 --> 00:59:28,030 para meterle una textura que esté bien 1103 00:59:28,030 --> 00:59:30,230 esa textura 1104 00:59:30,230 --> 00:59:31,869 de madera etcétera y funcione bien 1105 00:59:31,869 --> 00:59:34,170 la otra no tiene por qué funcionar mal 1106 00:59:34,170 --> 00:59:55,429 Y esta reducida es para meterla en el Mesh Collider, que como os he dicho antes, es esa forma de detección que es más costosa a nivel de computación, ¿no? Para que detecte. Entonces, la simplificada es una de baja poligonación de la primera, pues ¿para qué? Para ayudar un poquito al ordenador, porque si no, esto es un poco loco. 1107 00:59:55,429 --> 00:59:57,730 entonces, dicho esto, pues nada 1108 00:59:57,730 --> 01:00:00,030 voy a meter la que quiero que se vea en el juego 1109 01:00:00,030 --> 01:00:01,730 la voy a meter a capón aquí 1110 01:00:01,730 --> 01:00:03,110 y ahí se ha puesto 1111 01:00:03,110 --> 01:00:05,510 cositas que tener en cuenta 1112 01:00:05,510 --> 01:00:06,670 ahora mismo 1113 01:00:06,670 --> 01:00:10,090 vemos que ahí está el agujero, está todo bien 1114 01:00:10,090 --> 01:00:11,570 lo que digo siempre 1115 01:00:11,570 --> 01:00:13,969 está apuntando hacia donde queremos 1116 01:00:13,969 --> 01:00:15,929 que apunte, miradmos el mismo 1117 01:00:15,929 --> 01:00:16,969 en profundidad en Z 1118 01:00:16,969 --> 01:00:20,010 y yo quiero que la bola vaya hacia la profundidad 1119 01:00:20,010 --> 01:00:20,789 no que venga hacia mí 1120 01:00:20,789 --> 01:00:23,949 entonces para empezar, voy a resetear toda la posición 1121 01:00:23,949 --> 01:00:25,630 que siempre cuando metemos algo 1122 01:00:25,630 --> 01:00:27,949 nos puede luego marear 1123 01:00:27,949 --> 01:00:28,610 o perdir 1124 01:00:28,610 --> 01:00:31,909 está bien, incluso podría bajarlo 1125 01:00:31,909 --> 01:00:33,389 para que, veis este grid 1126 01:00:33,389 --> 01:00:35,150 que tenemos aquí, pues para que 1127 01:00:35,150 --> 01:00:37,730 para que coincidiera 1128 01:00:37,730 --> 01:00:39,550 con el grid, pero 1129 01:00:39,550 --> 01:00:42,269 me da un poco igual, porque al final yo la bola luego la voy a situar 1130 01:00:42,269 --> 01:00:43,909 lo que no me da igual es eso 1131 01:00:43,909 --> 01:00:45,409 que la profundidad del juego 1132 01:00:45,409 --> 01:00:47,809 esté orientada al revés, entonces 1133 01:00:47,809 --> 01:00:48,869 esto para solucionarlo 1134 01:00:48,869 --> 01:00:51,210 básicamente me meto 1135 01:00:51,210 --> 01:00:53,869 en el terreno mejor 1136 01:00:53,869 --> 01:01:15,489 Pero veréis que el prefab que hay aquí, este cdx, lo podéis desplegar y ver que está compuesto además por, tiene ya como disposición de paquete y tiene dentro el terreno y luego tiene un padre ya hecho, es decir, está metiendo por un lado lo que es la geometría, que sería este terreno 1 dentro de un padre. 1137 01:01:15,489 --> 01:01:17,369 ya está configurado así, cuando se exportó 1138 01:01:17,369 --> 01:01:19,130 se sacó como que tuviera un padre 1139 01:01:19,130 --> 01:01:20,409 que recogiera todo 1140 01:01:20,409 --> 01:01:23,210 lo que voy a girar, lo que me interesa girar 1141 01:01:23,210 --> 01:01:24,190 ahora mismo es 1142 01:01:24,190 --> 01:01:26,849 eje Y, que es el que rota 1143 01:01:26,849 --> 01:01:28,570 en este ángulo que queremos corregir 1144 01:01:28,570 --> 01:01:30,750 pues que rote 180 grados para que mire 1145 01:01:30,750 --> 01:01:32,070 en la otra dirección 1146 01:01:32,070 --> 01:01:34,409 en global, ahora mismo 1147 01:01:34,409 --> 01:01:36,789 está mirando en la dirección y en local 1148 01:01:36,789 --> 01:01:39,110 está al revés, pero tenemos que tener en cuenta 1149 01:01:39,110 --> 01:01:40,170 que la profundidad en 1150 01:01:40,170 --> 01:01:43,010 el espacio del mundo ahora está bien orientada 1151 01:01:43,010 --> 01:01:43,750 hacia donde queremos 1152 01:01:43,750 --> 01:01:47,750 eso por un lado, y tenemos esta geometría 1153 01:01:47,750 --> 01:01:53,320 y bueno, lo tengo en modo wireframe, pero lo voy a poner para que se vea 1154 01:01:53,320 --> 01:01:55,780 con los shaders bien aplicados 1155 01:01:55,780 --> 01:02:00,980 ¿qué más necesitamos? otra cosa importante 1156 01:02:00,980 --> 01:02:05,199 cuando me metemos un FBX 1157 01:02:05,199 --> 01:02:09,039 según el programa en el que se haga, puede ser 1158 01:02:09,039 --> 01:02:13,219 y esto lo voy a decir incorrecto, pero Maya trabaja en 1159 01:02:13,219 --> 01:02:15,099 unidad de metro, blender 1160 01:02:15,099 --> 01:02:16,940 en centímetros. Puede que sea al revés, porque 1161 01:02:16,940 --> 01:02:19,079 siempre me lío. Eso se comprueba en 1162 01:02:19,079 --> 01:02:21,300 el propio software. Entonces, tú puedes hacer 1163 01:02:21,300 --> 01:02:23,119 una geometría que aparentemente sea igual, pero 1164 01:02:23,119 --> 01:02:24,320 claro, al meterlo en Unity 1165 01:02:24,320 --> 01:02:27,159 ya hablamos que cada unidad 1166 01:02:27,159 --> 01:02:29,019 era un metro, cada una de estas cuadrículas. 1167 01:02:29,139 --> 01:02:31,159 Cuidado, porque a veces podéis haber hecho 1168 01:02:31,159 --> 01:02:32,900 un objeto que parece 1169 01:02:32,900 --> 01:02:35,119 que la dimensión es 1170 01:02:35,119 --> 01:02:37,119 adecuada, y cuando lo metes aquí, pues es 1171 01:02:37,119 --> 01:02:39,039 enano. Para eso está esta 1172 01:02:39,039 --> 01:02:41,139 conversión de unidades, ¿vale? Para que 1173 01:02:41,139 --> 01:02:42,900 cuando se meta el objeto, bueno, 1174 01:02:43,219 --> 01:03:05,139 hay que hacer, cuando estamos tocando esta escala, le damos a cualquier parámetro que tengamos aquí, que tiene, ya algo veremos, un montón de conversores y hay que aplicarlo, vais a ver que cuando lo aplico y lo vuelvo a meter, ahora de pronto veis que es enanito, cuidado que esto os puede pasar, y esto es independientemente de la escena, 1175 01:03:05,139 --> 01:03:29,139 Quiero decir, que a diferencia de lo que he hecho de darle la vuelta a 180, es enanito, porque la geometría en sí que he importado, le he dicho que lo lea como centímetros, es decir, que si algo tiene como una centésima parte de pequeño o de grande, mirad la geometría porque igual la está interpretando mal el Unity. 1176 01:03:29,139 --> 01:03:31,219 entonces volvemos aquí 1177 01:03:31,219 --> 01:03:33,139 el hijo le he dado la vuelta 1178 01:03:33,139 --> 01:03:34,380 para que mire hacia donde queremos 1179 01:03:34,380 --> 01:03:37,179 tenemos aquí esto y nos falta el otro 1180 01:03:37,179 --> 01:03:39,139 protagonista de este juego que sería una bola 1181 01:03:39,139 --> 01:03:41,059 la bola no pasaba ninguna 1182 01:03:41,059 --> 01:03:43,260 geometría porque la creamos nosotros 1183 01:03:43,260 --> 01:03:44,639 como una 1184 01:03:44,639 --> 01:03:46,639 como una primitiva 1185 01:03:46,639 --> 01:03:48,239 espera 1186 01:03:48,239 --> 01:03:51,139 pongo aquí en el centro y lo primero que necesitamos 1187 01:03:51,679 --> 01:03:53,199 porque si no el juego 1188 01:03:53,199 --> 01:03:54,400 sería muy complicado es 1189 01:03:54,400 --> 01:03:56,659 que sea de una proporción 1190 01:03:56,659 --> 01:03:59,039 adecuada, aquí a diferencia del FB 1191 01:03:59,039 --> 01:04:00,619 que hemos metido, que viene de otro programa 1192 01:04:00,619 --> 01:04:02,059 ya con las dimensiones que se supone 1193 01:04:02,059 --> 01:04:03,659 aquí sin problema 1194 01:04:03,659 --> 01:04:05,940 bueno, aquí también podemos hacerlo 1195 01:04:05,940 --> 01:04:08,860 vamos a meternos y cambiar la escala 1196 01:04:08,860 --> 01:04:10,780 no sería lo suyo porque deberíamos modelar 1197 01:04:10,780 --> 01:04:12,719 ya un poco teniendo en cuenta las dimensiones que queremos 1198 01:04:12,719 --> 01:04:14,780 pero una primitiva 1199 01:04:14,780 --> 01:04:16,159 sale 1200 01:04:16,159 --> 01:04:18,880 un metro por un metro porque es lo que 1201 01:04:18,880 --> 01:04:20,320 da por defecto 1202 01:04:20,320 --> 01:04:23,119 entonces, pues para que entre por este agujero 1203 01:04:23,119 --> 01:04:25,199 vamos a decirle que sea un 25% 1204 01:04:25,199 --> 01:04:26,860 a ver, todos los ejes 1205 01:04:26,860 --> 01:04:28,579 25, 25, 25 1206 01:04:28,579 --> 01:04:32,139 a ver, ¿esta bola entra por el agujero? yo creo que sí 1207 01:04:32,139 --> 01:04:36,320 sí, sí entra 1208 01:04:36,320 --> 01:04:40,480 un poco justa, va a dificultar el juego 1209 01:04:40,480 --> 01:04:44,019 pero bueno, vale, y a diferencia de lo que hacíamos 1210 01:04:44,019 --> 01:04:47,900 con las instancias, como no va a haber varias bolas y solo quiero una 1211 01:04:47,900 --> 01:04:51,519 ese es el juego que yo estoy montando, pues la podemos dejar aquí en la escena 1212 01:04:51,519 --> 01:04:56,139 bien centradita, pongo un poco arriba 1213 01:04:56,139 --> 01:04:58,219 para que salga arriba, digamos, y en Z 1214 01:04:58,219 --> 01:04:59,559 pues para colar 1215 01:04:59,559 --> 01:05:03,739 vale, ahora va a empezar el juego 1216 01:05:03,739 --> 01:05:06,460 y va a estar ahí 1217 01:05:06,460 --> 01:05:08,699 preparadico, le doy al play y no pasa nada 1218 01:05:08,699 --> 01:05:11,920 le doy al play y ahora mismo el juego es 1219 01:05:11,920 --> 01:05:14,239 pues una bola esperando 1220 01:05:14,239 --> 01:05:16,340 algo, ¿no? vale, dado que ya 1221 01:05:16,340 --> 01:05:18,159 además habéis empezado a tocar 1222 01:05:18,159 --> 01:05:20,139 ¿qué falta aquí? 1223 01:05:20,519 --> 01:05:21,440 ¿qué hay que hacer? 1224 01:05:22,300 --> 01:05:24,360 para que, oye, pues esto tenga un poco de vida 1225 01:05:24,360 --> 01:05:24,860 el juego 1226 01:05:24,860 --> 01:05:27,420 es que no es simplemente que 1227 01:05:27,420 --> 01:05:29,539 aunque toque las teclas no pasa nada 1228 01:05:29,539 --> 01:05:30,699 sino que directamente no 1229 01:05:30,699 --> 01:05:33,000 nada aquí 1230 01:05:33,000 --> 01:05:35,579 añadirle 1231 01:05:35,579 --> 01:05:37,019 un rigid body ¿no? 1232 01:05:37,280 --> 01:05:38,780 ¿a quién habría que añadírselo? 1233 01:05:39,199 --> 01:05:40,619 a la pelota 1234 01:05:40,619 --> 01:05:43,239 vale, le voy a llamar pelota 1235 01:05:43,239 --> 01:05:45,559 y a esta pelota le añado 1236 01:05:45,559 --> 01:05:47,679 un rigid body para que se vea afectada 1237 01:05:47,679 --> 01:05:49,500 por las fuerzas de la física ¿no? 1238 01:05:50,320 --> 01:05:51,800 un poco la gracia 1239 01:05:51,800 --> 01:05:52,840 además 1240 01:05:52,840 --> 01:05:55,420 queremos que la gravedad le afecte 1241 01:05:55,420 --> 01:05:56,800 es lo que hemos dicho 1242 01:05:56,800 --> 01:05:58,699 en el ejemplo del avión anterior 1243 01:05:58,699 --> 01:06:00,159 igual 1244 01:06:00,159 --> 01:06:03,019 queremos desmarcar esto, porque a menos 1245 01:06:03,019 --> 01:06:04,920 que estemos compensándolo por código todo el rato 1246 01:06:04,920 --> 01:06:06,519 si le ponemos la gravedad el avión estaría 1247 01:06:06,519 --> 01:06:09,019 o con otras fuerzas, es como 1248 01:06:09,019 --> 01:06:11,500 lo que me preguntó 1249 01:06:11,500 --> 01:06:12,820 el otro día Gonzalo de un avión 1250 01:06:12,820 --> 01:06:15,199 no me quiero meter porque es complicado 1251 01:06:15,199 --> 01:06:17,639 al final si le decimos 1252 01:06:17,639 --> 01:06:19,019 que algo le afecte la gravedad 1253 01:06:19,019 --> 01:06:21,300 la tendencia es que va para abajo, y ahora mismo queremos 1254 01:06:21,300 --> 01:06:23,519 pues como nos está pasando a todos ahora mismo 1255 01:06:23,519 --> 01:06:25,360 que una fuerza nos esté empujando hacia el suelo 1256 01:06:25,360 --> 01:06:26,559 y sea el suelo el que nos detenga 1257 01:06:26,559 --> 01:06:28,440 le meto eso, a ver 1258 01:06:28,440 --> 01:06:30,820 ya tenemos 1259 01:06:30,820 --> 01:06:33,800 se cae, ¿por qué se cae? 1260 01:06:36,159 --> 01:06:37,480 es decir, ¿por qué no está 1261 01:06:37,480 --> 01:06:38,699 deteniéndole el terreno? 1262 01:06:41,019 --> 01:06:42,940 esta esfera tiene una dinámica 1263 01:06:42,940 --> 01:06:44,400 tiene su collider, es decir 1264 01:06:44,400 --> 01:06:47,500 además es del tamaño, como lo hemos hecho nativo 1265 01:06:47,500 --> 01:06:49,739 por defecto está cogiendo muy bien esta geometría 1266 01:06:49,739 --> 01:06:51,800 en el wireframe veis que 1267 01:06:51,800 --> 01:06:53,159 ahí lo verde, ahí está 1268 01:06:53,159 --> 01:06:55,519 ¿qué es lo que está pasando? 1269 01:06:55,599 --> 01:06:57,619 a ver si alguien me puede decir porque cuando 1270 01:06:57,619 --> 01:06:59,659 activo el juego no hay 1271 01:06:59,659 --> 01:07:02,019 ningún tipo de interacción entre los dos elementos 1272 01:07:02,019 --> 01:07:05,920 no sé si voy 1273 01:07:05,920 --> 01:07:06,780 muy rápido o muy lento 1274 01:07:06,780 --> 01:07:09,699 si esto es como muy básico si habéis leído el tema 1275 01:07:09,699 --> 01:07:10,500 pero bueno 1276 01:07:10,500 --> 01:07:13,880 ¿qué es lo que pasa? ¿qué es lo que está pasando? 1277 01:07:18,500 --> 01:07:20,619 que el plano no tiene 1278 01:07:20,619 --> 01:07:23,639 el color item 1279 01:07:23,639 --> 01:07:25,480 no tiene collider, ¿no? 1280 01:07:26,139 --> 01:07:28,280 es decir, no hay nada que esté diciendo 1281 01:07:28,280 --> 01:07:30,280 eh, cuando llega aquí, choca conmigo 1282 01:07:30,280 --> 01:07:31,460 ¿no? ¿sí? 1283 01:07:32,400 --> 01:07:34,179 no hay ningún límite, entonces 1284 01:07:34,179 --> 01:07:36,139 solución que podríamos tener, pues 1285 01:07:36,139 --> 01:07:37,619 un box collider, ¿no? como 1286 01:07:37,619 --> 01:07:40,039 lo hemos hecho, vemos 1287 01:07:40,039 --> 01:07:42,119 si os fijáis, que lo ha cogido 1288 01:07:42,119 --> 01:07:44,280 de tal forma, que muy bien le ha puesto 1289 01:07:44,280 --> 01:07:46,139 los límites ya, a ver, le voy a 1290 01:07:46,139 --> 01:07:47,659 dar al box collider 1291 01:07:47,659 --> 01:07:50,199 y placa, ahí se queda la bola 1292 01:07:50,199 --> 01:07:52,039 ¿vale? ya estamos 1293 01:07:52,039 --> 01:07:53,139 jugando 1294 01:07:53,139 --> 01:07:56,460 en la liga de las físicas 1295 01:07:56,460 --> 01:07:58,420 esto va a entrañar un problema 1296 01:07:58,420 --> 01:08:00,739 porque claro, si os fijáis aquí hay un agujero 1297 01:08:00,739 --> 01:08:02,860 y el box collider 1298 01:08:02,860 --> 01:08:04,599 está tapando ese agujero 1299 01:08:04,599 --> 01:08:05,500 no hay nada que le diga no 1300 01:08:05,500 --> 01:08:08,300 esto no es suelo también 1301 01:08:08,300 --> 01:08:10,659 esto es un agujerillo, por eso tenemos que usar 1302 01:08:10,659 --> 01:08:12,440 el mesh collider, también lo hemos llevado ahí 1303 01:08:12,440 --> 01:08:14,179 pero ya os doy 1304 01:08:14,179 --> 01:08:16,399 un primer problema, de momento lo dejo 1305 01:08:16,399 --> 01:08:16,819 como 1306 01:08:16,819 --> 01:08:19,380 método chapucero pero 1307 01:08:19,380 --> 01:08:22,300 esto no va a ir del todo bien 1308 01:08:22,300 --> 01:08:24,159 ¿qué habrá que hacer con la pelota? 1309 01:08:24,399 --> 01:08:26,319 pues decirle que vaya para adelante o para 1310 01:08:26,319 --> 01:08:27,520 atrás, ¿no? 1311 01:08:28,279 --> 01:08:30,619 entonces, ya nos tenemos que meter a 1312 01:08:30,619 --> 01:08:32,880 hacerle un 1313 01:08:32,880 --> 01:08:33,699 tip 1314 01:08:33,699 --> 01:08:36,720 a esta pelota, que como tiene un rigid body 1315 01:08:36,720 --> 01:08:38,300 ¿vale? le podemos 1316 01:08:38,300 --> 01:08:40,239 aceptar a esas velocidades, a esas fuerzas 1317 01:08:40,239 --> 01:08:41,579 le podemos decir, oye, avanza 1318 01:08:41,579 --> 01:08:44,300 añádame una fuerza y le voy para un lado 1319 01:08:44,300 --> 01:08:44,699 o para otro 1320 01:08:44,699 --> 01:08:48,380 importante también, que esto está en el tema 1321 01:08:48,380 --> 01:09:13,560 Ahora, los objetos, si entramos en el mundo de la física, tienen que tener un peso, también tienen una resistencia al aire, tanto en posición como en rotación, y esto no sé si lo habéis visto, pero si vais al espacio, en realidad lo que hace que un objeto en la luna baje más o menos rápido no es su peso, no es la que sería su masa, sino la resistencia que tiene el aire. 1322 01:09:13,560 --> 01:09:16,800 no sé si lo habéis visto, pero 1323 01:09:16,800 --> 01:09:18,739 si cogéis una hoja de papel 1324 01:09:18,739 --> 01:09:19,800 un folio 1325 01:09:19,800 --> 01:09:23,100 que pesa, yo que sé, 15 gramos 1326 01:09:23,100 --> 01:09:24,960 no lo sé, y lo tiras 1327 01:09:24,960 --> 01:09:27,100 como folio, vais a ver que baja mucho 1328 01:09:27,100 --> 01:09:28,859 más despacio, que si esa misma pelota 1329 01:09:28,859 --> 01:09:30,939 que seguirá pesando 15 gramos 1330 01:09:30,939 --> 01:09:32,720 la 1331 01:09:32,720 --> 01:09:34,399 hacéis una bola y la tiráis 1332 01:09:34,399 --> 01:09:37,000 ¿y por qué es eso? porque el cuerpo cuando 1333 01:09:37,000 --> 01:09:38,899 está plano, tiene una resistencia al aire 1334 01:09:38,899 --> 01:09:41,119 bastante diferente a cuando es una pelota, y pesa lo mismo 1335 01:09:41,119 --> 01:09:42,060 es decir, la masa es la misma 1336 01:09:42,060 --> 01:10:00,340 Lo que sí va a afectar a la masa es cuando aplicamos fuerzas, añadimos una fuerza, pues si estamos empujando una caja de 500 kilos, si hay gravedad y si hay fuerzas como las de la Tierra, pues va a costar mucho más mover un cuerpo de 500 kilos que de un kilo, como sería este caso. 1337 01:10:00,340 --> 01:10:05,039 la velocidad de cómo se mueven las cosas 1338 01:10:05,039 --> 01:10:07,520 en sí está en la resistencia 1339 01:10:07,520 --> 01:10:09,380 pero la velocidad del empuje 1340 01:10:09,380 --> 01:10:11,079 la fuerza del empuje dependerá de la masa 1341 01:10:11,079 --> 01:10:13,140 un poco hablando de 1342 01:10:13,140 --> 01:10:15,359 en la tierra, porque donde no hay gravedad 1343 01:10:15,359 --> 01:10:16,659 los objetos de 1344 01:10:16,659 --> 01:10:19,260 un elefante también se podría 1345 01:10:19,260 --> 01:10:20,539 empujar y se movería rápido 1346 01:10:20,539 --> 01:10:22,560 no hay más inercia 1347 01:10:22,560 --> 01:10:24,060 ni fuerzas 1348 01:10:24,060 --> 01:10:27,279 no sé hasta aquí qué tal 1349 01:10:27,279 --> 01:10:31,039 bien, esto también 1350 01:10:31,039 --> 01:10:37,880 Yo me tiro el pisto porque yo soy experto en gravedades y en física aplicada, pero bueno, al menos. 1351 01:10:38,300 --> 01:10:39,020 Sí, ¿no? ¿Hasta aquí bien? 1352 01:10:40,659 --> 01:10:46,479 Vale, entonces, pues lo que vamos a hacer es ya generar un script para nuestra pelota, ¿no? 1353 01:10:46,500 --> 01:10:47,560 La vamos a mover. 1354 01:10:48,920 --> 01:10:52,779 Necesitaremos decirle con qué teclas y a qué afecta. 1355 01:10:53,500 --> 01:10:56,039 Vamos a llamarlo pelota... 1356 01:10:57,039 --> 01:10:59,680 Control, lo que sea, ¿vale? 1357 01:11:01,039 --> 01:11:02,079 ahí se está creando 1358 01:11:02,079 --> 01:11:03,220 y 1359 01:11:03,220 --> 01:11:06,859 se le aplico 1360 01:11:06,859 --> 01:11:08,979 lo importante, se le aplico como componente 1361 01:11:08,979 --> 01:11:09,840 a la pelota 1362 01:11:09,840 --> 01:11:12,880 se va aplicando ahí 1363 01:11:12,880 --> 01:11:14,979 un segundito que me traigo aquí 1364 01:11:14,979 --> 01:11:17,899 ahí lo tengo 1365 01:11:17,899 --> 01:11:19,340 y yo me voy a poner 1366 01:11:19,340 --> 01:11:21,939 que viene bien 1367 01:11:21,939 --> 01:11:22,340 porque si no 1368 01:11:22,340 --> 01:11:27,159 vamos a ver 1369 01:11:27,159 --> 01:11:27,779 player manager 1370 01:11:27,779 --> 01:11:41,630 player manager 1371 01:11:41,630 --> 01:12:27,029 Un segundo, eh, perdón. Ah, vale, que aquí tengo el... Vale, que tengo preparadas mis cosas. Vale, vamos a ello. 1372 01:12:27,029 --> 01:12:31,149 como estamos en la pelota 1373 01:12:31,149 --> 01:12:34,569 y aquí es otra cosa de código que hay que tener en cuenta 1374 01:12:34,569 --> 01:12:36,289 lo que vamos a hacer 1375 01:12:36,289 --> 01:12:39,850 y lo mismo que pasaba 1376 01:12:39,850 --> 01:12:44,529 en el anterior ejercicio 1377 01:12:44,529 --> 01:12:46,689 primero lo suyo es casi 1378 01:12:46,689 --> 01:12:49,329 coger una hoja y escribir lo que queremos conseguir 1379 01:12:49,329 --> 01:12:51,270 para luego ya interpretar la código 1380 01:12:51,270 --> 01:12:54,550 y si nos ponemos a pensar lo que queremos es 1381 01:12:54,550 --> 01:13:10,710 Ahora también las limitaciones del enunciado de la tarea. Queremos afectar, añadir fuerzas a este RigidBody, ya no queremos afectar al Transform, como he dicho hasta ahora. Queremos afectar, añadir fuerzas a un cuerpo físico, al RigidBody. 1382 01:13:10,710 --> 01:13:14,010 entonces ya a diferencia de lo que hacíamos antes 1383 01:13:14,010 --> 01:13:18,590 ya no vamos a estar afectando al componente 1384 01:13:18,590 --> 01:13:22,489 a la clase transform, ahora queremos afectar a la clase rigid body 1385 01:13:22,489 --> 01:13:25,909 cada componente digamos, cada componente que tenemos 1386 01:13:25,909 --> 01:13:30,470 tiene una clase asociada, no sé si os acordáis cuando hacíamos lo de 1387 01:13:30,470 --> 01:13:34,529 las instancias, que poníamos como clase aquí al principio 1388 01:13:34,529 --> 01:13:38,890 decíamos aquí antes del start, etcétera, cuando declaramos 1389 01:13:38,890 --> 01:13:41,449 hacíamos la clase transform 1390 01:13:41,449 --> 01:13:43,529 de la nave, entonces cogía 1391 01:13:43,529 --> 01:13:45,689 arrastramos aquí por un serialize 1392 01:13:45,689 --> 01:13:45,970 field 1393 01:13:45,970 --> 01:13:49,489 un serialize field 1394 01:13:49,489 --> 01:13:51,010 que sale en el 1395 01:13:51,010 --> 01:13:54,600 editor y está esperando 1396 01:13:54,600 --> 01:13:55,939 que movamos 1397 01:13:55,939 --> 01:13:58,819 un objeto para referenciar 1398 01:13:58,819 --> 01:14:00,720 en todo momento el transform de ese objeto 1399 01:14:00,720 --> 01:14:02,800 que es el de sí mismo, en este caso 1400 01:14:02,800 --> 01:14:04,979 ahora lo que queremos hacer es 1401 01:14:04,979 --> 01:14:06,619 afectar mediante código 1402 01:14:06,619 --> 01:14:08,439 no a un transform, sino 1403 01:14:08,439 --> 01:14:12,000 a lo que esté dentro de, y vais a ver que si empiezo a escribir RigidBody 1404 01:14:12,000 --> 01:14:14,979 vais a ver que está también el RigidBody 2D 1405 01:14:14,979 --> 01:14:18,100 cuando vamos en 2D, que es otro tipo de dinámicas 1406 01:14:18,100 --> 01:14:20,079 parecidas, pero que solo funcionan en dos ejes, ¿vale? 1407 01:14:20,319 --> 01:14:24,359 Yo tengo aquí el RigidBody, ¿vale? Y cuando yo guardo 1408 01:14:24,359 --> 01:14:27,000 y ahora arrastro, a diferencia del iconito ahí 1409 01:14:27,000 --> 01:14:30,039 cambiar en breves, ahí tiene el iconito 1410 01:14:30,039 --> 01:14:33,100 del transform, que es este 1411 01:14:33,100 --> 01:14:36,039 y ahora cuando yo arrastre la pelota aquí 1412 01:14:36,039 --> 01:14:37,500 lo que va a coger es 1413 01:14:37,500 --> 01:14:39,939 el RigidBody, veis que lo que está haciendo 1414 01:14:39,939 --> 01:14:42,039 es coger, referenciar 1415 01:14:42,039 --> 01:14:43,359 a un componente que está dentro 1416 01:14:43,359 --> 01:14:45,479 de este objeto 1417 01:14:45,479 --> 01:14:47,899 ahora mismo, si yo 1418 01:14:47,899 --> 01:14:49,819 y te digo esto, le voy a llamar 1419 01:14:49,819 --> 01:14:51,760 esto se suele poner mucho RB 1420 01:14:51,760 --> 01:14:53,479 de RigidBody y pelota 1421 01:14:53,479 --> 01:14:55,220 en nombre de componente 1422 01:14:55,220 --> 01:14:57,819 RB sirve mucho para ver 1423 01:14:57,819 --> 01:14:59,859 cuando usemos esto después 1424 01:14:59,859 --> 01:15:01,779 va a ser un RigidBody, yo ahora mismo 1425 01:15:01,779 --> 01:15:04,159 si en el update, y voy a saltarme 1426 01:15:04,159 --> 01:15:05,840 un par de pasos, ahora vuelvo para atrás 1427 01:15:05,840 --> 01:15:27,399 Ahora yo cuando me meto en RbPelota, yo lo que puedo hacer es decirle, vale, pues estoy accediendo al componente RigidBody de este objeto porque se ha pasado desde el inspector y ahora ya puedo acceder a los distintos parámetros del componente RigidBody de esta clase que tiene. 1428 01:15:27,399 --> 01:15:29,920 entonces, si os fijáis 1429 01:15:29,920 --> 01:15:31,619 para que vayáis también viendo la dinámica 1430 01:15:31,619 --> 01:15:33,619 de cómo funciona, recordad que con el punto 1431 01:15:33,619 --> 01:15:34,840 te vas metiendo en sus niveles 1432 01:15:34,840 --> 01:15:37,680 y vais a ver que hay cosas como, si voy por ejemplo 1433 01:15:37,680 --> 01:15:39,159 a la M, que esto va por 1434 01:15:39,159 --> 01:15:40,539 alfabético 1435 01:15:40,539 --> 01:15:42,880 tenemos la masa, a ver 1436 01:15:42,880 --> 01:15:44,979 la masa, vale 1437 01:15:44,979 --> 01:15:47,699 yo aquí, si ahora mismo le digo 1438 01:15:47,699 --> 01:15:49,539 no, yo quiero que la masa sea de 50 1439 01:15:49,539 --> 01:15:51,100 de 50, vale 1440 01:15:51,100 --> 01:15:53,779 estoy accediendo al componente 1441 01:15:53,779 --> 01:15:55,600 de este objeto que le he pasado por serie a Life Fill 1442 01:15:55,600 --> 01:15:58,000 y que valga 50, entonces esto significa 1443 01:15:58,000 --> 01:16:01,159 que cuando arranque el juego 1444 01:16:01,159 --> 01:16:03,119 porque está en el start, cuando arranque el juego 1445 01:16:03,119 --> 01:16:05,500 una vez, ah bueno, me lo he puesto en el date 1446 01:16:05,500 --> 01:16:06,640 me lo pongo en el start, da igual 1447 01:16:06,640 --> 01:16:09,239 una vez, según empiece el juego 1448 01:16:09,239 --> 01:16:10,920 vais a ver que cambia este parámetro 1449 01:16:10,920 --> 01:16:11,800 directamente 1450 01:16:11,800 --> 01:16:15,420 es decir, bueno, cuando arranque el juego esto va a pesar 1451 01:16:15,420 --> 01:16:16,399 50 kilos 1452 01:16:16,399 --> 01:16:22,560 vale, por lo que sea 1453 01:16:22,560 --> 01:16:24,779 ha reseteado cuando cambia el nombre 1454 01:16:24,779 --> 01:16:27,220 vuelvo a pasarle el RigidBody 1455 01:16:27,220 --> 01:16:28,819 y ahora sí que sí 1456 01:16:28,819 --> 01:16:30,800 no voy a hacer 1457 01:16:30,800 --> 01:16:32,899 vale, luego a la masa 1458 01:16:32,899 --> 01:16:34,319 cuenta 1459 01:16:34,319 --> 01:16:36,720 a ver, ahora 1460 01:16:36,720 --> 01:16:37,939 quería hacerme caso 1461 01:16:37,939 --> 01:16:41,279 vale, veis, ahora ha bajado muchísimo más rápido 1462 01:16:41,279 --> 01:16:42,239 porque 1463 01:16:42,239 --> 01:16:44,199 pasa de 50 kilos 1464 01:16:44,199 --> 01:16:47,000 porque tiene 1465 01:16:47,000 --> 01:16:48,560 además muy poca resistencia al aire 1466 01:16:48,560 --> 01:16:51,220 y me la ha definido 1467 01:16:51,220 --> 01:16:52,979 como 50 kilos, vale, yo ya 1468 01:16:52,979 --> 01:16:55,119 tengo acceso al drag, por ejemplo 1469 01:16:55,119 --> 01:16:56,779 pues el drag ahora es uno de los 1470 01:16:56,779 --> 01:16:58,119 parámetros 1471 01:16:58,119 --> 01:17:01,520 angular drag 1472 01:17:01,520 --> 01:17:02,739 veis que están todos 1473 01:17:02,739 --> 01:17:04,199 para referenciar por código 1474 01:17:04,199 --> 01:17:07,119 a los distintos, que con esto es con lo que podemos hacer 1475 01:17:07,119 --> 01:17:09,000 editable, que cuando suceda tal cosa, oye pues 1476 01:17:09,000 --> 01:17:11,000 me meto en la masa del 1477 01:17:11,000 --> 01:17:13,000 rigbody y entonces de pronto el objeto 1478 01:17:13,000 --> 01:17:14,340 empieza a pesar 1479 01:17:14,340 --> 01:17:16,699 2000 kilos, pues en cierto momento 1480 01:17:16,699 --> 01:17:19,079 si yo en una condicional, igual que hemos hecho ahora 1481 01:17:19,079 --> 01:17:21,279 de pronto le digo, y cuando se cumpla 1482 01:17:21,279 --> 01:17:24,340 condición, pues esto 1483 01:17:24,340 --> 01:17:26,439 pasará, bueno, aquí he puesto una tilde, cosa 1484 01:17:26,439 --> 01:17:28,380 prohibidísima, ¿vale? y esta 1485 01:17:28,380 --> 01:17:30,340 variable no existe, pero para que veáis el ejemplo 1486 01:17:30,340 --> 01:17:31,779 cuando se cumpla esta condición 1487 01:17:31,779 --> 01:17:34,560 pues la pelota pasa a pesar 50 1488 01:17:34,560 --> 01:17:36,340 a lo mejor en Super Mario, pues cuando 1489 01:17:36,340 --> 01:17:38,199 te toman la seta que te hace crecer 1490 01:17:38,199 --> 01:17:40,079 de pronto queremos que las físicas 1491 01:17:40,079 --> 01:17:42,539 pues de la masa, pues de pronto 1492 01:17:42,539 --> 01:17:44,399 sea como si pesara el triple, pues con 1493 01:17:44,399 --> 01:17:46,380 este tipo de cosas ya podríamos 1494 01:17:46,380 --> 01:17:48,180 ir modificando, que luego 1495 01:17:48,180 --> 01:17:49,840 al pasar el tiempo 1496 01:17:49,840 --> 01:17:52,140 a usar con rutinas o lo que sea 1497 01:17:52,140 --> 01:17:53,720 pierde el efecto de la 1498 01:17:53,720 --> 01:17:56,140 de la seta, pues habrá otra condición 1499 01:17:56,140 --> 01:17:58,039 de si se pierde el efecto de la seta 1500 01:17:58,039 --> 01:18:00,020 porque la buleana ya le dice que 1501 01:18:00,020 --> 01:18:01,939 cambia de estado 1502 01:18:01,939 --> 01:18:03,159 pues condición 1503 01:18:03,159 --> 01:18:05,600 otra, si se cumple 1504 01:18:05,600 --> 01:18:07,899 pues entonces el Super Mario pesará 1505 01:18:07,899 --> 01:18:10,020 otra vez lo que pesaba 1506 01:18:10,020 --> 01:18:11,460 que son 20 kilos 1507 01:18:11,460 --> 01:18:14,119 tampoco es cualido el nombre pero pues eso 1508 01:18:14,119 --> 01:18:15,960 ¿vale? es un poco la lógica 1509 01:18:15,960 --> 01:18:17,979 que ya podemos ir accediendo a distintos 1510 01:18:17,979 --> 01:18:20,020 componentes, si vamos pensando 1511 01:18:20,020 --> 01:18:21,979 que es cada clase, está la clase transform 1512 01:18:21,979 --> 01:18:23,739 está la clase rigidbody 1513 01:18:23,739 --> 01:18:26,239 a ver, ahora vuelvo a la rigidbody 1514 01:18:26,239 --> 01:18:28,060 porque es la que nos ocupa, pero incluso 1515 01:18:28,060 --> 01:18:30,119 mesh 1516 01:18:30,119 --> 01:18:31,939 renderer, vale, otro 1517 01:18:31,939 --> 01:18:34,020 componente que tenemos ahí, que con una 1518 01:18:34,020 --> 01:18:35,779 geometría está, este no es exactamente 1519 01:18:35,779 --> 01:18:38,039 mesh renderer, pero si ponéis mesh 1520 01:18:38,039 --> 01:18:39,699 vais a ver 1521 01:18:39,699 --> 01:18:41,859 que hay uno que es mesh que ocupa 1522 01:18:41,859 --> 01:18:43,939 más cosas y luego hay uno que es mesh renderer 1523 01:18:43,939 --> 01:18:45,880 y si ahora mismo rb 1524 01:18:45,880 --> 01:18:47,800 pelota, que es como llamado al acceso 1525 01:18:47,800 --> 01:18:49,659 a esa clase, que habrá que 1526 01:18:49,659 --> 01:18:51,140 asignar 1527 01:18:51,140 --> 01:18:53,880 el vector, si yo me meto en 1528 01:18:53,880 --> 01:18:55,119 rb pelota 1529 01:18:55,119 --> 01:18:57,699 ahora al dar al punto ya no me va a salir lo de 1530 01:18:57,699 --> 01:18:59,020 masa, ni lo de 1531 01:18:59,020 --> 01:19:01,840 drag, porque eso 1532 01:19:01,840 --> 01:19:03,399 era de la clase 1533 01:19:03,399 --> 01:19:05,739 rigidbody, ahora me podré meter en 1534 01:19:05,739 --> 01:19:06,359 cosas como 1535 01:19:06,359 --> 01:19:08,260 yo que sé, 1536 01:19:08,899 --> 01:19:11,520 dynamic occlusion, a ver si sale 1537 01:19:11,520 --> 01:19:13,720 dynamic occlusion, bueno permitir 1538 01:19:13,720 --> 01:19:15,659 occlusion cuando dinámica, que está relacionado 1539 01:19:15,659 --> 01:19:17,199 con eso, o 1540 01:19:17,199 --> 01:19:24,359 material, ¿vale? Pues el material lo podremos cambiar accediendo, ¿vale? Accediendo a estos 1541 01:19:24,359 --> 01:19:29,880 parámetros, ¿vale? Veis entonces que cada componente suele tener una clase. BoxCollider, 1542 01:19:29,960 --> 01:19:35,699 por ejemplo, también es otro componente. Entonces normalmente, bueno, aquí sería 1543 01:19:35,699 --> 01:19:40,819 sphereCollider. Ahora mismo no, este no lo encontraría porque no existe ninguno, excepto 1544 01:19:40,819 --> 01:19:46,500 si le pasáramos el objeto pelota, pero sphereCollider habría que otra vez, y fijaos de nuevo en 1545 01:19:46,500 --> 01:19:50,460 como el iconito va a cambiar con respecto al del RigidBody, meto la pelota y veis, 1546 01:19:51,840 --> 01:19:58,800 ¿verdad? Que voy rápido, le guardo y ahora mismo el RB pelota en realidad es de la clase 1547 01:19:58,800 --> 01:20:04,220 SphereCollider, ¿no? Entonces aquí, ahora cuando le meta la pelota, lo que está buscando 1548 01:20:04,220 --> 01:20:15,640 es SphereCollider, en este caso, voy a quitar esto, porque puede que directamente no me 1549 01:20:15,640 --> 01:20:22,199 claro, sí, aquí debería 1550 01:20:22,199 --> 01:20:24,060 haber, ahí, ahora, ahora cuando 1551 01:20:24,060 --> 01:20:25,560 meta la pelota en 1552 01:20:25,560 --> 01:20:27,079 tip 1553 01:20:27,079 --> 01:20:30,000 está demandando, veis que 1554 01:20:30,000 --> 01:20:32,140 el iconito ya no es el del real body, es el del 1555 01:20:32,140 --> 01:20:33,420 sphere collider, porque estamos 1556 01:20:33,420 --> 01:20:35,979 hablando de el componente 1557 01:20:35,979 --> 01:20:37,880 de la clase asociada a ese componente, esto es muy 1558 01:20:37,880 --> 01:20:39,779 importante, porque si 1559 01:20:39,779 --> 01:20:41,899 entendemos esto, ya empezamos a ver 1560 01:20:41,899 --> 01:20:43,720 la luz con, puedo cambiar 1561 01:20:43,720 --> 01:20:45,659 por código, y sabiendo ahora además 1562 01:20:45,659 --> 01:20:47,439 condicionales y esto de las booleanas 1563 01:20:47,439 --> 01:20:48,880 de una forma todavía 1564 01:20:48,880 --> 01:20:52,180 bueno, pues inicial 1565 01:20:52,180 --> 01:20:54,300 ya podemos ir cambiando 1566 01:20:54,300 --> 01:20:55,859 el color del material cuando pase 1567 01:20:55,859 --> 01:20:58,380 por tal sitio, por poner un trigger 1568 01:20:58,380 --> 01:21:00,140 cuando pase por aquí que se cumpla 1569 01:21:00,140 --> 01:21:02,279 tal condición, entonces ya podemos ir 1570 01:21:02,279 --> 01:21:04,300 empezando a 1571 01:21:04,300 --> 01:21:06,420 vislumbrar 1572 01:21:06,420 --> 01:21:07,039 ciertas cosas 1573 01:21:07,039 --> 01:21:09,579 ¿qué tal? hasta aquí 1574 01:21:09,579 --> 01:21:13,319 esto creo que es bastante importante 1575 01:21:13,319 --> 01:21:15,619 ¿qué tal? 1576 01:21:16,560 --> 01:21:16,899 bien 1577 01:21:16,899 --> 01:21:19,819 ¿esto lo habéis intuido 1578 01:21:19,819 --> 01:21:21,579 ya o... 1579 01:21:21,579 --> 01:21:23,199 No, entiendo que no, ¿eh? 1580 01:21:23,399 --> 01:21:25,340 Porque muchas veces te puedes escribir RigidBody 1581 01:21:25,340 --> 01:21:27,479 porque te lo dice no sé quién y no sabes por qué es. 1582 01:21:28,039 --> 01:21:29,600 Es que los componentes tienen 1583 01:21:29,600 --> 01:21:31,579 una clase, normalmente, casi todos. 1584 01:21:32,619 --> 01:21:33,539 Una clase concreta 1585 01:21:33,539 --> 01:21:34,720 con los métodos de esa clase, 1586 01:21:35,340 --> 01:21:36,920 los parámetros. ¿Vale? 1587 01:21:37,600 --> 01:21:38,600 ¿Bien? ¿Sigo? 1588 01:21:40,640 --> 01:21:41,079 Sí. 1589 01:21:41,579 --> 01:21:43,840 Y, evidentemente, dependiendo de a qué clase 1590 01:21:43,840 --> 01:21:45,439 estemos metiéndonos, 1591 01:21:45,579 --> 01:21:47,420 tendrá unos parámetros u otros que son los mismos. 1592 01:21:47,760 --> 01:21:49,460 Los mismos y más de los que 1593 01:21:49,460 --> 01:21:55,359 estamos viendo en el inspector. Entonces, ahora mismo lo que nos interesa es afectar al rigid 1594 01:21:55,359 --> 01:22:02,020 body para aplicar fuerzas cuerpo físico. Importante, cuando cambiemos el nombre o cambiamos 1595 01:22:02,020 --> 01:22:10,020 el tipo de clase, cuidado, eso a veces es mejor no usar el public o el serialized field, cuidado 1596 01:22:10,020 --> 01:22:18,420 porque en el inspector de pronto hay que volver a reenganchar. Hace referencia, como ha cambiado 1597 01:22:18,420 --> 01:22:19,739 el tipo y dice yo no encuentro eso 1598 01:22:19,739 --> 01:22:21,840 y ya te fastidia un poco 1599 01:22:21,840 --> 01:22:24,340 y es por eso por lo que voy a explicar lo siguiente 1600 01:22:24,340 --> 01:22:25,539 ahora mismo 1601 01:22:25,539 --> 01:22:28,060 y esto también es 1602 01:22:28,060 --> 01:22:30,579 no es complicado hasta que lo pillen 1603 01:22:30,579 --> 01:22:32,439 ahora mismo lo que estamos haciendo 1604 01:22:32,439 --> 01:22:34,739 es siempre o muy habitualmente 1605 01:22:34,739 --> 01:22:36,479 decirle a que nos 1606 01:22:36,479 --> 01:22:38,500 estamos refiriendo del código 1607 01:22:38,500 --> 01:22:40,300 cogiendo un GameObject y 1608 01:22:40,300 --> 01:22:42,399 arrastrándoselo, lo hemos hecho en la instancia 1609 01:22:42,399 --> 01:22:44,479 en las instancias de los 1610 01:22:44,479 --> 01:22:46,800 obstáculos también, lo hemos hecho en varias ocasiones 1611 01:22:46,800 --> 01:22:48,260 el problema está 1612 01:22:48,260 --> 01:22:50,079 en que claro, primero el fastidio este 1613 01:22:50,079 --> 01:22:51,979 de que se te puede reenganchar y tienes que ir revisando 1614 01:22:51,979 --> 01:22:53,439 todos los objetos y has cambiado alguna cosa 1615 01:22:53,439 --> 01:22:55,420 de, ah pues aquí hay un hueco que no 1616 01:22:55,420 --> 01:22:57,500 tengo que arrastrar, hay una forma 1617 01:22:57,500 --> 01:22:58,979 en vez de decirle 1618 01:22:58,979 --> 01:23:01,439 tanto en public como con serialize fill 1619 01:23:01,439 --> 01:23:03,619 que es, hazme llegar 1620 01:23:03,619 --> 01:23:05,880 este rigidbody a través del inspector 1621 01:23:05,880 --> 01:23:07,319 haz el objeto 1622 01:23:07,319 --> 01:23:09,420 y si tiene un componente rigidbody pues 1623 01:23:09,420 --> 01:23:11,199 cojo, chupo lo que tenga ese 1624 01:23:11,199 --> 01:23:13,760 rigidbody, pero si yo lo tengo esto en private 1625 01:23:13,760 --> 01:23:14,520 que no 1626 01:23:14,520 --> 01:23:17,420 vamos, recordad que private o no 1627 01:23:17,420 --> 01:23:19,579 poner nada es lo mismo ¿vale? porque por defecto 1628 01:23:19,579 --> 01:23:20,640 las variables son privadas 1629 01:23:20,640 --> 01:23:22,779 al final aquí 1630 01:23:22,779 --> 01:23:25,880 no tengo forma de decirle 1631 01:23:25,880 --> 01:23:27,640 a qué rigidbody 1632 01:23:27,640 --> 01:23:28,659 le voy a afectar ¿no? 1633 01:23:29,140 --> 01:23:30,579 yo tengo aquí una variable rigidbody 1634 01:23:30,579 --> 01:23:33,319 aquí en este momento hay que 1635 01:23:33,319 --> 01:23:35,060 conocer el método 1636 01:23:35,060 --> 01:23:37,359 getComponent, de hecho os dije 1637 01:23:37,359 --> 01:23:39,199 en su momento, es importante la palabra componente 1638 01:23:39,199 --> 01:23:41,359 para entender esto, podemos 1639 01:23:41,359 --> 01:23:43,619 por código hacer que el código busque 1640 01:23:43,619 --> 01:23:45,479 un elemento 1641 01:23:45,479 --> 01:23:47,680 o un componente o una propiedad 1642 01:23:47,680 --> 01:23:48,460 de un 1643 01:23:48,460 --> 01:23:50,739 GameObject sin 1644 01:23:50,739 --> 01:23:53,300 tener que decirle explícitamente 1645 01:23:53,300 --> 01:23:54,840 en el inspector que GameObject es 1646 01:23:54,840 --> 01:23:57,399 entonces para decirle 1647 01:23:57,399 --> 01:23:58,819 oye yo lo que voy a hacer 1648 01:23:58,819 --> 01:24:00,779 para modificar 1649 01:24:00,779 --> 01:24:03,560 la velocidad, la fuerza de este RigidBody 1650 01:24:03,560 --> 01:24:05,479 pues aquí tengo una variable 1651 01:24:05,479 --> 01:24:07,060 llamada RigidBody pelota pero 1652 01:24:07,060 --> 01:24:09,439 realmente nadie, no estamos diciendo 1653 01:24:09,439 --> 01:24:10,119 en ningún momento 1654 01:24:10,119 --> 01:24:12,659 a qué objeto se refiere 1655 01:24:12,659 --> 01:24:15,079 porque no es que asuma 1656 01:24:15,079 --> 01:24:17,819 por defecto, ah pues si en esta clase 1657 01:24:17,819 --> 01:24:20,260 le meto, como está en el objeto 1658 01:24:20,260 --> 01:24:21,859 de la pelota, si le meto 1659 01:24:21,859 --> 01:24:23,020 una variable RigidBody 1660 01:24:23,020 --> 01:24:25,659 asume que es de sí misma, no, igual que cuando 1661 01:24:25,659 --> 01:24:27,819 hemos puesto el serializeField ha habido que arrastrar la pelota 1662 01:24:27,819 --> 01:24:29,800 a sí misma, aquí por código 1663 01:24:29,800 --> 01:24:31,720 podemos decirle, yo quiero 1664 01:24:31,720 --> 01:24:33,819 que tú busques 1665 01:24:33,819 --> 01:24:35,859 un componente en este 1666 01:24:35,859 --> 01:24:37,760 en este objeto, vale, si no 1667 01:24:37,760 --> 01:24:39,880 pongo delante ningún otro objeto 1668 01:24:39,880 --> 01:24:41,760 como hacíamos con lo de, os acordáis 1669 01:24:41,760 --> 01:24:43,739 con transform que si poníamos delante el nombre 1670 01:24:43,739 --> 01:24:45,600 de otra variable, buscaban el transform 1671 01:24:45,600 --> 01:24:47,699 del objeto que le habíamos remitido 1672 01:24:47,699 --> 01:24:49,779 me estoy liando 1673 01:24:49,779 --> 01:24:50,340 un poco, vale 1674 01:24:50,340 --> 01:24:53,420 si yo le digo, cógeme el componente 1675 01:24:53,420 --> 01:24:55,199 llamado RigidBody 1676 01:24:55,199 --> 01:24:57,319 de este objeto 1677 01:24:57,319 --> 01:24:59,560 vale, le dan una orden 1678 01:24:59,560 --> 01:25:01,760 que es, como en la 1679 01:25:01,760 --> 01:25:03,880 sintaxis, está la función 1680 01:25:03,880 --> 01:25:05,560 y sabemos que es función porque tiene 1681 01:25:05,560 --> 01:25:07,319 este paréntesis, que tiene todas las funciones 1682 01:25:07,319 --> 01:25:09,600 como la date, pero tiene esta añadida 1683 01:25:09,600 --> 01:25:10,340 entre 1684 01:25:10,340 --> 01:25:13,220 no sé si esto se llaman llaves 1685 01:25:13,220 --> 01:25:14,600 entre mayores y menores 1686 01:25:14,600 --> 01:25:16,979 en donde hay que decirle, cógeme el componente 1687 01:25:16,979 --> 01:25:18,859 llamado tal de este objeto 1688 01:25:18,859 --> 01:25:20,039 ¿vale? 1689 01:25:20,840 --> 01:25:23,340 y ahora sí que está entendiendo 1690 01:25:23,340 --> 01:25:25,340 el código que tenemos que afectar al rigidbody 1691 01:25:25,340 --> 01:25:27,079 de la pelota, porque está 1692 01:25:27,079 --> 01:25:28,899 cogiendo el rigidbody de sí mismo 1693 01:25:28,899 --> 01:25:31,079 del objeto que tenga el script 1694 01:25:31,079 --> 01:25:33,220 que eso no quita 1695 01:25:33,220 --> 01:25:35,039 que en cierto momento podamos 1696 01:25:35,039 --> 01:25:35,859 decirle 1697 01:25:35,859 --> 01:25:38,720 por ejemplo 1698 01:25:38,720 --> 01:25:41,039 ¿vale? y esto, bueno, se puede 1699 01:25:41,039 --> 01:25:42,840 complicar bastante más, pero voy a hacerlo 1700 01:25:42,840 --> 01:25:44,279 Lo más simple que se me ocurre. 1701 01:25:44,779 --> 01:25:46,180 Si yo pongo un serialize field. 1702 01:25:47,180 --> 01:25:48,199 Del terreno. 1703 01:25:50,920 --> 01:25:52,039 El rigidbody. 1704 01:25:52,760 --> 01:25:53,819 Del terreno. 1705 01:25:55,479 --> 01:25:56,119 Voy a llamar. 1706 01:25:56,279 --> 01:25:57,039 Rigidbody terreno. 1707 01:25:58,159 --> 01:25:59,560 Yo puedo decirle. 1708 01:26:01,939 --> 01:26:02,500 No. 1709 01:26:03,439 --> 01:26:03,739 Game. 1710 01:26:03,739 --> 01:26:06,079 Quiero que coja todo lo que tiene que ver con el game. 1711 01:26:06,859 --> 01:26:07,300 Vale. 1712 01:26:07,659 --> 01:26:09,300 Aquí he vuelto a poner el serialize field. 1713 01:26:09,460 --> 01:26:11,500 Porque si no tendría que explicar otro método más. 1714 01:26:11,500 --> 01:26:36,279 Pero yo puedo decirle que esta variable que se ocupa de RigidBodies, en vez de coger el RigidBodies de sí mismo, el componente de sí mismo, que coja el de el objeto RBTerreno, que ahora mismo está cogiendo el componente, el RigidBodies, del GameObject que le haya pasado por el inspector. 1715 01:26:36,279 --> 01:26:38,100 otra vez estamos recurriendo al inspector 1716 01:26:38,100 --> 01:26:40,180 cada vez podemos ir quitando más 1717 01:26:40,180 --> 01:26:42,039 serialize fill, si vamos 1718 01:26:42,039 --> 01:26:44,199 poniendo más métodos, pero bueno, voy al 1719 01:26:44,199 --> 01:26:46,180 más simple, ¿no? Yo puedo 1720 01:26:46,180 --> 01:26:47,880 decirle, cógeme el componente RigidBody 1721 01:26:47,880 --> 01:26:49,640 que ahora mismo es una chorrada de un piano porque 1722 01:26:49,640 --> 01:26:51,680 no hay ningún RigidBody, todavía no se lo he puesto 1723 01:26:51,680 --> 01:26:53,600 ¿vale? No hay ningún RigidBody, entonces 1724 01:26:53,600 --> 01:26:56,180 no encontraría y daría problemas, pero si 1725 01:26:56,180 --> 01:26:56,859 yo le 1726 01:26:56,859 --> 01:26:59,180 le pongo aquí un RigidBody 1727 01:26:59,180 --> 01:27:01,979 simplemente por la prueba, aunque va a haber que ponérselo 1728 01:27:01,979 --> 01:27:03,979 por distintas cosas, claro, yo a lo mejor 1729 01:27:03,979 --> 01:27:05,420 desde el script de la pelota 1730 01:27:05,420 --> 01:27:07,020 cuando haga algo con la pelota 1731 01:27:07,020 --> 01:27:09,460 quiero afectar a los parámetros del RigidBody 1732 01:27:09,460 --> 01:27:10,619 del terreno 1733 01:27:10,619 --> 01:27:13,119 entonces yo le digo, vale, pues de este 1734 01:27:13,119 --> 01:27:15,180 objeto terreno, que es el paso aquí 1735 01:27:15,180 --> 01:27:17,300 de hecho de este objeto que hay aquí 1736 01:27:17,300 --> 01:27:18,500 vale 1737 01:27:18,500 --> 01:27:21,479 esta variable de RigidBody 1738 01:27:21,479 --> 01:27:22,920 que gestiona los compartimientos 1739 01:27:22,920 --> 01:27:25,340 de RigidBodies, que me coja 1740 01:27:25,340 --> 01:27:27,460 el RigidBody, pero no 1741 01:27:27,460 --> 01:27:29,239 de sí mismo, sino del terreno 1742 01:27:29,239 --> 01:27:31,500 vale, entonces yo ahora 1743 01:27:31,500 --> 01:27:33,560 mismo con RB pelota, en realidad 1744 01:27:33,560 --> 01:27:35,260 si me meto a cambiar la masa 1745 01:27:35,260 --> 01:27:44,439 y le digo 50, como hemos hecho antes, ¿vale? Lo estamos haciendo sin tener que, es decir, 1746 01:27:44,479 --> 01:27:47,739 el RigidBody en ningún momento lo estamos referenciando por inspector, lo estamos cogiendo 1747 01:27:47,739 --> 01:27:56,159 por código. Entonces, vais a ver que cuando ahora yo le dé al play, tened en cuenta que 1748 01:27:56,159 --> 01:28:02,399 tanto la pelota como el terreno tienen RigidBody, vais a ver que la masa que cambia ahora mismo 1749 01:28:02,399 --> 01:28:04,340 no es de sí misma, del RigidBody 1750 01:28:04,340 --> 01:28:05,939 de sí mismo, sino el del terreno 1751 01:28:05,939 --> 01:28:06,739 vamos a ver 1752 01:28:06,739 --> 01:28:09,939 entonces podéis acceder a distintos objetos 1753 01:28:09,939 --> 01:28:12,539 bueno, claro, le he puesto un RigidBody 1754 01:28:12,539 --> 01:28:14,220 al terreno y le he aceptado la gravedad, no lo he quitado 1755 01:28:14,220 --> 01:28:15,420 lo voy a quitar 1756 01:28:15,420 --> 01:28:18,300 por ejemplo, aquí no queremos usar gravedad 1757 01:28:18,300 --> 01:28:18,920 entonces ya 1758 01:28:18,920 --> 01:28:22,060 solo se queda ahí 1759 01:28:22,060 --> 01:28:24,659 es verdad que se ve afectado por las fuerzas físicas 1760 01:28:24,659 --> 01:28:26,439 lo que me importa, cuando se ha dado 1761 01:28:26,439 --> 01:28:28,340 al play, la pelota sigue teniendo la masa 1762 01:28:28,340 --> 01:28:29,840 de 1, porque nada se lo ha cambiado 1763 01:28:29,840 --> 01:28:32,380 pero la del terreno, veis que ha pasado a tener 1764 01:28:32,380 --> 01:28:41,659 50. Importante, podéis acceder a los componentes de otros objetos a través de código, sin 1765 01:28:41,659 --> 01:28:46,579 tener que usar el inspector para nada. Y es más, eso, ahora mismo lo estamos serializando, 1766 01:28:46,859 --> 01:28:54,260 pero simplemente para que suenen más adelante. También podemos decirle que la RB pelota, 1767 01:28:54,260 --> 01:29:01,800 en realidad, y aquí ya no me daría igual, que afecte a un objeto. Esto lo escribo muy 1768 01:29:01,800 --> 01:29:03,420 rápido porque tampoco me interesa que 1769 01:29:03,420 --> 01:29:05,779 nos pongamos locos, pero si empezamos a 1770 01:29:05,779 --> 01:29:07,399 decirle que dentro de 1771 01:29:07,399 --> 01:29:09,800 la clase GameObject en general, de los GameObjects 1772 01:29:10,500 --> 01:29:11,880 haga, encuéntrame un objeto 1773 01:29:11,880 --> 01:29:13,859 que se llame, de los que hay aquí 1774 01:29:13,859 --> 01:29:15,739 ¿vale? que se llame terreno 1 y lo pongo 1775 01:29:15,739 --> 01:29:16,800 literal en un string 1776 01:29:16,800 --> 01:29:19,859 terreno 1 ¿vale? y de ese terreno 1777 01:29:19,859 --> 01:29:21,460 1 ya sí que métete 1778 01:29:21,460 --> 01:29:23,640 y búscame el componente RigidBody y 1779 01:29:23,640 --> 01:29:25,899 todo lo que vaya a hacer con RBPelota 1780 01:29:25,899 --> 01:29:27,159 se refiere a eso 1781 01:29:27,159 --> 01:29:29,779 ahora mismo vais a ver que no 1782 01:29:29,779 --> 01:29:31,560 voy a meter absolutamente nada por 1783 01:29:31,560 --> 01:29:32,840 inspector, que yo 1784 01:29:32,840 --> 01:29:35,560 y lo suyo sería, dado que 1785 01:29:35,560 --> 01:29:37,640 a lo que va a afectar es el terreno, aunque esté en el 1786 01:29:37,640 --> 01:29:39,039 script aplicado a la pelota 1787 01:29:39,039 --> 01:29:41,439 pues lo suyo es que ponga terreno, pero bueno 1788 01:29:41,439 --> 01:29:42,659 que esto no deja de ser un nombre 1789 01:29:42,659 --> 01:29:45,840 pues si yo pongo aquí rbterreno 1790 01:29:45,840 --> 01:29:47,699 rbterreno, vais a 1791 01:29:47,699 --> 01:29:49,659 ver que sin referenciar nada en absoluto 1792 01:29:50,479 --> 01:29:51,159 en el código 1793 01:29:51,159 --> 01:29:53,800 va a hacer otra vez 1794 01:29:53,800 --> 01:29:55,100 el cambio de la masa al terreno 1795 01:29:55,100 --> 01:29:56,739 desde el script de la pelota 1796 01:29:56,739 --> 01:29:59,279 es decir, el terreno no tiene en ningún momento 1797 01:29:59,279 --> 01:30:01,340 aplicado el script, es la pelota 1798 01:30:01,340 --> 01:30:04,140 y en la pelota, cuando hagamos el play 1799 01:30:04,140 --> 01:30:06,100 otra vez, vais a ver que la masa 1800 01:30:06,100 --> 01:30:07,640 que cambia no es la de la pelota 1801 01:30:07,640 --> 01:30:09,840 la de la masa 1802 01:30:09,840 --> 01:30:12,279 y la que va a tener 50 es el terreno 1803 01:30:12,279 --> 01:30:13,380 ¿vale? 1804 01:30:14,600 --> 01:30:16,520 esto es quizá enrevesado 1805 01:30:16,520 --> 01:30:18,079 y esta última parte para hacerlo 1806 01:30:18,079 --> 01:30:20,100 sin usar 1807 01:30:20,100 --> 01:30:21,560 el serialize fill en absoluto 1808 01:30:21,560 --> 01:30:23,119 es un poco peleaguda 1809 01:30:23,119 --> 01:30:25,039 y voy a poner otra vez pelota 1810 01:30:25,039 --> 01:30:27,319 porque es lo que vamos a tocar 1811 01:30:27,319 --> 01:30:29,859 pero creo que es 1812 01:30:29,859 --> 01:30:31,960 bastante importante ir 1813 01:30:31,960 --> 01:30:33,939 haciéndose la cabeza, ¿vale? Otra vez 1814 01:30:33,939 --> 01:30:35,960 sin meter nada por 1815 01:30:35,960 --> 01:30:38,000 referencia, siendo privado, ahora mismo estoy 1816 01:30:38,000 --> 01:30:40,060 cogiendo el componente RigidBody 1817 01:30:40,060 --> 01:30:42,180 llamado RigidBody de la pelota 1818 01:30:42,180 --> 01:30:44,020 y lo guardo en esta variable para ya poder 1819 01:30:44,020 --> 01:30:45,060 hacer lo que quiera con ella. 1820 01:30:46,039 --> 01:30:46,619 Hasta aquí, ¿qué tal? 1821 01:30:47,619 --> 01:30:50,020 Sé que hablo muy rápido, como le doy vueltas 1822 01:30:50,020 --> 01:30:51,640 creo que lo 1823 01:30:51,640 --> 01:30:54,199 alivio porque le doy 20 vueltas 1824 01:30:54,199 --> 01:30:55,779 pero voy rápido. ¿Qué tal? 1825 01:30:59,720 --> 01:31:00,279 A ver si 1826 01:31:00,279 --> 01:31:01,159 se entiende. 1827 01:31:01,159 --> 01:31:02,979 Esto es pensar 1828 01:31:02,979 --> 01:31:06,579 De dónde va una cosa 1829 01:31:06,579 --> 01:31:07,779 Y a dónde va la otra 1830 01:31:07,779 --> 01:31:10,399 Pero veis que ya se pueden conectar objetos 1831 01:31:10,399 --> 01:31:12,640 Incluso con variables privadas 1832 01:31:12,640 --> 01:31:13,520 Que no es necesario 1833 01:31:13,520 --> 01:31:16,760 Usar el inspector y de hecho es muy recomendable 1834 01:31:16,760 --> 01:31:18,800 Porque si por ejemplo 1835 01:31:18,800 --> 01:31:20,619 Fuera un objeto que se 1836 01:31:20,619 --> 01:31:22,420 Spawnea, que aparece en mitad del juego 1837 01:31:22,420 --> 01:31:24,039 Claro, tú puedes 1838 01:31:24,039 --> 01:31:26,560 Arrastrar al inspector de Unity 1839 01:31:26,560 --> 01:31:28,119 Mientras estás editando el juego 1840 01:31:28,119 --> 01:31:30,340 Y luego lo arrancas, pero no puedes en mitad del juego 1841 01:31:30,340 --> 01:31:32,279 arrastrar, hay que hacerlo por código 1842 01:31:32,279 --> 01:31:34,560 entonces es algo que hay que ir 1843 01:31:34,560 --> 01:31:35,760 haciendo la cabeza ahí 1844 01:31:35,760 --> 01:31:38,180 ¿no? entonces 1845 01:31:38,180 --> 01:31:39,819 ahora mismo tenemos 1846 01:31:39,819 --> 01:31:41,380 uy, ya es la hora 1847 01:31:41,380 --> 01:31:44,439 en breve os voy a cortar y bueno 1848 01:31:44,439 --> 01:31:45,220 importante 1849 01:31:45,220 --> 01:31:47,640 RigiPod y de momento 1850 01:31:47,640 --> 01:31:50,279 voy a quitar 1851 01:31:50,279 --> 01:31:51,760 para dejarlo 1852 01:31:51,760 --> 01:31:54,439 no he avanzado quizá 1853 01:31:54,439 --> 01:31:56,500 ciertas dudas que teníamos pendientes 1854 01:31:56,500 --> 01:31:58,060 de lo del agujero 1855 01:31:58,060 --> 01:32:00,479 os dejo que sigáis probándolo por vuestra cuenta 1856 01:32:00,479 --> 01:32:02,420 y la semana que viene 1857 01:32:02,420 --> 01:32:04,600 pongo otra tutoría y seguimos viendo cosas 1858 01:32:04,600 --> 01:32:06,159 ¿vale? porque es que ya tengo que cerrar 1859 01:32:06,159 --> 01:32:08,079 el cuarto me echan 1860 01:32:08,079 --> 01:32:09,720 ¿vale? 1861 01:32:10,659 --> 01:32:12,460 esto además así hasta aquí 1862 01:32:12,460 --> 01:32:14,140 creo que he resuelto algunas dudas 1863 01:32:14,140 --> 01:32:15,539 o lagunas que pudierais tener 1864 01:32:15,539 --> 01:32:18,579 parece la semana que viene hacemos otra