Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Primeros pasos en Unity: introducción a los prefabs - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 25 de septiembre de 2024 por Alvaro H.

118 visualizaciones

Vídeo resumen de introducción a los prefabs

Descargar la transcripción

Vamos a ver uno de los elementos más útiles y que más utilizaremos a lo largo del curso 00:00:05
y que, de hecho, si aprendemos su verdadera potencialidad, pues le sacaremos mucho partido. 00:00:12
Bien, para ello voy a coger una escena vacía y voy a crear algunos elementos al azar, 00:00:18
como por ejemplo un cubo, una esfera, la voy a poner un poquito más arriba, 00:00:22
incluso la voy a escalar para que sea un poquito más pequeña, un cilindro también. 00:00:27
Voy a escalar. Entonces, como podemos ver aquí, en mi ventana de jerarquía, pues tengo tres elementos. 00:00:32
Y vamos a exponer que un elemento prefabricado va a contener muchos elementos dentro, siguiendo su propia jerarquía. 00:00:37
Para entenderlo, pues he creado esas tres, en las que, por ejemplo, la esfera depende del cubo y a su vez el cilindro depende de la esfera. 00:00:43
Así que, bueno, usamos lo que ya conocemos como la jerarquía, de forma que si yo desplazo el cubo, pues lógicamente todo lo demás se desplaza. 00:00:49
Bueno, esto es solo un ejemplo para ver que realmente cuando creamos un prefabricado 00:00:56
lo podemos crear tan complejo como queramos. 00:00:59
Pues ahora mismo, si este elemento con sus hijos que están debajo 00:01:02
lo arrastro a mi ventana de proyecto, que la tengo aquí debajo yo, 00:01:06
en mi disposición de las ventanas, 00:01:09
veremos automáticamente que aparece un elemento con el mismo nombre 00:01:12
y con un iconito que es azul. 00:01:14
¿Qué significa? Que a partir de este momento es un prefab. 00:01:16
De hecho, el elemento que teníamos en el escenario también ha cambiado su icono 00:01:18
indicando que es un prefab. 00:01:22
e incluso la ventana del inspector, veremos que ha cambiado 00:01:23
y ahora aparece este menú 00:01:26
y aparte de algunas cositas más que en elementos 00:01:28
o en GameObjects normales no aparecen 00:01:30
pues bueno, también indicando que es un prefabricado 00:01:32
normalmente cuando hacemos esto 00:01:35
el GameObject que teníamos en la escena 00:01:36
lo podemos borrar directamente 00:01:38
porque ya lo tenemos aquí 00:01:40
y vemos ahí la apariencia que tiene 00:01:42
y de hecho yo lo puedo llevar 00:01:44
y esta es la potencia o la verdaderamente útil 00:01:46
de un prefabricado, es que si yo lo traigo a la escena 00:01:48
pues aparecerá 00:01:50
Y si lo traigo a la escena, pues también. Y si lo traigo a la escena, pues también. Y lo puedo traer a la escena tantas veces como yo necesite. Ahí tenemos lo que se llaman instancias del prefabricado. ¿Y dónde está lo realmente útil? Pues que yo, si me voy a mi prefabricado original, que lo tengo aquí en mi proyecto, y lo modifico, voy a darle aquí a Open Prefab, vemos que automáticamente la ventana de escena, ya no estoy en la escena, sino que estoy editando ese prefabricado. 00:01:52
Y aquí tengo acceso a los elementos primitivos de los que se compone el prefabricado. 00:02:18
Ahí lo tenemos, igual que los había creado anteriormente en la escena. 00:02:23
Eso significa que si en un momento dado veo que, por ejemplo, este cilindro lo necesito un poquito más arriba, 00:02:26
o esta esfera la necesito un poco más ancha, y este cubo lo necesito también a lo mejor más ancho, 00:02:33
lógicamente al modificar uno se modifican todos porque son hijos. 00:02:42
Es decir, vamos a suponer que esto era exactamente lo que yo quería. 00:02:46
Me voy a volver otra vez a la escena. 00:02:48
Si nos fijamos, todos se han modificado. 00:02:50
Vayamos más allá y entendamos que el prefab no solo puede albergar game objects o objetos en 3D, 00:02:52
es que también puede albergar scripts. 00:02:58
Ejemplo, vamos a hacer un prefabricado que se desplace de forma continua en uno de los ejes 00:03:00
y veremos cómo automáticamente cualquier instancia que cree de ese prefab también se desplazará. 00:03:05
Y para ello voy a crear un script, por ejemplo, prefab move. 00:03:10
Si yo le doy también un doble clic al prefab que tengo en el proyecto, se me abrirá, como podemos ver ahí, 00:03:16
y aparte de sus elementos, pues tiene por supuesto sus componentes, todos los que yo quiera, entre ellos, por supuesto, los scripts. 00:03:22
Y si yo a partir de ahora escribo cualquier script, se aplicará al prefab original y a todas las instancias que cree. 00:03:28
Es decir, que si yo le hago que se mueva de forma permanente, pues todas las instancias se moverán de forma permanente. 00:03:34
De hecho, si yo ahora en mi prefab le aplico el método transform translate, vamos a utilizar un vector 3. 00:03:39
Si le decimos que utiliza alguno de sus métodos, encontraremos que tiene métodos como left, como down, como up. 00:03:49
Le voy a decir que se mueve hacia la izquierda. 00:03:55
Por supuesto, esto, si queremos que sea del todo preciso, deberíamos multiplicarlo por time delta time 00:03:57
para que el movimiento sea independiente del número de fotogramas por segundo que se está 00:04:04
ejecutando el juego. Me vuelvo otra vez a la escena. Recuerdo que para volver del prefab a la escena 00:04:10
lo tenemos aquí a la izquierda. Voy a la escena y creo una instancia de mi objeto. 00:04:13
Voy a mover un poquito para arriba y le voy a dar a play. Y ahí lo tenemos, desplazándose el objeto. 00:04:18
Es un buen momento, ya que estamos, para ser también del todo precisos, no puedo evitar 00:04:27
crear una variable a la que pueda tener acceso desde Unity 00:04:31
que sea de tipo float, que se llame speed 00:04:36
y cuyo valor inicial sea a lo mejor 10 00:04:39
por supuesto con una F para indicar que es un float 00:04:42
y este vector 3 que movía hacia la izquierda 00:04:44
y que multiplicaba por delta time, pues a su vez también lo voy a multiplicar 00:04:48
por la velocidad 00:04:50
de forma que ahora mismo tengo un desplazamiento del objeto 00:04:52
pues aparte de que se moverá más rápido, también puedo controlar su velocidad 00:04:56
a través del parámetro este 00:04:59
incluso que se me haga hacia atrás 00:05:00
ya tengo un prefab 00:05:02
pero tenemos que recordar siempre que 00:05:05
esto 00:05:07
que tenemos aquí 00:05:08
es una instancia del prefab 00:05:10
que tenemos en nuestro proyecto 00:05:13
¿y qué hemos aprendido? que podemos instanciarlo 00:05:15
tantas veces como queramos 00:05:17
y que todas las instancias 00:05:18
tienen ese script asociado, es decir, que si le doy 00:05:21
al play, todos 00:05:23
los prefabs se moverán 00:05:24
ahí están 00:05:27
esto es interesante porque si nos fijamos 00:05:28
cada una de estas instancias tiene el script asociado 00:05:31
pero yo en cada una de ellas le puedo cambiar el parámetro 00:05:36
de velocidad y eso significa que se moverán 00:05:39
a distinta velocidad cada uno, ahí está, si nos fijamos 00:05:46
en las instancias que hemos creado de este prefab, veremos aquí arriba a la derecha una opción 00:05:51
que cuando aplicamos algún cambio, en este caso hemos aplicado un cambio 00:05:55
al parámetro de velocidad, pero bueno, podríamos aplicar 00:05:59
cambios a cualquiera de sus componentes 00:06:01
pues bien, si venimos aquí 00:06:03
donde pone Verides 00:06:05
pues aplicará ese cambio 00:06:06
a el prefab original 00:06:08
como podemos ver, lo vamos a comprar otra vez 00:06:12
voy a seleccionar cualquiera de las 6 instancias 00:06:14
le voy a cambiar la velocidad 00:06:15
a 6 00:06:17
él automáticamente me detecta que ha habido un cambio 00:06:18
en este caso en el script 00:06:21
le digo que aplique esos cambios 00:06:22
al prefab 00:06:25
y si me voy efectivamente al prefab original 00:06:26
veremos que efectivamente ahora tiene una velocidad de 6. 00:06:29
Idioma/s:
es
Autor/es:
Álvaro Holguera
Subido por:
Alvaro H.
Licencia:
Reconocimiento - No comercial - Sin obra derivada
Visualizaciones:
118
Fecha:
25 de septiembre de 2024 - 0:16
Visibilidad:
Público
Centro:
CFP JOSÉ LUIS GARCI
Duración:
06′ 32″
Relación de aspecto:
1.78:1
Resolución:
1280x720 píxeles
Tamaño:
130.54 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid