1 00:00:02,609 --> 00:00:25,370 Pero Unity, donde podéis, digamos, encontrarlo si ponéis Unity, lo de Hub no es necesario. Al meteros en Unity, importante es que al dar a descargar, que os va a decir, hay varios planes, descargar para Windows, por ejemplo, yo que tengo Windows, lo que os va a instalar es un ejecutable que es el Unity Hub. 2 00:00:25,370 --> 00:00:35,909 Es decir, para entrar a Unity, lo tengo aquí, lo abro, todo lo vamos a hacer a partir de un gestor, igual que sucede con el Creative Cloud que lo instalamos desde la aplicación Adobe Creative Cloud, 3 00:00:36,390 --> 00:00:49,890 pues digamos que en Unity hay algo similar que es este Unity Hub. Este si lo instaláis, al final, a ver si me lo abre, está abriendo en la otra ventana, os va a abrir esta interfaz. 4 00:00:49,890 --> 00:01:04,609 Es importante que en este caso uséis una cuenta propia de correo electrónico que no sea la de EducaMadrid. A diferencia de a lo mejor lo que hacéis con Maya, que son licencias un poco dependientes de que seáis estudiantes, aquí da un poco igual. 5 00:01:04,609 --> 00:01:20,370 Es decir, como vais a ver, cuando luego activemos el Unity, vais a ver que hay licencias que te piden un dinero. Nosotros, si ya trabajáis más adelante, os puede interesar. De momento nos interesa lo de estudiante o aficionado. 6 00:01:20,370 --> 00:01:47,290 Y en vez de estudiante, que sí que incluye más cosas, pero os puede pedir demostrar que sois estudiantes, tenéis otra versión completamente funcional que es la personal, ¿vale? Que es la que os recomendaría que usaréis, ¿vale? Cuando instaléis el Unity Hub, ¿vale? Vais a tener que hacer, si no lo podéis hacer antes, una... Mira, me voy a salir. Os tendréis que crear una cuenta, ¿vale? Todo se gestiona a partir de esa cuenta. 7 00:01:48,250 --> 00:01:50,670 ¿Por qué os digo que uséis la personal en vez de la del instituto? 8 00:01:50,969 --> 00:01:56,049 Pues porque vamos a ir descargando como assets y paquetes en la Asset Store, 9 00:01:56,189 --> 00:01:59,090 que es, bueno, pues os la voy introduciendo, también están los temas, 10 00:01:59,650 --> 00:02:03,569 que es como una especie de base, una tienda virtual de Unity con assets, 11 00:02:03,569 --> 00:02:10,569 o scripts, con un montón de cosas, y va asociado al perfil de la cuenta de Unity 12 00:02:10,569 --> 00:02:11,710 que estéis empleando. 13 00:02:11,870 --> 00:02:14,990 Entonces, para que cuando acabe el curso no lo perdáis y podáis seguir, 14 00:02:14,990 --> 00:02:18,389 como da igual que tengáis la licencia de aquí o no 15 00:02:18,389 --> 00:02:22,189 pues usad el correo que vayáis a seguir usando 16 00:02:22,189 --> 00:02:23,610 para que sea operativo en el futuro 17 00:02:23,610 --> 00:02:25,669 una vez instaléis ese hub 18 00:02:25,669 --> 00:02:28,610 tendréis que hacer una cuenta, que registraros 19 00:02:28,610 --> 00:02:31,909 y siempre para que funcione tanto el Unity Hub 20 00:02:31,909 --> 00:02:36,949 como podéis emplear los paquetes 21 00:02:36,949 --> 00:02:38,830 os tendréis que loguear 22 00:02:38,830 --> 00:02:41,750 me lo ha introducido automáticamente 23 00:02:41,750 --> 00:02:44,770 pero es un usuario y una contraseña 24 00:02:44,770 --> 00:02:52,030 y ahí podéis verlo una vez tenéis el hub instalado vale tendréis que ir a una sección vale que es la 25 00:02:52,030 --> 00:02:57,430 que se llama installs las instalaciones y aquí es donde se instala en donde vamos a estar trabajando 26 00:02:57,430 --> 00:03:03,189 en unity que es el unity editor el editor de unity no de este hay muchas versiones vale y por ejemplo 27 00:03:03,189 --> 00:03:09,669 podéis dar a instalar editor y aquí os salen algunas versiones yo sí que os he pedido de que 28 00:03:09,669 --> 00:03:18,430 Si os instaláis una versión concreta, que es la que tenéis aquí, la 2023-48, y cuando vayáis a instalar no la encontraréis aquí por defecto. 29 00:03:18,610 --> 00:03:19,729 Tendréis que ir a archivo. 30 00:03:20,310 --> 00:03:23,969 Archivo dice, en archivo, visita nuestra página de archivo. 31 00:03:24,530 --> 00:03:31,590 Y dentro de esta página, que van juntando todas las versiones de Unity, que sea más antigua no significa que no se siga revisando. 32 00:03:31,810 --> 00:03:34,509 Como podéis ver, la que vamos a instalar es de este año de mayo. 33 00:03:34,509 --> 00:03:45,909 Sí que es verdad que algunas opciones cambian, a veces a mejor, a veces a peor, a veces más estable, menos estable, pero de momento esta es la que mejor nos va a venir a nivel de funcionalidades. 34 00:03:46,629 --> 00:03:55,669 Si más adelante en algún tema tenemos que subir de versión, lo haremos y sería también desde este archivo de versiones, de la misma forma. 35 00:03:55,669 --> 00:04:12,629 Yo, por ejemplo, os he dicho que instaléis esta versión, ¿no? La 3.48. Si le dais a Unity Hub, yo ya la tengo instalada, pero me saltará, os pediría instalarla. Se pueden tener varias versiones de Unity, ¿vale? Imaginaos que yo quiero tener también la 2022 3.11, ¿vale? Imaginaos. 36 00:04:12,629 --> 00:04:27,910 Si nos metemos en Unity Hub, pues de pronto va a salir aquí lo que se llaman los módulos. Los módulos son extensiones o partes de plugins, vamos a decirlo, que son necesarios para ciertas acciones. 37 00:04:27,910 --> 00:04:41,329 Y una de ellas es que tenemos que tener instalado lo que se llama el IDE, que es el entorno de desarrollo, que es donde vamos a hacer nuestros scripts, la programación, que es a través de otro software que se llama el Visual Studio. 38 00:04:41,329 --> 00:04:55,189 Lo mismo, aquí lo actualiza el 2022, os puede salir cuando instaléis la versión que yo os he comentado antes, la 2019 esa, marcarla e instalarla, porque es importante, es parte esencial del trabajo que vamos a hacer. 39 00:04:55,189 --> 00:05:12,730 Entonces, luego, cuando tengamos varias versiones, al lanzar los proyectos, aquí solo tengo una, pero aquí se puede lanzar en varias versiones. ¿Por qué os pido que abráis una quizá anterior? Porque primero, hay assets que van a ser más compatibles con una versión anterior, ¿vale? 40 00:05:12,730 --> 00:05:15,810 y también puede suceder 41 00:05:15,810 --> 00:05:17,709 al contrario, que sea al contrario 42 00:05:17,709 --> 00:05:19,589 que tengamos un asset que nos requiera subir 43 00:05:19,589 --> 00:05:21,490 pero en principio no debería ser el caso 44 00:05:21,490 --> 00:05:22,689 con lo que vamos a ir haciendo 45 00:05:22,689 --> 00:05:25,649 y... vale 46 00:05:25,649 --> 00:05:26,670 Jesús, gracias 47 00:05:26,670 --> 00:05:29,670 y... ¿qué estaba diciendo? 48 00:05:30,370 --> 00:05:31,730 Ah, bueno, que cuando creemos un nuevo 49 00:05:31,730 --> 00:05:33,589 proyecto, importante, aquí 50 00:05:33,589 --> 00:05:35,730 si solo tenemos una versión instalada, pues solo nos pondrá 51 00:05:35,730 --> 00:05:37,850 esta, pero es muy importante antes de lanzar 52 00:05:37,850 --> 00:05:39,790 el proyecto, escoger la versión 53 00:05:39,790 --> 00:05:41,889 en la que queramos trabajar y en las tareas 54 00:05:41,889 --> 00:05:46,870 os lo iré diciendo esta tarea hay que hacerla en esta versión importante 55 00:05:46,870 --> 00:05:51,050 marcarla porque luego cambiarla puede traer problemas vale 56 00:05:51,050 --> 00:05:55,009 no sé si hasta aquí alguno había intentado ya lo tenéis instalado por ver 57 00:05:55,009 --> 00:06:06,370 un poco en qué punto estáis vale daniel como te había dicho eso sí 58 00:06:06,370 --> 00:06:11,649 desde la propia web de unity ya podéis ir bajando el hub vale vale pues os 59 00:06:11,649 --> 00:06:15,730 diría que lo fuera jce haciendo ya y fuera intentando hacer la tarea de 60 00:06:15,730 --> 00:06:27,310 Sobre todo de la unidad 1, que es donde se ve si lo habéis instalado bien o no, porque cuando empezáis a hacer cosas, si van surgiendo problemas, pues es donde se va viendo. 61 00:06:30,230 --> 00:06:44,550 Continúo, también para que a lo mejor, aunque lo suyo es que lo vayáis siguiendo en el material de contenidos, una vez tenéis aquí el hub con la versión ya instalada del editor, eso es esencial, tener al menos una versión del editor instalada. 62 00:06:44,550 --> 00:07:04,430 En este caso esta es la que os pido nuevamente. Que por cierto, veis que aquí tiene una etiqueta LTS. No todas las versiones tienen esto de LTS. Esto significa Long Term Support, es decir, como soporte a largo plazo. Estas versiones son las más recomendables porque son, como ya os he enseñado antes, las que siguen revisando. 63 00:07:04,430 --> 00:07:18,670 Que aunque ponga 2020, sí es que se siguen revisando. Simplemente que siempre es más aconsejable tener una versión LTS, que hay varias, que una que no lo sea. 64 00:07:19,550 --> 00:07:23,470 Luego, a la hora de generar un proyecto, cuando empecé vuestro primer proyecto, 65 00:07:23,670 --> 00:07:25,310 os van a salir aquí varias plantillas. 66 00:07:26,009 --> 00:07:27,670 Y vuelvo a decir, son plantillas. 67 00:07:27,810 --> 00:07:31,610 Luego, aunque cogiéramos una 2D, podríamos hacer un proyecto 3D, 68 00:07:31,769 --> 00:07:34,610 pero exigiría que instaláramos lo que se llaman paquetes. 69 00:07:35,269 --> 00:07:38,649 Os enseño aquí, por ejemplo, este template justo no tiene paquetes, 70 00:07:39,329 --> 00:07:42,009 pero el de 2D sí tiene paquetes. 71 00:07:42,089 --> 00:07:43,269 Vais a ver que tiene unos paquetes. 72 00:07:43,269 --> 00:08:08,209 Los paquetes en Unity son funcionalidades como plugins, nuevamente, que en este caso es necesario. Para hacer juegos 2D tiene que haber un gestor de sprites. Como estos paquetes al instalarlos ocupan espacio en el disco duro, hay distintas plantillas porque si no vas a usar nada de 2D, ¿para qué te iban a instalar todos los paquetes de 2D? 73 00:08:08,209 --> 00:08:28,550 Entonces, atención, ya vienen como bien catalogados, pero aquí vais a ver eso, que hay las plantillas y aquí se pueden ir filtrando las core, ¿vale? Veis que hay core, pues si queremos hacer algo para realidad virtual, que vais a ver que en los paquetes pues tienen unos cuantos, todos como muy enfocados a realidad aumentada, virtual, etc. 74 00:08:28,550 --> 00:08:51,769 Esto de momento no nos va a interesar. Si vamos a hacer un proyecto de 3D, habría que escoger esta. Entonces es importante al empezar un proyecto, escoger bien el template, la versión, luego si a lo mejor queréis trastear escenas de prueba, por ejemplo estas son para tener flujos de render más avanzados, esto ya lo veremos. 75 00:08:51,769 --> 00:09:06,570 Hay una sección con proyectos que son como que te instalas este proyecto y te va explicando cómo está hecho, te deja customizarlo. De momento, para empezar de cero, digamos, hacia el propósito que queramos, se usarían las core. Estas que están catalogadas como core. 76 00:09:07,450 --> 00:09:14,049 Imaginaos que queremos hacer un proyecto de 3D, como de hecho se os pide en la tarea de la unidad 1. 77 00:09:15,350 --> 00:09:21,970 Tendréis que poner un nombre a este proyecto, que es básicamente la carpeta que va a tener todo el contenido del proyecto. 78 00:09:22,309 --> 00:09:30,929 Será como se llame, ¿no? Por ejemplo, la voy a llamar prueba, tutoría inicial, yo qué sé, cualquier cosa. 79 00:09:30,929 --> 00:09:46,370 Y aquí es donde se define en qué parte del ordenador, del disco duro se va a guardar. Yo, por ejemplo, voy a poner en el escritorio, por tenerlo a mano, ¿vale? Pues voy a escoger que se guarde ahí, ¿vale? En la carpeta del escritorio. 80 00:09:46,370 --> 00:09:48,629 una vez lo tengamos 81 00:09:48,629 --> 00:09:49,830 en principio 82 00:09:49,830 --> 00:09:51,629 en la versión que queremos 83 00:09:51,629 --> 00:09:53,889 está en 3D, con su nombre 84 00:09:53,889 --> 00:09:56,809 y en una ruta, ¿vale? pues creamos el proyecto 85 00:09:56,809 --> 00:09:58,809 esto va a tardar 86 00:09:58,809 --> 00:10:00,110 vais a ver que 87 00:10:00,110 --> 00:10:02,929 en Unity, ahora no lo estáis viendo 88 00:10:02,929 --> 00:10:03,889 porque tengo otro monitor 89 00:10:03,889 --> 00:10:06,149 pero saldrá, aquí os lo muevo 90 00:10:06,149 --> 00:10:08,210 que creando el proyecto, abriéndolo 91 00:10:08,210 --> 00:10:09,950 Unity es un software que tarda 92 00:10:09,950 --> 00:10:12,350 a veces minutos, según el número 93 00:10:12,350 --> 00:10:13,990 de paquetes que tengáis 94 00:10:13,990 --> 00:10:16,090 tardará más o menos, porque ahora mismo 95 00:10:16,090 --> 00:10:42,110 Ahora os enseño la carpeta. Lo que está generando Unity es este proyecto en esta carpeta que os he indicado. Vais a ver que ya por defecto genera un montón de subcarpetas y directorios, etc. Entonces esto se toma un tiempo. Cuantos más paquetes tenga que incluir. Sigue cargando. Este ordenador no es especialmente lento y veis que tarda. Así que paciencia. Voy a esperar a que termine. 96 00:10:42,110 --> 00:10:59,669 Y esta es vuestra primera vez, los que no la hayáis instalado, imagino que veis la interfaz de Unity. Hay otra cosa que he dicho que es que las tutorías se grabarán también, es decir, se irá más allá o menos si vais haciendo las tareas y también vais preguntando. 97 00:10:59,669 --> 00:11:18,669 Lo digo que es importante, es decir, los contenidos van a estar, pero lo que importa es que vayamos. Vale, que no vea a nadie contestar. Vale, pues estamos aquí en la interfaz, ¿no? Y os voy a enseñar, antes de seguir con Unity, os voy a enseñar la carpeta que he generado. Voy a cerrar todo. Vamos, cerrar es ocultar. Dame un segundillo. 98 00:11:18,669 --> 00:11:29,990 y vale estáis viendo esta carpeta en mi escritorio vale si nos metemos aquí vale veis que acabo de 99 00:11:29,990 --> 00:11:35,230 generar un proyecto nuevo y ya de primeras fijaos dentro de esa carpeta lo que es el proyecto unity 100 00:11:35,230 --> 00:11:40,129 la cantidad de cosas que tienen que esto es lo que por lo que en parte tarda tanto vale aquí 101 00:11:40,129 --> 00:11:46,809 vais a ir viendo ya iremos viendo que uso tienen algunas carpetas vale que todo esto cuando queramos 102 00:11:46,809 --> 00:11:50,529 moverlo de un ordenador a otro me queráis compartir el proyecto hay otra forma que es 103 00:11:50,529 --> 00:11:56,049 generar un paquete vale pero de primeras vais a tener que compartirme esta carpeta padre vale 104 00:11:56,049 --> 00:12:04,830 entonces que veáis que de momento tenemos aquí un mejunje de carpetas grande si queremos mover el 105 00:12:04,830 --> 00:12:09,970 proyecto ya os digo habrá que mover esta carpeta entera mover sólo una de estas carpetas de 106 00:12:09,970 --> 00:12:15,669 contextualizada no nos sirve para mucho vale prueba tutorial y prueba tutorial inicial y 107 00:12:15,669 --> 00:12:32,870 Y vais a ver que aquí el proyecto, lo que es el conjunto de proyectos, se llama Prueba Tutoría Inicial, ¿vale? Os pondrá aquí, pues, para qué se está construyendo, esto ya veremos, para que, pues ahora mismo está configurado para que si este juego se exportara, esté destinado a PC, a ordenador, básicamente. 108 00:12:32,870 --> 00:12:41,210 Y esta es la versión que estáis usando con la licencia personal, que es la que os he dicho que seleccionáis, si os lo pide. 109 00:12:42,649 --> 00:12:52,570 Lo mismo, si no habéis visto todavía el tema, vais a ver que la interfaz, como sucede en todos los softwares que iréis viendo, 110 00:12:52,909 --> 00:12:57,110 se compone de una cantidad de paneles que son movibles. 111 00:12:57,110 --> 00:13:20,190 Es decir, podemos estar configurando el espacio de trabajo de manera totalmente flexible arrastrando, muy similar, por ejemplo, a lo que haréis con las aplicaciones de Adobe. En el tema 1 se explica un poco con detalle qué es cada uno de estos paneles. Os animo a que lo veáis y lo vayáis usando. 112 00:13:20,190 --> 00:13:40,370 Recordad también cuando instalamos el Unity, el editor en installs, que había que instalar el Visual Studio. ¿Os acordáis? Imaginaos que no marcasteis el tick de instalar Visual Studios y decís, pues no tengo Visual Studio y ahora lo vamos a necesitar. 113 00:13:40,370 --> 00:13:45,210 Si vais a installs, vais a ver que cada versión que hayamos instalado tiene una tuerquecilla aquí 114 00:13:45,210 --> 00:13:47,649 Que es para mostrar los módulos 115 00:13:47,649 --> 00:13:50,549 Si damos a add modules, nos vuelve a aparecer esa ventanica 116 00:13:50,549 --> 00:13:55,690 Porque a lo mejor en cierto momento vamos a hacer una aplicación, un juego para Android 117 00:13:55,690 --> 00:13:56,990 Pues habrá que instalar esto, ¿vale? 118 00:13:57,149 --> 00:13:57,929 Y se irá sumando 119 00:13:57,929 --> 00:14:01,230 Lo mismo, no se instala todo de golpe porque fijaos que peso tiene 120 00:14:01,230 --> 00:14:04,990 Pues si no se va a usar, pues peso que nos vamos ahorrando, ¿vale? 121 00:14:05,190 --> 00:14:06,870 Pero siempre se puede volver, ¿vale? 122 00:14:06,870 --> 00:14:34,629 Veis que por defecto, antes ponía 2022, la 2020 va a tener una versión de Visual Studio que es la 2019. Yo ya lo tengo instalado. Hay una cosa importante cuando estemos luego trabajando, que es que cuando vayamos a tocar el código, que ahora hacemos alguna prueba si queréis, vamos a tener que decirle qué IDE, qué entorno de desarrollo es el que queremos emplear, que será ese Visual Studio. 123 00:14:34,629 --> 00:14:52,350 Pero por defecto no viene vinculado. No os voy a hacer un repaso, para eso leed la lección 1, iréis viendo un poco más en detalle y también hay algún vídeo de Álvaro que os cuenta más qué hace cada una de las secciones. 124 00:14:52,350 --> 00:15:11,509 Lo podéis ver ahí, creo que está bien explicado, no es algo que tenga más complejidad, pero es importante, aunque también se ve que es posteriormente para usar scripts habrá que ir a la sección de edit, preferencias y algo importante, la sección de external tools, herramientas externas. 125 00:15:12,350 --> 00:15:16,009 Aquí es donde le decimos cuál va a ser el editor de scripts que vamos a usar. 126 00:15:16,409 --> 00:15:21,029 Si habéis hecho ya la instalación de Visual Studio, os aparecerá aquí. 127 00:15:21,330 --> 00:15:23,870 Si no, lo podéis buscar en plan en vuestro ordenador, 128 00:15:24,029 --> 00:15:27,850 ver dónde está el ejecutable de Visual Studio y lo asociáis ahí. 129 00:15:28,730 --> 00:15:32,090 Según lo pongáis, os recomiendo que le deis a esto de regenerar project files, 130 00:15:32,090 --> 00:15:36,490 porque a veces hay como cachés que se quedan ahí por detrás y puede dificultar algo. 131 00:15:37,309 --> 00:15:39,250 Y para que no de error, si le damos no pasa nada. 132 00:15:39,250 --> 00:15:55,169 Esto es necesario para que luego cuando usemos scripts directamente nos asocie esta versión de Visual Studio para hacer lo que es el código que nos va a permitir controlar prácticamente todo lo que vayamos diseñando y desarrollando. 133 00:15:55,929 --> 00:16:08,509 Importante. Cuando descarguéis un Visual Studio, aquí no voy a poder descargar otro, os saldrá una ventana de Visual Studio que os dice si queréis instalar extensiones de Visual Studio. 134 00:16:08,509 --> 00:16:31,830 En principio, la que deberíais instalar, ¿vale? Visual Studio, Unity, Extension. A ver si sale una foto aquí de lo que os estoy comentando. Vale, os pedirá... Va a salir una ventana que va a empezar a mostrar, como dicen, muchos paquetes y tendréis que buscar una que pondrá herramientas para Unity. 135 00:16:31,830 --> 00:16:52,190 Esta es una versión más antigua, a ver si encuentro otra foto, ¿vale? Eso lo instaláis también. Vale, aquí, cuando salga esta desplegable como de workloads, ¿vale? Seleccionar el de game development con Unity, ¿vale? Y lo instaláis también, ¿vale? Importante. Esto irá saliendo solo a medida que vayáis instalando lo que hemos visto. 136 00:16:52,190 --> 00:16:53,909 vale, hasta aquí que tal 137 00:16:53,909 --> 00:16:56,710 tampoco voy a avanzar mucho 138 00:16:56,710 --> 00:16:58,990 porque prefiero que vayáis viendo el tema 139 00:16:58,990 --> 00:17:01,129 y en la próxima tutoría si que avanzamos más 140 00:17:01,129 --> 00:17:02,429 pero básicamente 141 00:17:02,429 --> 00:17:04,950 importante, y esto lo digo porque 142 00:17:04,950 --> 00:17:06,890 es uno de los errores iniciales que sucede 143 00:17:06,890 --> 00:17:09,009 en el panel 144 00:17:09,009 --> 00:17:10,670 de jerarquía, que bueno 145 00:17:10,670 --> 00:17:12,430 hay un menú de window 146 00:17:12,430 --> 00:17:16,809 que es digamos donde configuramos 147 00:17:16,809 --> 00:17:18,910 el espacio de trabajo, la distribución 148 00:17:18,910 --> 00:17:19,609 de paneles 149 00:17:19,609 --> 00:17:22,690 del software, entonces aquí 150 00:17:22,690 --> 00:17:25,789 hay muchas desplegables 151 00:17:25,789 --> 00:17:28,730 pero hay uno que es paneles y aquí están los seis 152 00:17:28,730 --> 00:17:31,690 paneles principales que aquí ya están desplegados 153 00:17:31,690 --> 00:17:35,069 pero si por ejemplo no vierais la consola, voy a cerrar 154 00:17:35,069 --> 00:17:37,910 este tab, esta pestaña 155 00:17:37,910 --> 00:17:41,069 no la tengo, pues siempre se puede abrir desde paneles 156 00:17:41,069 --> 00:17:44,269 y decís que queréis la consola 157 00:17:44,269 --> 00:17:47,230 mira, se me ha ido, que queremos otra vez 158 00:17:47,230 --> 00:17:49,190 reconfigurar un espacio de trabajo 159 00:17:49,190 --> 00:18:05,990 Vale, pues le decimos quiero el de por defecto y ya os lo abre con todas las pestañas abiertas, vaya, las pestañas como por defecto. Entonces tened en cuenta que los layouts son estos espacios de trabajo que se pueden ir abriendo, ¿vale? 160 00:18:06,670 --> 00:18:11,029 Aparte, si solo queréis abrir un panel, pues aquí vais a ver que hay muchos paneles, ¿vale? 161 00:18:11,029 --> 00:18:14,670 Esta sección, y la consola la podría haber recuperado otra vez dando aquí, ¿vale? 162 00:18:14,990 --> 00:18:17,089 Con este, un poco como en Adobe. 163 00:18:17,569 --> 00:18:21,690 En esta sección, pues se van abriendo los paneles. 164 00:18:21,750 --> 00:18:26,430 Por ejemplo, uno de animación, el animator, pues lo abro y aquí tengo otra pestaña, ¿vale? 165 00:18:27,009 --> 00:18:30,250 Que es donde iremos metiendo los distintos estados de animación. 166 00:18:30,410 --> 00:18:31,309 Ya veremos qué es esto. 167 00:18:32,349 --> 00:18:32,789 Vale. 168 00:18:32,789 --> 00:18:35,910 veréis que por defecto sale este fondo 169 00:18:35,910 --> 00:18:38,029 esto pues evidentemente 170 00:18:38,029 --> 00:18:39,690 se ve, podrá ir cambiando 171 00:18:39,690 --> 00:18:41,750 y hay dos paneles, escena y juego 172 00:18:41,750 --> 00:18:43,910 en escena es donde nosotros vamos a ir 173 00:18:43,910 --> 00:18:44,849 operando, haciendo 174 00:18:44,849 --> 00:18:46,670 disponiendo los elementos 175 00:18:46,670 --> 00:18:48,490 podremos navegar 176 00:18:48,490 --> 00:18:51,230 lo digo porque si de pronto veis un fondo que 177 00:18:51,230 --> 00:18:53,869 intentáis navegar con los atajos de navegación 178 00:18:53,869 --> 00:18:55,329 que os pongo los apuntes 179 00:18:55,329 --> 00:18:57,690 y no se mueve, es porque estáis en la ventana 180 00:18:57,690 --> 00:18:59,289 juego, que se parecen 181 00:18:59,289 --> 00:19:01,829 según la posición de la cámara se parecen más o menos 182 00:19:02,569 --> 00:19:03,670 Luego aparecen gizmos, ¿no? 183 00:19:03,670 --> 00:19:06,170 Como estos elementos que se ven aquí, la rejilla. 184 00:19:06,410 --> 00:19:07,529 Pero bueno, más o menos se parece. 185 00:19:07,950 --> 00:19:09,109 Y puedo decir, anda, si esto no va. 186 00:19:09,789 --> 00:19:12,809 Eso es porque estáis en una ventana destinada a testear el juego, ¿vale? 187 00:19:13,109 --> 00:19:14,990 Veis que incluso se pueden separar. 188 00:19:16,089 --> 00:19:18,109 Y aquí tenemos en la que sí nos podemos mover 189 00:19:18,109 --> 00:19:21,589 y otra que no, solo nos moveremos cuando le demos al play para probar el juego. 190 00:19:22,009 --> 00:19:22,730 ¿Vale? Importante. 191 00:19:22,829 --> 00:19:28,170 Que las distingáis para no tener conflicto de que no responde el programa, ¿vale? 192 00:19:28,170 --> 00:19:30,910 en el panel jerarquía es donde vamos a ir 193 00:19:30,910 --> 00:19:32,150 pudiendo meter 194 00:19:32,150 --> 00:19:34,710 los elementos como 195 00:19:34,710 --> 00:19:37,029 en Maya el outliner o las capas en Photoshop 196 00:19:37,029 --> 00:19:38,869 etcétera, entonces 197 00:19:38,869 --> 00:19:41,230 por ejemplo, para que veáis, voy a añadir un cubo 198 00:19:41,230 --> 00:19:43,130 ¿vale? pues se me ha 199 00:19:43,130 --> 00:19:44,990 creado un objeto cubo 200 00:19:44,990 --> 00:19:47,150 está aquí con su gizmo de las direcciones 201 00:19:47,150 --> 00:19:48,670 que yo podría mover, subir, bajar 202 00:19:48,670 --> 00:19:51,109 bastante similar a un editor de 203 00:19:51,109 --> 00:19:52,890 3D 204 00:19:52,890 --> 00:19:53,769 ¿no? estándar 205 00:19:53,769 --> 00:19:56,410 cuando seleccionamos un objeto 206 00:19:56,410 --> 00:20:09,849 y vais viendo que yo a medida que voy seleccionando objetos en esta jerarquía, aquí van cambiando los menús, el inspector lo que hará es mostrar las opciones asociadas a ese objeto. 207 00:20:10,490 --> 00:20:23,089 Por ejemplo, el cubo trae ya unos cuantos de los que se llaman componentes y los componentes, si voy recogiendo todo esto, son digamos como fragmentos de código que están configurados para que cumplan funciones. 208 00:20:23,089 --> 00:20:35,990 Cuando digo esto de componente, es importante saber lo que es un componente porque por código luego tendremos que poner componente. Me estoy refiriendo a un componente. Quiero coger un componente. Componente es cada uno de estos bloques con funcionalidades. 209 00:20:35,990 --> 00:20:42,690 que, por ejemplo, todo lo que se ocupa de dónde están las coordenadas del objeto, 210 00:20:42,809 --> 00:20:47,049 veis que si yo voy aquí desplazando el objeto en X o lo desplazo en cualquier eje, 211 00:20:47,849 --> 00:20:51,269 pues se ve reflejado aquí, esto es el componente llamado transform. 212 00:20:51,569 --> 00:20:53,990 Cuando luego por código queramos cambiar algo del transform, 213 00:20:54,630 --> 00:20:56,109 pues será el componente con este nombre. 214 00:20:56,230 --> 00:20:57,950 ¿Que queremos cambiar algo de un box collider? 215 00:20:58,509 --> 00:21:01,329 Pues tened en cuenta que el componente se llama box collider. 216 00:21:01,329 --> 00:21:04,089 Y aquí si quisiéramos ir metiendo más funcionalidades, 217 00:21:04,089 --> 00:21:20,230 Pues tenemos este añadir componentes, que hay unos cuantos, ¿no? Pues de física, por ejemplo, un RigidBody, lo agrego y ahora hay otro componente, ¿vale? Que tiene unas cuantas secciones, unos cuantos parámetros posibles, desplegables, etc. 218 00:21:20,230 --> 00:21:42,609 Al final, lo que tenéis que ir haciendo en vuestra cabeza es la idea de que todo esto que vamos viendo aquí, que son menús, ¿vale? Pues este campo que se puede poner un 5. Todo esto va a ser accesible mediante código. Entonces, aquí, digamos que es la versión asequible, ¿no? Como habéis hecho normalmente en todos los softwares que usáis, pero detrás hay código. 219 00:21:42,609 --> 00:21:48,490 Aquí lo que vamos a hacer es que vamos a poder alterar el código directamente en nuestros scripts escribiendo. 220 00:21:49,230 --> 00:21:55,650 Entonces, cuando queráis recurrir a, por ejemplo, cambiar la masa de este RigidBody, 221 00:21:56,269 --> 00:22:01,130 tened en cuenta que hay un componente que se llama RigidBody y luego un parámetro que se llama masa. 222 00:22:01,690 --> 00:22:03,470 Entonces, sabiendo esto, ya sabremos acceder. 223 00:22:04,230 --> 00:22:09,809 Si empecéis a leer el tema 0, el inicial, que es bastante árido, sobre todo cuando comencéis, 224 00:22:09,809 --> 00:22:27,289 Va a hablar de programación orientada a objetos, de clases, de cosas así. Las clases al final son como objetos, son un poco relacionados, son fragmentos de código que se recogen bajo un nombre. 225 00:22:27,289 --> 00:22:44,829 Entonces, este componente RigidBody significa que hay un objeto con una clase, ahora vemos que es una clase de una forma menos abstracta, que se llama RigidBody. Entonces, cuando queramos recurrir a este componente, será lo mismo que recurrir a una clase también. 226 00:22:44,829 --> 00:23:04,789 Voy a poner un ejemplo. Yo cuando hago un script nuevo, y para eso os presento el panel Project, aquí es donde vamos a ir teniendo los paquetes que vayamos instalando, los assets, aquí podremos ir metiendo los modelos, 3D o 2D, los sprites, todo se va a centralizar en estos assets. 227 00:23:04,789 --> 00:23:13,269 E importante, si os fijáis en la estructura de carpetas, y vuelvo a abrir lo que nos ha generado antes, vais a ver que algunas de estas carpetas sean igual. 228 00:23:13,349 --> 00:23:17,589 Por ejemplo, assets o packages. Packages está aquí y ahí. 229 00:23:18,369 --> 00:23:25,710 Si nos metemos aquí, vais a ver que dentro de assets hay una carpeta que se llama escenas, que casualidad se llama igual. 230 00:23:25,710 --> 00:23:38,950 O en Packages, si me meto, voy a tener unas cuantas carpetas, aquí no se ven porque están instaladas de otra forma, por código también, pero digamos que están ahí dentro también. 231 00:23:39,069 --> 00:23:50,869 Cuando se vayan incorporando más paquetes, ahí se verán. Incluso los Project Settings que se pueden ir alterando, como aquí, se van guardando todas esas configuraciones en esta carpeta. 232 00:23:50,869 --> 00:24:10,349 Entonces, por ejemplo, en Assets vais a ver que dentro de Assets ya hay lo que se llama una escena. Esta escena se llama Sample Scene. Cuando no veáis bien el nombre o tal, tened en cuenta que tenéis aquí una palanquita que os permite, incluso si lo lleváis al mínimo, que os lo ponga en forma de verlo en vista. 233 00:24:10,349 --> 00:24:13,450 si le dais a la tecla control y a la ruleta del ratón 234 00:24:13,450 --> 00:24:15,170 también podéis ir haciendo como zoom 235 00:24:15,170 --> 00:24:17,690 esto para cosas como el prefaz 236 00:24:17,690 --> 00:24:19,069 que el icono es muy representativo 237 00:24:19,069 --> 00:24:21,269 es importante conocerlo 238 00:24:21,269 --> 00:24:23,450 y veis que hay una escena 239 00:24:23,450 --> 00:24:25,049 ya por defecto que se llama 240 00:24:25,049 --> 00:24:27,430 sample scene y si veis aquí 241 00:24:27,430 --> 00:24:29,309 también además con el mismo iconito 242 00:24:29,309 --> 00:24:31,930 en la parte superior de la jerarquía 243 00:24:31,930 --> 00:24:33,950 está sample scene 244 00:24:33,950 --> 00:24:35,509 las escenas 245 00:24:35,509 --> 00:24:37,289 la forma más fácil que yo 246 00:24:37,289 --> 00:24:39,130 creo que hay para explicar lo que es 247 00:24:39,130 --> 00:24:41,430 son lo que se podrían llamar 248 00:24:41,430 --> 00:24:43,329 pantallas o niveles en el juego 249 00:24:43,329 --> 00:24:45,289 pues el nivel 1, luego nos pasamos 250 00:24:45,289 --> 00:24:46,589 a ese nivel y vamos al nivel 2 251 00:24:46,589 --> 00:24:49,130 todo lo que tengamos aquí dentro pues será 252 00:24:49,130 --> 00:24:51,150 la escena 1, podremos ir creando 253 00:24:51,150 --> 00:24:53,369 más escenas para ir cambiando entre una u otra 254 00:24:53,369 --> 00:24:55,369 ¿vale? o incluso se podrá 255 00:24:55,369 --> 00:24:57,029 abrir una estando en otra 256 00:24:57,029 --> 00:24:59,190 para ampliar un mundo ¿no? porque no se carga todo 257 00:24:59,190 --> 00:25:00,670 sino primero una parte del nivel 258 00:25:00,670 --> 00:25:02,990 y luego se va ampliando el mundo pues cargándose 259 00:25:02,990 --> 00:25:04,910 más escenas ¿vale? esto es importante 260 00:25:04,910 --> 00:25:06,950 porque si veis este asterisquito 261 00:25:06,950 --> 00:25:12,529 significa que esta escena no está guardada también aparece aquí arriba vale si yo le doy al control 262 00:25:12,529 --> 00:25:18,930 s pues básicamente todo lo que hemos hecho en esta escena se ha guardado importante hay que 263 00:25:18,930 --> 00:25:24,109 ir guardando las escenas a lo mejor estamos trabajando puedo crear aquí con clic derecho 264 00:25:24,109 --> 00:25:34,970 crear otra escena aquí está y llamarla nivel 2 vale y me meto en el nivel 2 y veis que ahora 265 00:25:34,970 --> 00:25:39,710 porque el fondo es el mismo pero veis que cuando me meto en el nivel 2 aquí pasó el nivel 2 y está 266 00:25:39,710 --> 00:25:45,890 virgen otra vez es decir no tiene el cubo que teníamos antes entonces yo a lo mejor aquí creo 267 00:25:45,890 --> 00:25:52,609 una esfera no por poner algo cuando yo voy al sample 2 te va a pedir guardar vale porque hasta 268 00:25:52,609 --> 00:25:58,609 que no guardes no te deja irte todo es importante para ir cambiando el nivel damos doble clic y 269 00:25:58,609 --> 00:26:03,710 podremos ir variando esto ya lo veremos de todo modo más avanzado pero que sepáis que las escenas 270 00:26:03,710 --> 00:26:06,950 son como los niveles y siempre hay que estar trabajando dentro de una escena. 271 00:26:07,150 --> 00:26:13,730 Por defecto nos crea esta sample, pero podemos decirle que la renombremos a nivel 1, 272 00:26:13,930 --> 00:26:15,029 por tenerlo así. 273 00:26:15,890 --> 00:26:18,910 Dice, bueno, va a cambiar en el assets, themes, ¿vale? 274 00:26:18,950 --> 00:26:23,690 Nos está diciendo que en esta carpeta van a ir cambiando el nombre, ¿no? 275 00:26:23,789 --> 00:26:27,289 De hecho, ya si nos metemos, veréis que dentro de la carpeta de escenas, 276 00:26:27,430 --> 00:26:30,289 que es esta aquí, ya hay dos niveles, ¿vale? 277 00:26:30,289 --> 00:26:34,589 Veis que todo lo que se vaya haciendo en este panel de proyectos luego se ve reflejado en esta carpeta. 278 00:26:34,650 --> 00:26:35,549 Y ha creado el nivel 2. 279 00:26:36,210 --> 00:26:43,609 Y vais a ver también, esto simplemente para que lo veáis, que asociado a cada elemento va a haber otro archivo llamado igual con finalización en .meta. 280 00:26:44,049 --> 00:26:46,710 Estos archivos, no los borréis, son metadatos, ¿vale? 281 00:26:46,750 --> 00:26:50,269 Son como archivos que genera automáticamente con los cambios que vayamos haciendo. 282 00:26:50,269 --> 00:26:56,230 Entonces, que no os asuste, que no veáis aquí esos archivos porque están destinados para trabajar por debajo. 283 00:26:56,630 --> 00:26:59,509 Nosotros no los vamos a manipular directamente. 284 00:26:59,509 --> 00:27:03,069 Pero veis que se va viendo reflejado, ¿no? 285 00:27:03,430 --> 00:27:04,890 Uy, va, que aquí me ha salido otro lado. 286 00:27:05,650 --> 00:27:08,009 Vale, lo voy a recargar con el nuevo nombre de escena, 287 00:27:08,410 --> 00:27:10,609 porque le cambié el nombre y ahora se llama nivel 1 288 00:27:10,609 --> 00:27:12,789 y en la carpeta también se llamará nivel 1, ¿vale? 289 00:27:14,009 --> 00:27:17,369 Vuelvo a los assets, que aquí ahora mismo solo tengo esta carpeta de escenas. 290 00:27:18,390 --> 00:27:20,190 Igual que tenemos esta carpeta de escenas, 291 00:27:20,529 --> 00:27:24,789 pues ahora podemos, por ejemplo, en el clic derecho y crear, 292 00:27:25,369 --> 00:27:26,589 crear otra carpeta, ¿no? 293 00:27:26,589 --> 00:27:28,470 Podemos hacer todas las carpetas que queramos. 294 00:27:28,470 --> 00:27:50,009 Y aquí vamos a hacer una, y esta es buena práctica, una carpeta que es la que tiene los scripts. Los scripts básicamente van a ser los fragmentos de código con los que nosotros vamos a dar instrucciones, tanto automáticas de que se mueva un objeto, es decir, en Unity siempre hay un panel de animación muy parecido al típico que veréis en Maya con keyframes, etc. 295 00:27:50,009 --> 00:28:09,609 Claro, pero eso va a ejecutar animaciones prehechas. Lo bueno y diferente de Maya con respecto a esto es que también aquí lo que vamos a querer es que los elementos interactúen a medida que nosotros vamos introduciendo inputs en el teclado, en el ratón, en el móvil o donde sea. Eso lo tenemos que hacer mediante scripts y mediante programación. 296 00:28:09,609 --> 00:28:33,390 Pero sí que hay, esto no lo vamos a ver en el curso, porque aparte de ser más avanzado, es una forma menos controlable, hay lo que se llama el Visual Scripting, que es una especie de paquete, esto lo digo para que os suene, de paquete que se instala y os permite hacer todas las acciones que se pueden hacer por código, o muchas, no todas, no es tan customizable, mediante nodos. 297 00:28:33,390 --> 00:28:46,950 Un poco, los nodos seguramente ya también los habréis visto en algún momento en otro software, pues mediante nodos. Pero es verdad que primero para saber qué estás controlando con esos nodos tienes que saber a qué hacen referencia y básicamente es a lo mismo que la programación. 298 00:28:46,950 --> 00:29:08,690 Entonces esto os puede simplificar cosas pero es bastante más avanzado. Si alguno a lo mejor habéis usado otro motor de render como Unreal, tiene lo que se llama los Blueprints y esos Blueprints son como fragmentos de código muy similar a esto del Visual Scripting y están más desarrollados aún que en Unity y hay gente que usa eso en nodos para programar. 299 00:29:08,690 --> 00:29:19,630 Pero, llegados a ciertos puntos, pues se pueden encontrar con límites o que no puedan customizar lo que quieran, que es lo que vamos a intentar hacer aquí todo lo posible. 300 00:29:21,029 --> 00:29:24,890 Entonces, para hacer esos códigos, básicamente tendremos que generar scripts, ¿vale? 301 00:29:25,549 --> 00:29:31,069 En esta carpeta de scripts me meto, vamos a crear, y este momento es importante, nuestro primer script, ¿vale? 302 00:29:31,089 --> 00:29:34,170 Es una tarea que vais a hacer de manera muy recurrente, ¿no? 303 00:29:34,170 --> 00:29:44,589 Para crear un script se puede hacer con clic derecho, crear, como casi todos los elementos que vamos a crear en el panel proyecto estarán dentro de esta opción de crear, porque hay un montón de cosas. 304 00:29:45,490 --> 00:29:55,349 Y aquí podéis generar lo que es un C-SARP script. Esto de C-SARP o C almohadilla, no sé, es el lenguaje de programación que se usará en Unity. 305 00:29:55,349 --> 00:30:08,470 En otros, por ejemplo, en Unreal se usa uno que se llama C++. En este se usa César. Cada uno es programación con unas reglas y una sintaxis diferenciada. 306 00:30:09,410 --> 00:30:20,650 Lo que os decía, César es el lenguaje de scripting que usamos, de programación, y cuando lo creéis, al crearlo, lo primero que os va a dar fallos, cuando le deis, os pide un nombre. 307 00:30:21,289 --> 00:30:24,589 Por defecto os pone esto de new behavior script, ¿vale? 308 00:30:24,769 --> 00:30:29,470 Y aquí es donde vamos a crear el nombre de una clase, ¿vale? 309 00:30:29,549 --> 00:30:31,630 Antes os he dicho, voy a poner ya el nombre, ¿vale? 310 00:30:31,630 --> 00:30:32,650 Y luego os sigo explicando. 311 00:30:32,990 --> 00:30:37,670 Voy a poner esto, script1, así con letras. 312 00:30:38,329 --> 00:30:42,490 Fijaos además, cuando escribo este nombre, que no ponemos espacios, 313 00:30:42,549 --> 00:30:44,450 esto lo ponen los temas, que no ponemos espacio. 314 00:30:44,970 --> 00:30:48,490 En el nombre de una clase, de un método, hay que empezar con una mayúscula, 315 00:30:48,490 --> 00:31:03,190 Se escribe luego en minúsculas y si vamos a usar otra palabra en vez de dejar un espacio, es todo seguido y lo vamos distinguiendo con las mayúsculas. Y una vez ya tengamos el nombre, script1, pincho fuera, donde sea, y se guarda. 316 00:31:03,190 --> 00:31:04,329 importante 317 00:31:04,329 --> 00:31:07,089 cuando ponemos este nombre 318 00:31:07,089 --> 00:31:08,109 la primera vez 319 00:31:08,109 --> 00:31:10,829 si luego lo vamos a cambiar el nombre 320 00:31:10,829 --> 00:31:13,049 hay que hacer más operaciones, no solo cambiar el nombre 321 00:31:13,049 --> 00:31:15,109 por eso, es fácil 322 00:31:15,109 --> 00:31:17,269 tampoco tiene mucho misterio 323 00:31:17,269 --> 00:31:19,250 pero de primeras para no liarnos 324 00:31:19,250 --> 00:31:21,190 y que no de error, tened en cuenta 325 00:31:21,190 --> 00:31:23,250 que el nombre en principio solo se puede poner 326 00:31:23,250 --> 00:31:24,289 una vez y ponerlo bien 327 00:31:24,289 --> 00:31:26,509 ahora os explico el porqué 328 00:31:26,509 --> 00:31:28,970 tened en cuenta lo que os he dicho 329 00:31:28,970 --> 00:31:31,190 que teníamos un montón de bloques 330 00:31:31,190 --> 00:31:32,789 de funcionalidades, por ejemplo 331 00:31:32,789 --> 00:31:37,089 El RigidBody para dar atributos de gravedad a nuestros objetos. 332 00:31:37,250 --> 00:31:42,690 O el BoxCollider sirve para que se detecten las colisiones en el área de este cubo, por ejemplo. 333 00:31:42,849 --> 00:31:47,630 Pues si nos acercamos al cubo y lo pongo en otra vista de shading, por ejemplo, WideFrame, 334 00:31:48,210 --> 00:31:59,869 cuando nos acerquemos, aquí, y le damos aquí, a ver, perdonad, van a salir, 335 00:31:59,869 --> 00:32:24,220 Y aquí, esto por defecto debería estar marcado, Composite Collider. Este cubo viene por defecto, pero la malla que muestra tiene unos límites que sirven de límites de las colisiones y es independiente de la geometría. Esto ya lo veremos. 336 00:32:24,880 --> 00:32:33,119 Entonces, cada una de estas funcionalidades, si no tuviera el Box Collider, no detectaría las colisiones. De hecho, como un ejemplo rápido. 337 00:32:33,119 --> 00:32:45,180 Ah, vale, perdón, no lo veía. Este cubo verde es el collider. De hecho, veis que cuando lo activo y lo desactivo es el collider. Aunque la geometría esté ahí, si el collider está aquí, esto lo veremos en un tema solo de física, ¿vale? 338 00:32:45,180 --> 00:33:03,759 Pero si no configuramos dónde tienen que estar las colecciones, pues actuará de una forma diferente. Si vemos aquí, podemos activar y desactivar este collider. Y como ejemplo, hemos puesto un componente, una funcionalidad que es que tenga gravedad, por ejemplo. 339 00:33:03,759 --> 00:33:17,740 El RigidBody de momento puede ser que tenga gravedad. Cuando yo le doy al play, ejecuto el juego, vais a ver que este objeto, y lo estamos viendo en la escena juego, recordad que cuando le damos al play nos vamos a la sección de juego. 340 00:33:17,740 --> 00:33:27,019 Y podemos tener abiertas las dos, porque habéis visto que aunque yo estaba viendo escena, de pronto me salta juego que está viendo lo que ve la cámara principal. 341 00:33:27,019 --> 00:33:29,720 entonces a veces queremos seguir 342 00:33:29,720 --> 00:33:31,359 aunque esté en play el juego 343 00:33:31,359 --> 00:33:33,680 vamos a querer seguir tocando nuestros objetos 344 00:33:33,680 --> 00:33:35,200 entonces es buena práctica tener 345 00:33:35,200 --> 00:33:37,440 el panel de escena y el panel de juego 346 00:33:37,440 --> 00:33:39,220 los dos abiertos 347 00:33:39,220 --> 00:33:41,200 y vais a ver ahora que sí que se va a ver 348 00:33:41,200 --> 00:33:42,059 aunque esté fuera de cámara 349 00:33:42,059 --> 00:33:43,579 que a ver yo podría llevar el objeto 350 00:33:43,579 --> 00:33:44,720 adelante de cámara 351 00:33:44,720 --> 00:33:45,940 a ver dónde tenemos la cámara 352 00:33:45,940 --> 00:33:48,160 la tenemos ahí 353 00:33:48,160 --> 00:33:50,240 y no se ve porque está 354 00:33:50,240 --> 00:33:52,720 vamos a ver 355 00:33:52,720 --> 00:33:55,660 porque está por detrás de la cámara 356 00:33:55,660 --> 00:34:12,059 Yo voy a ponerlo aquí, lo bajo y ya se empieza a ver el objeto. Estáis viendo que aquí, si pincho en la cámara que viene por defecto, sale el frustrum. No sé si es un término que habéis estudiado en otros módulos, que es la representación visual de que está captando la cámara. 357 00:34:12,059 --> 00:34:18,900 Está apuntando para ahí y hasta que el cubo no está dentro de ese frustrum, no se ve. 358 00:34:19,599 --> 00:34:26,079 Tenemos por un lado en la ventana juego la vista de ese juego y aquí en escena donde podemos navegar. 359 00:34:26,539 --> 00:34:33,059 Cuando demos a play, como ese cubo tiene el RigidBody, vais a ver que por defecto va a hacer... 360 00:34:33,059 --> 00:34:35,519 ¡Piu! Y se va a ir cayendo con la gravedad que tenga. 361 00:34:35,519 --> 00:34:48,300 Si yo, por ejemplo, con estos puntitos que tengo aquí, quito este componente, vais a ver que el cubo no se cae, porque no se le está aplicando esta fuerza de la gravedad, de fuerza física. 362 00:34:49,760 --> 00:35:01,000 Entonces, importante, cada uno de estos componentes, este nombre que tiene aquí, se corresponde con, cuando estudiéis la parte de programación orientada a objetos de la unidad 0, 363 00:35:01,000 --> 00:35:17,300 Que vais a decir, joder, qué árido es esto. Básicamente cada objeto o clase, ahora nos relacionamos, es el nombre con el que se ha guardado a cada una de estas funcionalidades. Voy a ir más allá y lo vais a entender mejor. 364 00:35:17,300 --> 00:35:31,860 Esto es importante para ir haciendo la cabeza. Cuando abramos el script, tenemos aquí el script esperando algo. Para abrirlo, recordad que tiene que estar asociado en External Tools el Visual Studio correspondiente que lo va a gestionar. 365 00:35:32,639 --> 00:35:44,460 Entre el 2019 y el 2022 habrá diferencias para programadores avanzados, para nosotros es lo mismo, pero esta versión es verdad que la que yo os digo 2020, la asociada que instala como módulo por defecto es la 2019. 366 00:35:44,460 --> 00:36:01,320 Para abrir, doble clic sobre este botón. Se os abrirá una ventana de Visual Studio, cargará y os abrirá esto por defecto. Esperamos un poco, que sobre todo el primero tarda más. A ver, que lo tengo con bastante zoom. Aquí podemos cambiar un poco el zoom. 367 00:36:01,320 --> 00:36:23,139 Bueno, no voy a dejar 150, yo creo que se ve bien, ¿verdad? Vale, esta parte de código, que es de la forma que viene planteada de primeras, pues tranquilidad, esto lo iremos viendo, pero vais a ver que hay una cosa que nos suena, que es este script1, que se llama así, igual que el script que hemos creado aquí. 368 00:36:23,139 --> 00:36:42,659 Y se llama igual, ¿vale? Porque cuando creamos un script, ¿vale? Lo que estamos generando es una clase nueva, un objeto nuevo de programación. Entonces, aquí vais a ver, aunque todavía no sepamos muy bien qué quiere decir todo esto, que se ha creado, esto aquí hay una clase que se llama, ¿vale? Script1, ¿vale? 369 00:36:42,659 --> 00:37:10,760 Para que este objeto que está en Unity se asocie bien al código que estamos tocando en Visual Studio, se tiene que llamar exactamente igual, ¿vale? Si yo aquí, por ejemplo, digo, lo voy a hacer aquí, es decir, ahí va, me he equivocado del nombre y no, yo lo quería llamar disparar porque es el script que vamos a usar para disparar y lo guardo, ¿vale? Nada te va a dar error, ¿eh? Pero como aquí, vuelvo al Visual Studio, bueno, de hecho, mira, ya no lo está reconociendo y algo pasa, ¿vale? 370 00:37:10,760 --> 00:37:15,739 yo aquí cuando abra le dé doble clic como esto se va a llevar a seguir llamando que no se va a 371 00:37:15,739 --> 00:37:21,380 actualizar solo escribir uno todo lo que vayamos haciendo este código no no se va a traducir bien 372 00:37:21,380 --> 00:37:25,340 de hecho cuando clic aquí vais a ver que sale el mismo código y sigue poniendo escrito uno 373 00:37:25,340 --> 00:37:30,380 vais a ver que no no se van a relacionar os va a dar fallo vale por eso si se cambia el nombre 374 00:37:30,380 --> 00:37:35,360 aquí hay que ir con mucho cuidado aquí y cambiar el nombre de la clase vale se tienen que llamar 375 00:37:35,360 --> 00:37:42,360 siempre igual y cuidado con las líneas de los saltos vale disparar 376 00:37:42,360 --> 00:37:45,380 luego importante y esto también pasa en todos los softwares igual que os he 377 00:37:45,380 --> 00:37:50,719 dicho antes aquí hay una estrellita un asterisk y yo que nos indica que no está 378 00:37:50,719 --> 00:37:54,500 guardado este los avances los cambios que hemos hecho para guardar como 379 00:37:54,500 --> 00:37:59,480 siempre control s vale le dado y se ha guardado para que los cambios que yo vaya 380 00:37:59,480 --> 00:38:02,900 haciendo del código también se vean reflejados veis que ahora cuando clico 381 00:38:02,900 --> 00:38:06,800 aquí y así pone disparar para que se vean reflejados de hecho mira si yo si 382 00:38:06,800 --> 00:38:11,780 mira si yo pongo aquí disparar 2 vale y vuelvo a unity no he guardado pues 383 00:38:11,780 --> 00:38:15,500 aunque yo le dé aquí no se ha actualizado así que importante todo 384 00:38:15,500 --> 00:38:19,519 cambia y vuelvo a poner el mismo que el nombre que tiene el script todo cambia 385 00:38:19,519 --> 00:38:25,039 que vayamos haciendo control s vale para que no dé problema vale 386 00:38:25,039 --> 00:38:30,559 cuando vayamos viendo ejemplos de que se hace con scripts vais a ver qué pasa 387 00:38:30,559 --> 00:38:42,280 Otra cosa que es que igual estáis aquí diciendo, esto ya lo veremos, pero transformPosition es igual a, las coordenadas que doy donde tiene que estar la posición es, esto ya lo veremos, ¿vale? 388 00:38:42,280 --> 00:38:53,920 Pero aquí estoy diciéndole que al empezar el juego, ¿vale? Y guardo, al empezar el juego el objeto se ubique en las coordenadas 0, 0, 0, ¿vale? 389 00:38:53,920 --> 00:39:14,400 Y esto, vamos a ver, que hemos guardado y todo eso, pero yo, si voy al objeto, importante, para hacer zoom al objeto y verlo de cerca, en el panel de escena podéis seleccionarlo y darle a la tecla F, ¿vale? O, me vuelvo a alejar, darle doble clic al objeto y os acerca a ese objeto, ¿vale? 390 00:39:14,400 --> 00:39:20,000 Todo esto creo que, vamos, lo ponen los contenidos 391 00:39:20,000 --> 00:39:21,420 Igualmente, ¿vale? 392 00:39:21,539 --> 00:39:24,000 Las coordenadas que tiene ahora mismo este cubo 393 00:39:24,000 --> 00:39:25,219 Pues las voy a poner en 394 00:39:25,219 --> 00:39:28,139 Las que sean que no sean 0 395 00:39:28,139 --> 00:39:31,280 Por ejemplo, 0, 62, 0, 5, 17, 52 396 00:39:31,280 --> 00:39:33,579 Es decir, muy alejados del 0, 0, 0 397 00:39:33,579 --> 00:39:35,559 Cuando yo le dé al play 398 00:39:35,559 --> 00:39:37,480 Vais a ver que yo le he dicho 399 00:39:37,480 --> 00:39:38,780 Cuando empiece el juego 400 00:39:38,780 --> 00:39:43,239 Que la posición del objeto vaya a 0, 0, 0 401 00:39:43,239 --> 00:39:59,380 Le doy al play y el objeto no se ha movido en absoluto, siguen las coordenadas que estaban. ¿Por qué? Y esto es la lógica que hay que seguir también. ¿Por qué? Primero, porque en qué momento hemos dicho que el script que estamos escribiendo se asocia a este cubo. 402 00:39:59,380 --> 00:40:03,619 Podría estar hablando de la cámara o de la luz que viene por defecto, ¿vale? 403 00:40:03,619 --> 00:40:08,219 Hay que pensar siempre que queramos que un script se aplique a un objeto, a un GameObject, ¿vale? 404 00:40:08,219 --> 00:40:11,940 Aquí todo se llama GameObjects, todos los cubitos estos, ¿vale? 405 00:40:11,940 --> 00:40:16,659 Todos los elementos que veis que tanto la luz como las cámaras suelen tener el mismo iconito. 406 00:40:16,920 --> 00:40:19,380 Algunos variarán, pero de momento todos son GameObjects. 407 00:40:20,260 --> 00:40:24,340 Al final, hasta que no le asociemos este script, que es otro componente, ¿vale? 408 00:40:24,460 --> 00:40:26,099 Pues no vas a ver que hay que aplicarlo. 409 00:40:26,099 --> 00:40:42,460 ¿Cómo se aplica este script a este objeto? Pues lo seleccionamos y el script que queramos, que puede haber más, pues este disparar, que en realidad sirve para que se reubique la posición, lo arrastramos como componente y veis que se añade como componente, ¿vale? 410 00:40:42,460 --> 00:40:44,840 ya sí que el cubo 411 00:40:44,840 --> 00:40:46,639 sabe que tiene un script que dentro tendrá 412 00:40:46,639 --> 00:40:48,539 código tal que en este caso es que se reubique 413 00:40:48,539 --> 00:40:50,159 y si le damos al play ahora 414 00:40:50,159 --> 00:40:52,659 vais a ver que al comenzar 415 00:40:52,659 --> 00:40:54,579 el juego se ha movido y si selecciono 416 00:40:54,579 --> 00:40:56,179 el cubo pues está en el 0, 0, 0 417 00:40:56,179 --> 00:40:58,800 ¿vale? hasta que no se aplique 418 00:40:58,800 --> 00:41:00,619 este script en el 419 00:41:00,619 --> 00:41:02,480 objeto que lo quiera, hasta que no asociemos el 420 00:41:02,480 --> 00:41:04,260 componente pues no 421 00:41:04,260 --> 00:41:06,159 no está 422 00:41:06,159 --> 00:41:08,420 nadie sabe a quién 423 00:41:08,420 --> 00:41:10,340 tiene que aplicarse este script ¿vale? 424 00:41:10,340 --> 00:41:15,880 importante que son como los primeros errores que surgen vale importante también para que vayáis 425 00:41:15,880 --> 00:41:22,159 viendo la lógica al meterlo es como otro componente es decir otro objeto con otra clase vale que en 426 00:41:22,159 --> 00:41:26,840 este caso se llama disparar que es la que hemos puesto aquí y vais a ver también que si yo este 427 00:41:26,840 --> 00:41:35,300 nombre lo llamo disparar lo voy a poner mover objeto recordad que no se pueden poner espacios 428 00:41:35,300 --> 00:41:42,920 todo seguido y con lo que vemos la separación de palabras es con las mayúsculas vais a ver que 429 00:41:42,920 --> 00:41:46,519 primero ya como que me está dando aquí hay un fallo raro de que no me lo reconoce vale a veces 430 00:41:46,519 --> 00:41:54,760 no lo hace y cuando voy a cubo no está funcionando porque no está detectando el en qué clase es a la 431 00:41:54,760 --> 00:41:59,099 que estamos hablando porque nuevamente porque no está asociada el nombre del objeto que es mover 432 00:41:59,099 --> 00:42:04,940 objeto con la clase que está gestionando este script por tanto como he vuelto a cambiar el 433 00:42:04,940 --> 00:42:14,340 nombre aquí con cuidadete mover objeto y guardamos y ahora cuando volvamos a unity pues recargará y 434 00:42:14,340 --> 00:42:20,320 ahora sí que si volvemos a cubo vale y ahí está mover objeto y fijaos cómo es que aquí nos ha 435 00:42:20,320 --> 00:42:26,420 puesto un espacio vale esta es la forma en la que el editor el inspector lo visual que vamos viendo 436 00:42:26,420 --> 00:42:32,599 aquí cómo se reflejan todos los parámetros no lo intenta hacer fácil y amigable tan amigable que 437 00:42:32,599 --> 00:42:40,980 Aunque a nivel de código hay que escribirlo así, porque si no da fallos, aquí nos lo va separando cuando detecta que estamos poniendo estas mayúsculas. 438 00:42:40,980 --> 00:42:53,440 Y recordad, os he dicho, cada componente es una clase, un objeto. Estos que vamos añadiendo aquí son ya clases como esta, que se llamarán BoxCollider. 439 00:42:53,440 --> 00:43:15,440 Ahí en algún punto, si buscáramos un código, un script que se llama BoxCollider, que lo han configurado a otro iconito y ciertos parámetros, pero al final es otro código cuya clase es BoxCollider, ¿vale? Entonces, pensar en cada uno de estos apartados o de los componentes, pues por ejemplo, en, pues yo que sé, cualquier cosa, el PhysicsRayCaster, pues esto es otro componente. 440 00:43:15,440 --> 00:43:29,820 Hay otro componente que es la cámara, ¿vale? Pues si nos vamos metiendo en el código, pues llegaremos a la cámara. Hasta aquí, ¿qué tal? Más o menos. Muchas cosas, ¿no? Imagino. Pero bueno, poco a poco iremos viéndolo. 441 00:43:29,820 --> 00:43:33,019 Si veis aquí hay bastantes 442 00:43:33,019 --> 00:43:34,920 Muchas cosas, sí, sí 443 00:43:34,920 --> 00:43:37,059 Y Saúl, muchas más que va a haber 444 00:43:37,059 --> 00:43:37,800 Este 445 00:43:37,800 --> 00:43:40,099 Módulo es complicado 446 00:43:40,099 --> 00:43:43,019 Bueno, yo hago un inciso también para procesar 447 00:43:43,019 --> 00:43:44,199 Yo no soy 448 00:43:44,199 --> 00:43:46,780 Desarrollador de videojuegos de profesión, nunca lo he sido 449 00:43:46,780 --> 00:43:49,039 Bueno, por cómo se asignan 450 00:43:49,039 --> 00:43:50,280 Los módulos me toca a mí 451 00:43:50,280 --> 00:43:52,380 Desde el año pasado, es verdad que llevo el año pasado 452 00:43:52,380 --> 00:43:54,619 Sí que tuve que tocar por primera vez Unity 453 00:43:54,619 --> 00:43:56,699 Y formarme, este año ya voy más suelto 454 00:43:56,699 --> 00:43:58,840 Pero mi nivel tampoco llega a ser 455 00:43:58,840 --> 00:44:04,659 súper súper avanzado entonces creo que vamos a ver un montón de cosas muchísimas pero en cierto 456 00:44:04,659 --> 00:44:10,599 momento si me preguntáis algo un poco que se sale de lo que estamos viendo pues os intentaré 457 00:44:10,599 --> 00:44:15,460 responder de la mejor forma o daros otros recursos vale pero no voy a negar que yo no soy desarrollador 458 00:44:15,460 --> 00:44:21,699 a nivel profesional de hecho me sé todas las cosas que pueden pasar pero bueno aún así vais a 459 00:44:21,699 --> 00:44:27,440 ver que hay muchas cosas por tanto creo que no se va a dar esta circunstancia menos en cosas que 460 00:44:27,440 --> 00:44:34,079 plantéis muy alejadas y tampoco soy programador este módulo un poco es de desarrollo es de 461 00:44:34,079 --> 00:44:38,119 programación pero ten en cuenta que somos de la familia de imagen y sonido de los profesores de 462 00:44:38,119 --> 00:44:42,739 imagen y sonido entonces es como una programación digamos orientada a iniciación para gente de 463 00:44:42,739 --> 00:44:47,280 imagen y sonido si alguno que a veces pasa es programador pues probablemente sepa programar 464 00:44:47,280 --> 00:44:53,179 mejor que yo y lo entienda todo mejor que yo entonces bueno simplemente para que sepáis que 465 00:44:53,179 --> 00:45:01,699 está esto sucede cuando si ya os digo en el propio tema también hay un tutorial explicando esto a lo 466 00:45:01,699 --> 00:45:07,699 mejor una forma más sucinta y en el propio tema está todo esto que no es que esto si no vierais 467 00:45:07,699 --> 00:45:12,360 el vídeo no sabréis hacerlo pero sí que estoy intentando ver las primeras cosas que dan fallo 468 00:45:12,360 --> 00:45:17,179 o que nos vuelven un poco locos de en plan no me funciona pues por ejemplo es que la clase 469 00:45:17,179 --> 00:45:18,659 del script no se llama como 470 00:45:18,659 --> 00:45:20,820 el objeto, ¿vale? 471 00:45:20,820 --> 00:45:22,119 que tenemos el game object 472 00:45:22,119 --> 00:45:25,179 vamos, el script que tenemos en Unity 473 00:45:25,179 --> 00:45:27,139 aquí vais a ver que hay 474 00:45:27,139 --> 00:45:28,860 muchos elementos 475 00:45:28,860 --> 00:45:31,300 que son como lo que se llaman 476 00:45:31,300 --> 00:45:32,920 librerías o namespaces 477 00:45:32,920 --> 00:45:35,119 que importante, cuando os ponéis encima de cualquier 478 00:45:35,119 --> 00:45:36,599 elemento en el Visual Studio 479 00:45:36,599 --> 00:45:38,619 tiene muchas ayudas 480 00:45:38,619 --> 00:45:40,219 y de hecho es bastante esencial 481 00:45:40,219 --> 00:45:42,880 que por ejemplo la primera línea vais a ver que os pone 482 00:45:42,880 --> 00:45:44,960 de qué tipo es este objeto 483 00:45:44,960 --> 00:45:46,679 y aquí os pone namespace 484 00:45:46,679 --> 00:46:15,239 Si por ejemplo nos ponemos en Start, os pondrán voy a moverObjeto.Start y paréntesis. Esto es lo que se llama una función. En MonoBehavior vais a ver que es una clase. Otra vez lo de clase. Si me pongo en moverObjeto al ponerme encima, te dice esto es la clase moverObjeto. Aquí está muy claro porque está aquí lo de clase, pero es que luego en cierto momento también vamos a poder recurrir a moverObjeto sin ponerlo de clase y pues está muy útil saber que esto es moverObjeto y es una clase. 485 00:46:15,239 --> 00:46:17,719 aquí ya habría que hacer más operaciones 486 00:46:17,719 --> 00:46:19,300 etcétera, bueno esto ya lo veremos también 487 00:46:19,300 --> 00:46:21,659 pero que tengáis en cuenta que al poneros 488 00:46:21,659 --> 00:46:23,559 encima de los objetos os va diciendo 489 00:46:23,559 --> 00:46:25,679 pues posición es de la clase transform 490 00:46:25,679 --> 00:46:27,460 un parámetro que se llama posición 491 00:46:27,460 --> 00:46:28,579 un vector 3 es 492 00:46:28,579 --> 00:46:32,059 tiene una estructura de 3 floats 493 00:46:32,059 --> 00:46:33,699 todo esto 494 00:46:33,699 --> 00:46:35,820 lo iremos viendo, pero bueno 495 00:46:35,820 --> 00:46:37,599 que es importante, igual que cuando vayamos 496 00:46:37,599 --> 00:46:38,739 escribiendo ciertas palabras 497 00:46:38,739 --> 00:46:41,880 pues nos va ayudando y a veces nos sugiere 498 00:46:41,880 --> 00:46:42,920 pues transform 499 00:46:42,920 --> 00:46:47,400 Ya os diré qué hago, pero hoy no quiero ir demasiado lejos 500 00:46:47,400 --> 00:46:53,719 Y os va sugiriendo opciones dentro de lo que tenga lógica en el momento que estáis escribiendo 501 00:46:53,719 --> 00:46:56,579 Entonces es una ayuda como importantísima 502 00:46:56,579 --> 00:46:59,219 Igual que cuando vamos escribiendo ciertas cosas 503 00:46:59,219 --> 00:47:02,820 Si salen estos tachados rojos, estos subrayados rojos 504 00:47:02,820 --> 00:47:06,179 Significa que hay un error, un error además grave 505 00:47:06,179 --> 00:47:10,519 Si aparece ese rojo y guardara, esto lo he escrito al tuntún 506 00:47:10,519 --> 00:47:12,860 Es decir, hay un código que no sabe qué hacer el programa 507 00:47:12,860 --> 00:47:22,760 Y cuando el programa se pone, hay algo que no sabe qué hacer, se pone de esta guisa, que es que sale un aviso rojo y cuando intento ejecutar el juego no me deja, ¿vale? 508 00:47:23,179 --> 00:47:32,079 Vais a ver que la programación en sí es muy exquisita porque con tener una letra mal escrita ya sale, por ejemplo, aquí, que se me ha olvidado poner la S. 509 00:47:33,199 --> 00:47:41,400 Y de pronto sale este error y yo digo, ah, vale, voy a seguir. Pues no os deja jugar, no os deja testear el juego, no os va a dejar avanzar. 510 00:47:41,400 --> 00:48:03,900 Entonces, siempre que veáis este subrayado rojo, sabéis que os va a dar error, que no es lo mismo que si en cierto momento, a ver, un ejemplo, voy a poner una cosa que tampoco sabemos qué es, yo qué sé, vale, y hacemos esto y sale un subrayado verde. 511 00:48:03,900 --> 00:48:18,300 El subrayado verde, como los propios colores indican, significa que algo pasa, pero esto no es un error fatal, ¿vale? Esto, aunque hayamos declarado algo y nos dé esa especie de error, ahora nos sale un warning que es amarillo y este sí deja testear el juego, ¿vale? 512 00:48:18,300 --> 00:48:39,019 Si dejará hacer lo que haya que hacer, ¿vale? En este caso es que ha puesto el objeto en el 0, 0, 0. Cuando hay este tipo de subrayado verde significa, esto ya lo veremos también, que hemos declarado una variable pero luego no se usa, es decir, que ahora mismo esta línea no molesta pero no aporta nada, no está mal escrita, sabe que es, pero no está aportando nada, ¿vale? 513 00:48:39,019 --> 00:48:56,659 De hecho, cuando nos ponemos encima, veis que os pone aquí una cosa en plan, a ver, vamos a ver qué es lo que pone, pone la segunda línea. La variable comprobación se ha declarado, pero nunca se usa, ¿vale? Pues no es un problema error fatal, pero bueno, pues si no se va a usar, pues fuera y todo más tranquilo. 514 00:48:56,659 --> 00:49:11,719 Pero los verdes se pueden dejar ahí, no hay problema, ¿vale? Cosas que os irán surgiendo. El próximo día que tengamos tutoría me meteré un poco más en sintaxis, ¿vale? Pues que son estas llavecitas y tal para quien haya hecho HTML o lo haya visto, pues sabrá más. 515 00:49:11,719 --> 00:49:14,139 pero bueno 516 00:49:14,139 --> 00:49:16,659 todas estas funcionalidades 517 00:49:16,659 --> 00:49:18,760 que digamos que van saliendo aquí a medida que escribimos 518 00:49:18,760 --> 00:49:20,579 no salen de la nada, es porque se están 519 00:49:20,579 --> 00:49:22,599 viendo librerías 520 00:49:22,599 --> 00:49:24,099 aquí que tienen un montón de 521 00:49:24,099 --> 00:49:26,159 configuraciones prehechas 522 00:49:26,159 --> 00:49:28,739 que nos permite ir detectando 523 00:49:28,739 --> 00:49:29,639 parámetros 524 00:49:29,639 --> 00:49:32,579 que dice, ah pues hay un parámetro 525 00:49:32,579 --> 00:49:34,360 que se llama transform, otro red transform tal 526 00:49:34,360 --> 00:49:35,980 eso es porque tenemos aquí 527 00:49:35,980 --> 00:49:38,519 librerías instaladas, más adelante tendremos 528 00:49:38,519 --> 00:49:40,099 que ir incorporando más 529 00:49:40,099 --> 00:49:42,760 librerías, pues como por ejemplo 530 00:49:42,760 --> 00:49:43,320 Unity 531 00:49:43,320 --> 00:49:48,760 Unity Engine 532 00:49:49,380 --> 00:49:50,239 bueno, pues una 533 00:49:50,239 --> 00:49:52,500 cuando queramos hacer gestión de 534 00:49:52,500 --> 00:49:54,599 escenas, hasta que no pongamos 535 00:49:54,599 --> 00:49:56,659 esta línea, no nos van a salir 536 00:49:56,659 --> 00:49:57,260 por ejemplo 537 00:49:57,260 --> 00:50:00,079 estos parámetros 538 00:50:00,079 --> 00:50:02,199 imaginaos que pongo aquí Scene Manager 539 00:50:02,199 --> 00:50:06,559 voy a poner algo que no de error 540 00:50:06,559 --> 00:50:08,760 Active Exchange 541 00:50:08,760 --> 00:50:12,960 y uno, a ver 542 00:50:12,960 --> 00:50:14,619 si esto no da error 543 00:50:14,619 --> 00:50:21,159 get active scene, por ejemplo 544 00:50:21,159 --> 00:50:23,619 y ahora no da error 545 00:50:23,619 --> 00:50:24,900 ¿vale? no sabemos que es 546 00:50:24,900 --> 00:50:27,539 pero vemos que no da error, importante cuando más adelante 547 00:50:27,539 --> 00:50:29,539 estamos trabajando, imaginaos 548 00:50:29,539 --> 00:50:31,380 que yo borro esta línea porque 549 00:50:31,380 --> 00:50:33,460 no está o tal, veréis que 550 00:50:33,460 --> 00:50:35,440 da error, ¿por qué? porque 551 00:50:35,440 --> 00:50:37,500 no está detectando una librería que 552 00:50:37,500 --> 00:50:43,199 contiene la información de qué hace esta orden vale importante vale de por defecto vamos a ir 553 00:50:43,199 --> 00:50:50,400 tirando con estas tres librerías y ojo con esto que pone mono behavior que es otra clase digamos 554 00:50:50,400 --> 00:50:55,719 que tiene unity específica de unity de la que heredan todas las clases que iremos yendo viendo 555 00:50:55,719 --> 00:51:01,559 con también atributos es decir hay como librerías externas vale y luego el propio de los propios 556 00:51:01,559 --> 00:51:07,320 códigos que ya tiene unity por como incorporado a través de una programación especial que que 557 00:51:07,320 --> 00:51:08,719 tenía. Bueno, de hecho lo pone ahí. 558 00:51:09,039 --> 00:51:11,099 Bueno, behavior es la base clase 559 00:51:11,099 --> 00:51:13,280 desde la cual cualquier script de Unity 560 00:51:13,280 --> 00:51:14,619 deriva. Vale, pues 561 00:51:14,619 --> 00:51:17,260 esto que es una operación de herencia, bueno, 562 00:51:17,420 --> 00:51:19,079 pues al final también permite 563 00:51:19,079 --> 00:51:21,659 que haya ciertos comportamientos 564 00:51:21,659 --> 00:51:23,280 que si no, no estarían por 565 00:51:23,280 --> 00:51:25,400 defecto en el lenguaje C Sharp. 566 00:51:26,079 --> 00:51:27,260 ¿Vale? Esto quiere 567 00:51:27,260 --> 00:51:29,159 decir que no podemos, por ejemplo, 568 00:51:29,360 --> 00:51:31,039 borrar cosas al tun-tun, porque 569 00:51:31,039 --> 00:51:32,619 va a empezar a dar fallos. Por ejemplo, 570 00:51:33,179 --> 00:51:35,460 el transform no viene de estos namespace. 571 00:51:35,460 --> 00:51:49,940 El transform es una instrucción, una palabra clave, por decirlo de alguna forma, que viene de MonoBehaviour. Si de hecho le dierais a Control y a esta clase, os abre aquí un montón de cosas que es lo que hay detrás de estas clases. 572 00:51:49,940 --> 00:52:06,440 Y podemos ir entrándonos en el agujero hasta infinito, porque ya es cosa muy avanzada, pero digamos que todo está heredando de otra información que ha hecho quien haya desarrollado Unity, por ejemplo. 573 00:52:06,440 --> 00:52:30,800 Vale, cuando empezamos a trabajar en Unity vais a ver que están, esto por ejemplo, quien antes ha mencionado lo de HTML, estas llavecitas que vais a ver constantemente. Las llavecitas digamos que es, la llavecita de abertura y cierre implica el ámbito dentro del que se van a dar ciertas instrucciones. 574 00:52:30,800 --> 00:52:43,739 Por ejemplo, esto que es un método, ya veremos que es un método, que implica que todo lo que esté aquí dentro de estas llaves asociado a este método, esto digamos que es un paquete, todo lo que pongamos aquí se va a ejecutar en el start. 575 00:52:43,739 --> 00:53:05,800 Si yo, como he hecho antes, pongo transform position new vector 3 bla bla bla, que es una ubicación, pues al empezar el juego o cuando se inicie este script, que puede ser porque lo lancemos durante el juego, todo lo que esté en start se va a aplicar en el primer momento que se use este objeto. 576 00:53:05,800 --> 00:53:15,500 Por eso, al empezar el juego, el objeto cubo al que le hemos aplicado este script, que sigue estando aquí, mover objeto, pues al empezar el juego se ha aplicado. 577 00:53:16,440 --> 00:53:22,639 Sin embargo, hay otra sección, otro método, se llama, otra función, que es el update. 578 00:53:23,059 --> 00:53:28,920 Y de hecho, aquí vais a ver que ya por defecto vienen estas dos líneas verdes, una referida al start y otra al update. 579 00:53:28,920 --> 00:53:32,780 Vale, esto son lo que se llaman comentarios 580 00:53:32,780 --> 00:53:34,780 Cuando el código se va ejecutando 581 00:53:34,780 --> 00:53:38,360 Toda línea que veáis que empieza con estas dos barras 582 00:53:38,360 --> 00:53:40,719 Así inclinadas 583 00:53:40,719 --> 00:53:43,480 Significa que es como un comentario que se ha dejado 584 00:53:43,480 --> 00:53:47,000 Que no se va a tener en cuenta a nivel de ejecución 585 00:53:47,000 --> 00:53:48,840 Pero por ejemplo para aclarar en plan 586 00:53:48,840 --> 00:53:50,980 Yo ahora mismo aquí puedo poner dos líneas de estas 587 00:53:50,980 --> 00:53:53,260 Que veis que se vuelve verde 588 00:53:53,260 --> 00:53:54,400 Y ponerme un comentario en plan 589 00:53:54,400 --> 00:53:57,699 Con esto consigo que el objeto 590 00:53:57,699 --> 00:53:59,659 bla bla bla, se vaya a cero 591 00:53:59,659 --> 00:54:01,420 por ponerlo rápido, ¿vale? 592 00:54:01,440 --> 00:54:02,940 esto es muy útil para ir comentando 593 00:54:02,940 --> 00:54:04,800 para ir dejándote notas 594 00:54:04,800 --> 00:54:07,579 si os fijáis aquí pone, justo antes 595 00:54:07,579 --> 00:54:09,340 como aclaración, start, este método 596 00:54:09,340 --> 00:54:11,599 y lo que hay en sus llaves, se llama 597 00:54:11,599 --> 00:54:13,460 es decir, se activa 598 00:54:13,460 --> 00:54:15,320 antes justo del primer frame 599 00:54:15,320 --> 00:54:17,699 de actualización, es decir 600 00:54:17,699 --> 00:54:19,579 en el primer frame en el que se 601 00:54:19,579 --> 00:54:21,519 ponga en uso este script 602 00:54:21,519 --> 00:54:23,579 va a ocurrir esto, ¿vale? 603 00:54:23,579 --> 00:54:25,480 y el comentario de lo que esté 604 00:54:25,480 --> 00:54:27,659 dentro de este void, nos ha dejado 605 00:54:27,659 --> 00:54:30,000 hay que programar update, es llamado una vez por frame. 606 00:54:30,880 --> 00:54:34,679 Cuando vais jugando a un juego, igual que pasa también al ver un vídeo 607 00:54:34,679 --> 00:54:40,380 o al hacer cualquier cosa audiovisual, la reproducción se compone de frames. 608 00:54:40,380 --> 00:54:45,300 Es decir, se irá desarrollando en un número de frames determinado por, 609 00:54:45,679 --> 00:54:47,659 en este caso, la potencia del ordenador. 610 00:54:47,860 --> 00:54:52,079 Cuanta más potencia tenga, más frames por segundo podrá ir ejecutando. 611 00:54:52,079 --> 00:54:58,579 De hecho, si alguna vez habéis jugado a videojuegos 612 00:54:58,579 --> 00:55:01,599 Muchas veces podéis, en las opciones en el menú del videojuego 613 00:55:01,599 --> 00:55:03,860 Podéis seleccionar cuántos frames por segundo 614 00:55:03,860 --> 00:55:08,500 Incluso podéis decir a qué velocidad de reproducción se va generando 615 00:55:08,500 --> 00:55:11,599 Porque a diferencia de lo que ocurre en algo renderizado 616 00:55:11,599 --> 00:55:14,159 Como un render que hagáis de Maya 617 00:55:14,159 --> 00:55:16,179 Por poner un ejemplo, de Premiere o de After 618 00:55:16,179 --> 00:55:17,840 O de un video cualquiera 619 00:55:17,840 --> 00:55:21,179 Ahí ya está definido el número de frames que tiene ese video 620 00:55:21,179 --> 00:55:43,340 Pero en un videojuego se va generando a lo largo de la... vamos, se va creando a medida que se va jugando, ¿no? Entonces, podremos ir definiendo cuántos fotogramas por segundo tiene el juego. Aquí, por defecto, lo que va a intentar es hacer tantos fotogramas por segundo se puedan con respecto a la potencia que tenga el ordenador, ¿vale? 621 00:55:43,340 --> 00:56:00,260 Entonces, cuando lanzamos este script le decimos, quiero que la posición transform esté en el 0, 0, ¿vale? Pero a lo mejor queremos que luego otra orden, cada fotograma vaya variando, ¿vale? Y para eso tendríamos que meterla dentro de esta función de update, de actualización, ¿no? 622 00:56:00,260 --> 00:56:04,699 Por ejemplo, se me ocurre 623 00:56:04,699 --> 00:56:08,800 Para no llevarlo a algo muy avanzado 624 00:56:08,800 --> 00:56:10,539 A ver si se me ocurre algo 625 00:56:10,539 --> 00:56:15,280 Voy a hacer como un contador 626 00:56:15,280 --> 00:56:18,400 Esperad un segundillo que hago una cosa 627 00:56:18,400 --> 00:56:20,579 Esto ya lo iremos viendo 628 00:56:20,579 --> 00:56:26,679 Esto ya lo veremos 629 00:56:37,139 --> 00:56:37,739 Vale 630 00:56:37,739 --> 00:56:58,239 Y ahora os explico alguna cosilla de esto que estoy poniendo. No todo, pero alguna cosilla. Esto ya es avanzado, pero lo que os digo es básicamente que he hecho un bucle que va a estar leyendo lo que hay dentro de estas llaves. 631 00:56:58,239 --> 00:57:12,400 Recordad que hay una llave de apertura y una de cierre que están asociadas y lo que hay aquí dentro, lo que le estábamos diciendo es que nos represente un número que se está ejecutando cada fotograma hasta llegar al número 9. 632 00:57:12,400 --> 00:57:14,920 perdonad porque tengo que poner menor 633 00:57:14,920 --> 00:57:15,780 hasta el número 9 634 00:57:15,780 --> 00:57:19,159 si esto lo vamos ejecutando 635 00:57:19,159 --> 00:57:21,380 cada fotograma 636 00:57:21,380 --> 00:57:23,199 cuando le demos a 637 00:57:23,199 --> 00:57:24,739 play al juego 638 00:57:24,739 --> 00:57:28,679 si vamos a la consola 639 00:57:28,679 --> 00:57:31,239 la consola al final lo que 640 00:57:31,239 --> 00:57:32,019 hace es darnos 641 00:57:32,019 --> 00:57:34,760 comprobaciones de que está haciendo el juego 642 00:57:34,760 --> 00:57:37,039 de ciertos parámetros que vayamos poniendo 643 00:57:37,039 --> 00:57:37,980 entonces 644 00:57:37,980 --> 00:57:41,159 cuando queréis por ejemplo poner una 645 00:57:41,159 --> 00:57:42,480 orden, voy a parar el juego 646 00:57:42,480 --> 00:57:44,239 queréis hacer una orden 647 00:57:44,239 --> 00:57:48,199 creo que ha escrito alguien en el chat 648 00:57:48,199 --> 00:57:50,559 vale, cuando queramos ir comprobando 649 00:57:50,559 --> 00:57:51,340 algo del juego 650 00:57:51,340 --> 00:57:54,380 lo vamos a tener que mandar a esa carpeta 651 00:57:54,380 --> 00:57:55,699 que se llama consola 652 00:57:55,699 --> 00:57:58,260 por ejemplo, imaginaos que yo tengo 653 00:57:58,260 --> 00:57:59,639 una opción que es decirle 654 00:57:59,639 --> 00:58:00,400 cuando 655 00:58:00,400 --> 00:58:03,699 a un objeto le toque otro 656 00:58:03,699 --> 00:58:05,860 pues que se muera, eso ya 657 00:58:05,860 --> 00:58:08,019 diremos que eso lo haga efectivamente 658 00:58:08,019 --> 00:58:08,519 el 659 00:58:08,519 --> 00:58:12,079 juego, pero si yo 660 00:58:12,079 --> 00:58:14,400 quiero verlo en consola, hay un comando 661 00:58:14,400 --> 00:58:15,239 que se llama debug. 662 00:58:16,380 --> 00:58:31,699 Log, ¿vale? Esto lo tenéis que aprender, lo veréis también en el primer tema. Y dentro de los paréntesis, ¿vale? Es donde ponemos qué mensaje tiene que mostrar esa consola a medida que juguemos. 663 00:58:31,699 --> 00:58:51,719 Por ejemplo, yo voy a querer que al empezar el juego, en el start lo pongo todavía, voy a poner que me diga, pues por ejemplo, hola mundo, que es como se suele poner. Entonces cuando arranque el juego, al empezar en la consola se va a ver este mensaje de hola mundo como comprobación. 664 00:58:51,719 --> 00:59:07,420 E importante, como ahora solo quiero ver este debug log de Hola Mundo, que antes he puesto un código, ahora vuelvo a explicarlo, que igual me he adelantado un poco. Imaginaos que yo este código no quiero que se ejecute, pero tampoco quiero borrarlo porque ya lo tengo escrito y igual más adelante lo recupero. 665 00:59:07,420 --> 00:59:29,960 Para esto vuelven a servir los comentarios. Si yo en una línea vuelvo a poner las dos líneas, veis que de pronto se comenta, se convierte en verde todo, y entonces esto lo tengo aquí, que en cualquier momento yo lo puedo borrar y vuelve a activarse, pero es muy útil para ir dejando en comentario, en algo que a lo mejor luego uso, ciertas líneas, para ir comprobando el código. 666 00:59:29,960 --> 00:59:41,320 Esto está muy bien para eso, para ir sin borrar. Estamos probando cosas y hemos escrito bastante código, en vez de borrarlo, que a lo mejor luego solo estamos testeando que funciona o no, pues se comenta y listo. 667 00:59:42,280 --> 00:59:56,280 ¿Qué pasa? Aquí, por ejemplo, claro, digo, voy a comentar esto que no me interesa. Aquí he comentado esta línea, pero es nada más incluido hasta la llave y ahora esta llave de cierre no está cerrando aquí, sino que está cerrando esta llave de aquí. 668 00:59:56,280 --> 01:00:08,880 Entonces, al final hay una llave aquí que no está cerrando nada porque las he desemparejado, ¿vale? Entonces, habría que ir comentando todas las líneas, ¿vale? Hasta que todo lo que tenga lógica, veis que se ha quitado ya el error. 669 01:00:08,880 --> 01:00:25,719 O hay otra forma de comentar, esto creo que no lo ponen los apuntes, ¿vale? Que es para comentar varias líneas de golpe, ¿vale? Hay otra forma que es poner la línea en vez de 2, 1 y un asteriskillo, ¿vale? Y en la línea que queramos que deje de comentar, al revés, asteriskillo y línea. 670 01:00:26,280 --> 01:00:39,199 Y ahora veis que se ha comentado todo esto, está en verde. Ahora mismo este código yo lo podría recuperar enseguida borrando esto, y ahí está otra vez. Bueno, aquí como he comentado antes esto también, pero no lo borro. 671 01:00:39,199 --> 01:00:55,750 Entonces esto es muy útil para, en plan, estoy probando una línea y no me funciona, la voy a dejar comentada y luego vemos. Entonces ahora mismo en el update no se está ejecutando nada, y en el start, al empezar, el objeto que tenga el script se va a ir al 000, 672 01:00:55,750 --> 01:01:01,630 cero y aparte quiero que la consola vale esto ahora mismo es muy abstracto por decir si para 673 01:01:01,630 --> 01:01:06,369 qué voy a querer que ponga hola mundo la consola bueno ya veremos que esto tiene más aplicaciones 674 01:01:06,369 --> 01:01:13,369 en el futuro pero guardo y si voy aquí ahora al editor al darle a play vale en la consola 675 01:01:13,369 --> 01:01:20,070 vais a ver que va a poner hola mundo vale a funcionar y solo una vez porque solo se ha 676 01:01:20,070 --> 01:01:27,250 ejecutado al empezar el juego vale que no es lo mismo y vuelvo al código que corto esta línea 677 01:01:27,250 --> 01:01:34,110 control x y la pego en el update vale y ahora lo que le estoy diciendo es esta línea esta 678 01:01:34,110 --> 01:01:39,389 comprobación este hola mundo que aparezca en cada fotograma del juego vale esta instrucción vais a 679 01:01:39,389 --> 01:01:44,670 ver que ha cambiado radicalmente en el sentido de que cuando desactivó y en la consola cuando 680 01:01:44,670 --> 01:01:49,110 ya tengáis muchos elementos para no confundir es entre un play y otro aunque lo suelo hacer 681 01:01:49,110 --> 01:01:53,309 por defecto le podéis dar a clear vale que son los mensajes no pasa nada no estáis borrando nada 682 01:01:53,309 --> 01:01:59,250 si volvemos a ejecutar el juego ahora se generará los mensajes de esta nueva reproducción y vais a 683 01:01:59,250 --> 01:02:04,929 ir viendo que aparecen muchos hola mundo uno por cada fotograma vais viendo que aquí pone la hora 684 01:02:04,929 --> 01:02:10,269 en la que se está ejecutando y como habrá pues bastantes fotogramas por segundo pues por eso 685 01:02:10,269 --> 01:02:15,809 hay varios de cada segundo vale para el juego se quedan aquí los comentarios y a lo mejor en cierto 686 01:02:15,809 --> 01:02:20,429 momento quiero decir esto vais a ver que al pulsar os pone cosas como en qué 687 01:02:20,429 --> 01:02:24,809 script que es el mover objetos incluso dicen qué línea es la que está 688 01:02:24,809 --> 01:02:29,489 ejecutando esto que está ocurriendo que si vamos aquí vamos a ver que la línea 689 01:02:29,489 --> 01:02:33,750 22 es donde estamos dando esta orden fijaos que aquí os dice en qué línea se 690 01:02:33,750 --> 01:02:38,010 está ejecutando la orden incluso si damos a doble clic aquí cuando salgan 691 01:02:38,010 --> 01:02:43,369 errores o lo que sea al dar doble clic te lleva al sitio del script donde que 692 01:02:43,369 --> 01:02:46,150 se ha provocado que aparezca este mensaje. 693 01:02:46,289 --> 01:02:47,949 Esto es útil. ¿Vale? Veis 694 01:02:47,949 --> 01:02:50,070 que no es lo mismo ejecutar 695 01:02:50,070 --> 01:02:52,090 las órdenes en Start que 696 01:02:52,090 --> 01:02:54,329 en Update, que va un fotograma 697 01:02:54,329 --> 01:02:56,250 tras otro. Si yo, por ejemplo, 698 01:02:57,389 --> 01:02:58,070 voy a 699 01:02:58,070 --> 01:02:59,389 comentar, ¿vale? Para no borrar, 700 01:03:00,030 --> 01:03:01,949 este de Backlog, ¿vale? Y vuelvo 701 01:03:01,949 --> 01:03:03,650 a coger este for, ¿vale? 702 01:03:04,030 --> 01:03:05,929 Simplemente, y lo pongo, sin 703 01:03:05,929 --> 01:03:08,030 comentar, en Start. Es decir, solo 704 01:03:08,030 --> 01:03:09,889 una vez se va a ejecutar que me enseñe la 705 01:03:09,889 --> 01:03:12,030 consola, esto de Backlog, veis 706 01:03:12,030 --> 01:03:18,809 que otra vez está aquí que se ejecute hasta el número 8 en realidad menor de 9 vale esto ya sé 707 01:03:18,809 --> 01:03:23,309 que igual vamos seguro que no estaréis siguiendo pero voy explicando lo que hace ya veremos cómo 708 01:03:23,309 --> 01:03:28,590 se hace pero quiero que veáis el funcionamiento de la consola al darle a play vais a ver que va 709 01:03:28,590 --> 01:03:36,269 que se ha generado el 0 al 8 una vez y ya está porque al arrancar el juego le he dicho ponme 710 01:03:36,269 --> 01:03:37,590 una cuenta del 0 al 8 711 01:03:37,590 --> 01:03:40,210 al comenzar el juego y me la ha hecho 712 01:03:40,210 --> 01:03:42,230 y lo ha hecho todo, independientemente 713 01:03:42,230 --> 01:03:44,150 de que haya más frames en ejecución después 714 01:03:44,150 --> 01:03:45,610 me la ha hecho en el primer frame 715 01:03:45,610 --> 01:03:48,269 en el first frame, que no es lo mismo 716 01:03:48,269 --> 01:03:50,130 que si esto lo vuelvo a mover, corto 717 01:03:50,130 --> 01:03:52,050 y pego aquí en el update 718 01:03:52,050 --> 01:03:52,730 guardo 719 01:03:52,730 --> 01:03:56,309 y lo ejecuto aquí, que lo que vais a ver 720 01:03:56,309 --> 01:03:58,250 es que en cada 721 01:03:58,250 --> 01:04:00,510 limpio el código, en cada fotograma 722 01:04:00,510 --> 01:04:01,590 me va a contar hasta 8 723 01:04:01,590 --> 01:04:03,789 le doy 724 01:04:03,789 --> 01:04:06,409 y veis que aquí se está moviendo, están cambiando los segundos 725 01:04:06,409 --> 01:04:08,369 y aunque no se vea muy claro 726 01:04:08,369 --> 01:04:10,130 veis que aquí hay 727 01:04:10,130 --> 01:04:12,510 más de 999 mensajes 728 01:04:12,510 --> 01:04:14,110 ya llega un punto que se para 729 01:04:14,110 --> 01:04:16,650 si yo paro y empiezo a comprobar, veréis que ha contado 730 01:04:16,650 --> 01:04:18,449 hasta 8, pues cada fotograma 731 01:04:18,449 --> 01:04:19,750 de los que lo ha ido haciendo 732 01:04:19,750 --> 01:04:22,289 entonces imaginaos que queréis hacer 733 01:04:22,289 --> 01:04:24,110 un contador de tiempo 734 01:04:24,110 --> 01:04:25,949 pues tendremos 735 01:04:25,949 --> 01:04:28,289 que ir consiguiendo que cada uno de estos 736 01:04:28,289 --> 01:04:30,190 fotogramas en el update 737 01:04:30,190 --> 01:04:32,289 vaya generando un nuevo 738 01:04:32,289 --> 01:04:38,949 número que vaya sumando uno a uno vale para empezar estas dos funciones que como ya hemos visto vienen 739 01:04:38,949 --> 01:04:45,409 de lo que tenemos aquí arriba sirven para decir que esto no ocurre en cesar por defecto para decir 740 01:04:45,409 --> 01:04:51,489 en qué momento se tiene que ejecutar tal código de hecho hay más momentos de ejecución ahí está 741 01:04:51,489 --> 01:04:58,050 el void update pero ahí por ejemplo otro que sería esto ya lo veremos nuevamente el awake pues aquí 742 01:04:58,050 --> 01:05:10,929 Y aquí, en estas llaves de aquí, lo que iremos poniendo son los eventos que se van realizando según se arranca el juego. 743 01:05:10,929 --> 01:05:18,849 Es decir, aunque no se esté ejecutando un frame porque este screen todavía no está en juego, no ha aparecido ese objeto, no se ha provocado, 744 01:05:19,530 --> 01:05:24,570 esto ya ha cargado en ese objeto en potencia ciertos parámetros, lo hace a priori. 745 01:05:24,690 --> 01:05:27,769 Bueno, esto ya lo veremos. Que sepáis que hay más métodos. 746 01:05:28,050 --> 01:05:31,389 hasta aquí ya creo que voy a ir parando 747 01:05:31,389 --> 01:05:33,409 porque es mucha información, me interesa mucho 748 01:05:33,409 --> 01:05:35,550 que vayáis viendo el tema 1 sobre todo 749 01:05:35,550 --> 01:05:37,349 que se lo vayáis haciendo 750 01:05:37,349 --> 01:05:39,409 y también ya una vez 751 01:05:39,409 --> 01:05:41,510 digamos el tema 1 os pongáis con la tarea 752 01:05:41,510 --> 01:05:43,690 que vayáis chequeando también el tema 0 753 01:05:43,690 --> 01:05:45,869 que es como el que va a ser más denso 754 01:05:45,869 --> 01:05:47,730 y ya os he dicho que va a ser a lo largo 755 01:05:47,730 --> 01:05:49,530 de todo el curso, el próximo día 756 01:05:49,530 --> 01:05:51,030 veremos lo relativo a variables 757 01:05:51,030 --> 01:05:53,269 que es una función, un método 758 01:05:53,269 --> 01:05:57,289 más componentes, como se hace 759 01:05:57,289 --> 01:06:03,949 de componentes. También los game objects veremos, pues eso, en la primera tarea tenéis que hacer 760 01:06:03,949 --> 01:06:11,969 una nave a partir de las formas de las geometrías básicas y hacer vuestro primer script de instanciación.