Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Video 3. Shader Graph. Unity - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Shader Graph. Unity
Bueno, en este vídeo vamos a ver cómo utilizar el Shader Graph, que para mí es de las herramientas
00:00:14
visualmente más potentes que tiene un programa de 3D, ya que con un Shader podemos controlar
00:00:19
variaciones en las texturas, así como desplazamientos reales en la geometría de la topología del modelo.
00:00:27
Entonces, para empezar, voy a sacar por aquí un plano, un plano que tengo yo por aquí,
00:00:35
un plano normal y corriente
00:00:42
lo primero de todo es crear un material
00:00:46
a ver, creamos un material
00:00:49
le ponemos por ejemplo asfalto
00:00:57
y le ponemos el material
00:01:00
al objeto
00:01:06
a aplicar
00:01:07
entonces este objeto ya está utilizando este material
00:01:10
ahora hay que crear un Shader Graph
00:01:13
clic derecho
00:01:15
buscamos Shader Graph
00:01:17
URP, ¿vale?
00:01:19
porque trabajamos en URP
00:01:21
y lead shader, que al final es el shader
00:01:22
que más ajustes tiene
00:01:25
lo creamos
00:01:27
shader es falto
00:01:29
entonces ahora o bien
00:01:36
se coge el shader
00:01:41
y se arrastra encima del material
00:01:42
así por ejemplo
00:01:44
o bien se selecciona el material
00:01:46
y buscamos nuestro shader
00:01:49
aquí arriba, porque recordemos
00:01:51
que todo esto son los shaders que tiene
00:01:53
Unity, podemos buscarlo
00:01:55
en
00:01:57
universo, vale, aquí no va a aparecer
00:01:57
simplemente buscamos el nombre que le hemos puesto
00:02:01
que en nuestro caso es shader asfalto y aquí nos va a salir
00:02:05
yo solo preferí arrastrar porque es más cómodo, entonces este material
00:02:09
ya está utilizando este shader, yo ahora mismo como no tenemos nada
00:02:15
en el shader está todo vacío, vamos a darle clic derecho al shader
00:02:19
y aquí pues ya tenemos toda la información que vamos a poder tocar
00:02:23
Entonces en este caso vamos a arrastrar las texturas de este asfalto, por aquí tendríamos el albedo, metallic smoothness y mapa de normales y simplemente vamos conectando el color al color, el metálico al metálico, el smoothness ya sabéis que va en el canal alfa,
00:02:29
así que el alfa al smoothness
00:02:56
y el mapa de normales
00:02:58
pues las normales
00:03:01
esto lo podemos variar por si no os es más cómodo
00:03:03
yo lo voy a poner aquí abajo
00:03:06
y en el mapa de normales
00:03:07
hay que poner que actúe como mapa de normales
00:03:10
vale, importante
00:03:12
siempre que hagamos cualquier cambio
00:03:13
hay que darle a guardar
00:03:15
si no le damos a guardar no vamos a ver
00:03:16
los cambios que hemos hecho
00:03:18
entonces si le doy a guardar
00:03:20
y me vuelvo a la escena
00:03:22
ya estaría cogiendo este material
00:03:25
lo interesante de esto
00:03:29
es que por ejemplo
00:03:32
podemos hacer que una textura se mueva
00:03:33
¿cómo hacemos eso?
00:03:35
pues necesitamos el nodo
00:03:38
de las UVs
00:03:39
ya que lo que vamos a hacer
00:03:41
es mover las UVs
00:03:44
del propio modelo
00:03:45
estas UVs las vamos a conectar
00:03:47
a todos los mapas
00:03:49
porque no tiene sentido que solamente se mueva el color
00:03:50
y la información de las normales
00:03:53
o del metálico o de cualquier mapa se quede fijo, ¿vale?
00:03:55
Se tienen que mover todos los mapas al mismo tiempo.
00:03:58
Entonces ya tendríamos aquí nuestras uves.
00:04:01
Voy a poner también el de tiling, que va a ser el mapa que nos ayude a mover.
00:04:05
De hecho, este mapa no haría falta.
00:04:14
Este mapa está bien para cuando queremos que algo use las uves y no el triplanar.
00:04:17
Eso lo vamos a ver después.
00:04:23
Aquí ya vienen las uves.
00:04:25
Vamos a utilizar este, conectamos las UVs y ahora moviendo el Tiling vamos a poder mover la textura. Aquí tenemos la previsualización y en el Tiling es la escala de la textura y el Offset es el desfase, como dice el propio nombre.
00:04:26
Y aquí ya podremos hacer un desfase. Es importante que las texturas se puedan tilear, se puedan repetir. Es decir, que los píxeles de izquierda concuerden con los de la derecha y los de arriba con los de abajo. Y así se va a poder repetir y no se va a ver ningún corte.
00:04:51
Si ahora yo le pongo un nodo que se llama time, que es el nodo que se utiliza para animar,
00:05:07
le puedo poner el time al offset y por cada segundo se va a mover una unidad en los ejes.
00:05:15
Ahora mismo, ¿qué pasa? Que se está moviendo tanto en el eje X como en el eje Y.
00:05:26
Solamente queremos que se mueva en el eje X para tener este efecto, porque esto no nos interesa.
00:05:30
¿Cómo se hace esto? Pues simplemente habría que sacarse el nodo de vector2, que el vector2 ya nos traen las dos coordenadas, las x y las y
00:05:36
Lo mandamos al offset y ahora sí conectamos esto a la x, entonces solamente se va a mover en el eje x, le doy a guardar y esto ya se estaría animando en tiempo real
00:05:50
Si mantenéis el clic derecho, lo vais a ver continuamente animado.
00:06:07
Y aquí estaría.
00:06:13
Si no lo mantenéis, esto se va a parar porque así Unity va mejor.
00:06:15
Pero si mantenéis el clic derecho, vais a ver cómo se vería cuando lancéis la aplicación.
00:06:19
¿Que queréis que vaya más rápido o más lento?
00:06:24
Pues simplemente este tiempo vamos a hacer que sea menos o más con un nodo matemático.
00:06:28
Como puede ser, por ejemplo, el de multiplicar.
00:06:33
si yo esto lo multiplico por 2
00:06:35
va a ir el doble de rápido
00:06:39
si yo esto lo multiplico por 0,1
00:06:41
por ejemplo
00:06:46
va a ir muy lento
00:06:47
lo podemos dejar en 0,5
00:06:49
y ya lo tendríamos aquí
00:06:52
sería una forma de mover texturas en tiempo real
00:06:57
no solo podemos mover
00:07:02
sino que también podemos rotar y podemos escalar
00:07:04
dependiendo de que queramos hacer
00:07:06
algunas veces quizá
00:07:10
nos venga bien que la textura
00:07:12
se escale o que no se escale
00:07:14
Y lo mismo con rotar. Para rotar, como este nodo no tiene la información de rotar, tendríamos que sacar el nodo de rotar.
00:07:18
Rotar, uves. Este rotar lo podemos poner tanto antes como detrás. Algunas veces funcionará mejor poniéndolo antes, otras veces mejor detrás.
00:07:29
Porque al final todo esto es un puzzle que estamos haciendo, que dependiendo de cómo hagamos los nodos, va a ir la información de un modo u otro
00:07:41
y quizá eso en algunas situaciones sí que importe, ponerlo delante o detrás.
00:07:49
En este caso vamos a poner detrás, por ejemplo, y esto ya lo podemos rotar.
00:07:56
Voy a parar un momento la animación y lo podríamos rotar en radianes o en grados.
00:08:06
Yo lo suelo poner en grados, que todo el mundo lo entiende mejor.
00:08:14
Y aquí ya podemos poner los grados de rotación con los que queremos rotar la textura.
00:08:18
Y el centro de rotación también lo podríamos poner.
00:08:23
Si ponemos 0,0 va a rotar a partir, como estamos usando las uves, el centro es abajo a la izquierda, ¿vale? Imaginemos que esto es las típicas coordenadas de x e y, y entonces esto sería y, esto sería x y esto sería el punto 0,0, ¿vale?
00:08:26
por esto este sería el centro
00:08:49
y por eso gira en Tornine
00:08:51
¿qué queremos que gire en el centro?
00:08:55
pues aquí supongo que sería mover
00:08:59
0,5 a cada lado
00:09:01
pudiera ser
00:09:04
o simplemente sería ir jugando un poco
00:09:05
hasta encontrar el centro que más nos interese
00:09:10
en este caso no está funcionando de la mejor forma
00:09:14
pero rara vez vamos a querer rotar
00:09:23
una textura como tal. Las texturas procedurales, que las veremos ahora, sí que tienen algo más de sentido quizá,
00:09:25
pero también que sepáis que podéis rotar con el nodo de rotar. Las texturas también se pueden deformar, por ejemplo,
00:09:32
voy a quitar este rotate, voy a enchufar esto. Para deformar una textura haría falta un ruido, un ruido que deforme.
00:09:46
Al final puede ser un ruido, puede ser una textura rayada. Yo voy a sacarme un ruido, como por ejemplo un simple noise. De hecho el simple noise no lo voy a sacar. Voy a sacar mejor el gradient noise, que es como más suave.
00:09:59
Lo que habría que hacer es pensar que por aquí va la información de las coordenadas, lo que dice cómo se van a repartir las coordenadas a lo largo de la geometría.
00:10:21
Es esta información la que tenemos que variar, la tenemos que alterar, todo lo que pasa por aquí.
00:10:32
Entonces, ¿cómo hacemos esto? Pues esto lo vamos a hacer con el nodo blend.
00:10:39
Bien, el nodo Blend es uno de los nodos más importantes que hay. Este nodo es exactamente el mismo nodo que en Blender, que es este nodo, ¿vale? Es exactamente el mismo nodo. Tenemos aquí un factor de mezcla, dos colores o dos imágenes y luego los modos de fusión. Todos estos modos de fusión están en Photoshop y son exactamente los mismos.
00:10:43
entonces aquí igualmente tenemos nuestro factor que aquí se llama opacidad
00:11:12
y los dos colores o dos imágenes que vamos a mezclar
00:11:19
no hace falta que sean colores e imágenes, puede ser cualquier tipo de información
00:11:24
entonces si estas uves la mezclamos con un ruido
00:11:29
ya estamos alterando las uves de las coordenadas
00:11:34
estamos alterando las coordenadas
00:11:44
y si yo pongo aquí 0
00:11:47
no se va a mezclar con la parte de abajo
00:11:49
y si le pongo un 1
00:11:51
también, perdón
00:11:53
porque esto lo tenía que explicar
00:11:55
en el overwrite
00:11:56
es
00:11:59
el mismo tipo que aquí en blender
00:12:01
que es el modo mix
00:12:03
que es básicamente si yo pongo aquí un rojo
00:12:04
y yo pongo aquí un blanco
00:12:07
en 0% va a ser puro rojo
00:12:08
y si lo pongo en 1 va a ser puro blanco
00:12:11
en 0,5 pues será la mezcla de los dos
00:12:13
aquí lo mismo
00:12:16
en el modo work right
00:12:17
si lo pongo en 0
00:12:18
solamente se va a ver el de arriba
00:12:20
si lo pongo en 1 se va a ver
00:12:23
el de abajo
00:12:25
en este caso se mezclan los colores por un tema
00:12:26
de cómo funciona este nodo
00:12:29
pero esta sería la mecánica
00:12:31
entonces el ayudo de aquí sería
00:12:33
mezclarlo muy poquito
00:12:36
y estas uves
00:12:39
pasarlas ya a las imágenes y aquí ya se estaría viendo que se están deformando
00:12:41
cuanto más le demos al opacity más se va a deformar
00:12:52
es una forma que hay de formar de formar en cualquier sistema de nodos igual que
00:12:58
estoy formando esto con un ruido puedo utilizar otras texturas procedurales
00:13:04
como puede ser labor no labor no y es una de las texturas profesionales que
00:13:09
más se usan que se puede usar por ejemplo para crear escamas para crear el cuero también
00:13:12
y también se puede animar entonces si yo esto ahora lo meto aquí en vez del noise se me va
00:13:21
a deformar teniendo en cuenta cómo es esta información y aquí lo estáis viendo y esto
00:13:28
ya lo podéis animar y podéis hacer lo que queráis en este caso como esto no tiene
00:13:43
un valor como tal
00:13:54
Cuando digo un valor como tal me refiero a que este valor que trae el bornoid ya se anima
00:13:57
simplemente sería meter aquí
00:14:03
el time
00:14:05
en este caso
00:14:08
como seguramente no queramos
00:14:10
estar escalando para animar una textura
00:14:13
porque lo lógico sería que esto estuviese quizás así y ya que se animase pues lo que tenemos que hacer es
00:14:15
ponerle el time en las uves a este modo
00:14:22
es decir, vamos a coger
00:14:26
otro tiling an offset, igual que antes
00:14:29
se lo ponemos aquí a este ruido, esto se me ha estirado porque esto ya me venía
00:14:33
con ese valor, lo pongo en 1, esto ya está igual que antes
00:14:38
y hacemos exactamente lo mismo que antes
00:14:42
esto se lo ponemos al offset y ya estaría
00:14:45
guardar y aquí ya tenemos la textura animada
00:14:50
no solamente podemos deformar las texturas, moverlas, rotarlas
00:14:58
también hemos dicho que podemos
00:15:07
podemos deformar la geometría
00:15:09
entonces para eso voy a sacarme aquí un plano
00:15:16
es importante que si queremos deformar la geometría
00:15:20
que tenga realmente geometría
00:15:25
es decir, si es un plano tal cual
00:15:27
yo no lo voy a poder deformar
00:15:31
pero ya si yo le doy muchas subdivisiones
00:15:33
ya sí que voy a poder deformar
00:15:36
esta geometría, es importante
00:15:37
que tenga subdivisiones la malla
00:15:39
que queremos deformar, entonces este plano
00:15:41
yo me lo acabo de pasar aquí
00:15:43
le voy a poner un material
00:15:45
voy a llamar
00:15:49
water, de agua, vamos a intentar
00:15:51
hacer agua, aquí me dice
00:15:53
vale, sí que se está
00:15:56
usando un mapa de normales, siempre que salga
00:15:59
el mapa de normales, como en el vídeo anterior dije
00:16:01
siempre fix now
00:16:03
siempre poner fix now
00:16:05
le voy a arrastrar el material
00:16:06
al objeto
00:16:10
aplicar
00:16:12
y ya pues creamos el shader graph
00:16:14
shader graph
00:16:17
urp, lead
00:16:19
vamos a llamarle shader water, por ejemplo
00:16:20
lo arrastro encima del material
00:16:25
y ya está utilizando este shader
00:16:28
vamos a abrir el shader
00:16:31
y vamos a hacer agua
00:16:33
el agua
00:16:36
pues el agua tiene
00:16:38
mucha reflexión
00:16:39
le voy a poner 1 de reflexión
00:16:42
para que se vean bien los reflejos
00:16:43
le voy a poner que sea metálico
00:16:47
dependiendo de la escena puede quedar mejor o peor
00:16:48
poner metálico o poner especular
00:16:51
yo voy a dejar el metálico
00:16:53
le voy a poner un color un poquito azul
00:16:57
tampoco mucho
00:16:59
porque al final está reflejando el fondo que también es azul
00:17:00
por ahora la vamos a dejar así
00:17:03
vamos a ver como queda
00:17:06
de hecho también lo que podéis hacer es
00:17:07
coger este shader, esta pestaña, perdón
00:17:10
y llevarla a otro sitio
00:17:13
si veis que os molesta
00:17:16
y así podéis tocar el shader
00:17:18
a la vez que veis aquí el resultado
00:17:21
no tenéis que estar cambiando todo el rato de pestaña
00:17:23
vale, pues aquí ya tendríamos nuestro agua
00:17:25
que ya veis que refleja muchísimo
00:17:30
pero no parece agua
00:17:32
porque no está moviéndose, por así decirlo.
00:17:34
Entonces, este movimiento del agua se podría hacer o bien con un mapa de normales
00:17:39
o moviendo la propia geometría, dependiendo de cuál sea el resultado que busquemos.
00:17:43
Podemos hacerlo, por ejemplo, con un mapa de normales, que sería con un noise.
00:17:48
Este noise, a ver cómo es este noise.
00:17:53
Este nos vamos a utilizar el de antes, que era el gradient noise.
00:17:56
Aquí lo tenemos.
00:18:00
Le vamos a poner el Tilling On Offset.
00:18:02
para poder mover esta textura, le vamos a poner el time para que se mueva a lo largo del tiempo, también el multiply para hacer que se mueva más o menos rápido,
00:18:05
lo enchufamos todo, vamos a poner vector2, ahora veremos si lo tenemos que enchufar en el x y en el y, al offset, vale, esto ya se está moviendo,
00:18:22
vemos que se mueve muy rápido, vamos a ponerle 1 quizá, con 7, voy a dejarlo en con 7, entonces para utilizar esto como un mapa de normales,
00:18:42
los mapas de normales ya sabéis que son estos mapas lilas, morados, y esto es blanco y negro, entonces lo suyo es utilizar un nodo que se llama normal from hate,
00:18:57
los mapas de blancos y negros que actúan como un mapa de normales
00:19:12
también se les puede llamar un mapa de height
00:19:17
que es lo mismo que un mapa de normales solo que de blancos y negros
00:19:19
los mapas de normales siempre van a tener más resolución
00:19:22
se van a ver mejor
00:19:25
entonces gracias a este nodo un mapa de blancos y negros
00:19:26
lo podemos convertir en un mapa de normales
00:19:30
y de aquí le podemos dar más o menos fuerza
00:19:32
y esto al mapa de normales
00:19:37
que estaría aquí
00:19:44
guardar y ya lo tendríamos aquí
00:19:46
problema, que se está viendo
00:19:51
muy fuerte este mapa de normales
00:19:53
y este mapa de normales
00:19:55
ya tiene 0,1 de fuerza, o sea
00:19:57
es poco, para controlar mejor este valor
00:19:59
yo lo que suelo hacer
00:20:01
es coger un multiply
00:20:02
me lo voy a duplicar
00:20:04
con control D
00:20:07
ya sabéis que control D es para duplicar cualquier cosa
00:20:08
en Unity
00:20:11
y vamos a multiplicar
00:20:11
un valor, por ejemplo, 0
00:20:14
con 0,1
00:20:16
por el valor que nosotros queramos
00:20:18
aquí abajo
00:20:21
esto lo voy a poner en la fuerza
00:20:22
y ahora yo tengo
00:20:24
mucho más control en la fuerza
00:20:27
voy a dejarlo un poco más suave
00:20:29
quizá así
00:20:32
vamos a ver, esto ya sería cuestión
00:20:33
de ir probando, aquí vemos que no se
00:20:35
nota prácticamente nada, subimos un poco
00:20:37
más la fuerza, guardamos
00:20:39
y aquí ya sí que estamos
00:20:41
viendo algo, voy a aumentarle
00:20:45
un poco más la fuerza, guardamos y así. Esto ya es un efecto que me gusta más, sigue
00:20:47
yendo un poco rápido para mi gusto, entonces la velocidad se la voy a cambiar, voy a poner
00:20:57
0.4 quizá, recordad que tenéis que hacer clic derecho para verlo en tiempo real, había
00:21:03
por ahí una opción para no tener que darle clic derecho, que ahora mismo no recuerdo
00:21:12
dónde está, yo solo darle clic derecho y ya lo veo. Y bueno, quizá podríamos mezclar un par de ruidos.
00:21:15
¿Cómo se mezclan un par de ruidos? Pues aquí tendríamos ya lo que nos permite convertir la
00:21:25
información de blancos y negros en normales, así que por aquí es por donde tienen que ir los dos
00:21:31
ruidos. En este caso tenemos uno, vamos a añadir otro, duplicar, vale, y todo esto lo vamos a mezclar.
00:21:36
en este caso hemos utilizado el eje X
00:21:48
vamos a utilizar ahora el eje Y
00:21:50
vamos a borrar esto
00:21:52
y esto ya se estaría moviendo en otro sentido
00:21:54
ahora estos dos los vamos a mezclar
00:22:01
¿cuál es el nodo para mezclar?
00:22:03
el nodo blend, el mismo que he explicado antes
00:22:05
mezclamos los dos blend
00:22:07
lo ponemos en modo override
00:22:10
o si nos gusta otro modo
00:22:14
porque ya os digo que todos estos modos de fusión
00:22:17
cada uno actúa a su manera
00:22:19
está bien saber qué hace cuál
00:22:21
pero al final en cualquier documentación
00:22:23
tanto de Unity como de Photoshop
00:22:26
ya sale para qué vale cada cosa
00:22:28
lo normal es que se utilice el modo Overwrite
00:22:30
para decidir una simple mezcla
00:22:35
como vamos a mezclar un poco de uno y un poco de otro
00:22:38
ese es el Overwrite
00:22:41
se puede utilizar el modo Multiply
00:22:42
que sirve mucho para quedarse con los negros
00:22:45
solo para mezclar los negros de una imagen
00:22:48
los blancos no se mezclan
00:22:51
el modo lighten al revés
00:22:52
se mezclan los blancos
00:22:55
pero no los negros
00:22:57
y el modo overlay
00:22:58
que también se utiliza mucho para
00:23:00
para hacer como
00:23:02
otro tipo de mezcla
00:23:05
entonces yo si fuese vosotros
00:23:06
utilizaría overwrite, overlay
00:23:09
multiply o lighten dependiendo de
00:23:11
que queramos conseguir
00:23:13
ya os digo porque esto al final hay tantas posibilidades
00:23:14
que es imposible explicarlas todas
00:23:17
en este caso el modo overlay funciona bien
00:23:19
simplemente también podéis ir probando hasta que alguno os guste más
00:23:22
este también estaría bien
00:23:26
y esto ya se metería en el mapa de normales
00:23:28
ahora guardar
00:23:33
y ya tendríamos aquí algo mejor
00:23:35
que parece que no solamente va en un sentido
00:23:40
esta sería una forma de hacer
00:23:42
por ejemplo un material de agua
00:23:44
sin tener que deformar la geometría
00:23:47
ahora, si queremos deformar la geometría
00:23:50
lo que voy a hacer va a ser duplicar este shader
00:23:53
duplicar este material también
00:23:59
el shader water1 va a ir con water1
00:24:06
y aquí le vamos a poner a este plano el water1
00:24:10
ahora mismo como el shader es el mismo
00:24:14
se comporta de la misma forma
00:24:18
voy a abrir el shader water1
00:24:19
me lo voy a poner por aquí
00:24:22
igual que antes, y esto lo voy a quitar.
00:24:26
Vale, entonces aquí ya vemos que son dos seres diferentes
00:24:39
y este es el que vamos a hacer que se mueva la geometría realmente.
00:24:41
¿Cómo se hace esto?
00:24:45
Con esta información de aquí, con la posición de los vértices.
00:24:47
Entonces, ¿qué hay que hacer?
00:24:52
Meter una imagen de blancos y negros.
00:24:53
Los blancos van a hacer que la geometría suba hacia arriba
00:24:55
y los negros van a hacer que baje hacia abajo.
00:24:58
entonces si esto lo ponemos en la posición
00:25:01
seguramente esto se va a volver un poco loco
00:25:05
pero lo vais a ver
00:25:08
de hecho ha desaparecido
00:25:14
que es algo que alguna vez ha pasado
00:25:16
lo que voy a hacer va a ser que este blend
00:25:18
lo voy a duplicar
00:25:22
y lo voy a mezclar
00:25:24
modo overwrite
00:25:29
con un color gris
00:25:31
que al final un color gris
00:25:34
es 0,5
00:25:36
porque los blancos son valor 1
00:25:39
y los negros son valor 0
00:25:41
entonces el gris pues es un valor 0,5
00:25:42
que es como el valor en el que la geometría
00:25:45
nunca se va a mover, no va a ir ni hacia arriba
00:25:48
ni hacia abajo
00:25:49
lo voy a poner en la posición
00:25:50
y le voy a bajar intensidad
00:25:53
a ver si es que tiene
00:25:59
tanta, tanta intensidad
00:26:00
que se va fuera de Unity
00:26:02
ahí tiene muy poca intensidad
00:26:04
y sigue
00:26:07
sin salir, se puede probar con otro objeto
00:26:14
ahora mismo tampoco sabría
00:26:16
decir exactamente por
00:26:17
qué está desapareciendo
00:26:20
se supone que si yo aquí le pongo
00:26:22
1
00:26:24
estaría cogiendo el 100%
00:26:26
del segundo color
00:26:28
o sea, 0.5 y no se debería
00:26:29
de mover del sitio
00:26:32
no se debería, vamos
00:26:33
pero se mueve, vamos a intentar
00:26:35
meterlo con
00:26:38
otro objeto, a ver
00:26:39
por ejemplo con
00:26:42
con el mono, le voy a meter
00:26:46
water1
00:26:53
y desaparece también
00:26:55
puede que sea algo raro
00:26:57
de esta versión de Unity porque solamente
00:27:01
me ha pasado en este ordenador
00:27:03
pero ahora mismo no sabría
00:27:04
decir
00:27:07
por qué está desapareciendo el objeto
00:27:07
aún así si os interesa yo
00:27:11
lo puedo mirar, luego voy a arreglarlo
00:27:14
pero se me hace bastante, bastante
00:27:16
raro, bueno
00:27:20
por no alargarlo mucho
00:27:27
lo voy a dejar aquí, esto de
00:27:29
deformar la malla, pero la
00:27:31
mecánica sería esta, meterla en
00:27:33
vale, vale, vale
00:27:35
vale, claro
00:27:39
como nunca solemos hacer esto tampoco recordaba por qué
00:27:41
hay que meter un nodo extra
00:27:43
voy a borrar
00:27:45
el mono, aquí tenemos el plano
00:27:47
lo que habría que hacer sería
00:27:50
meter un nodo
00:27:52
llamado posición
00:27:56
posición
00:27:57
elegir la posición del objeto
00:27:59
y esta posición la vamos a mezclar
00:28:03
porque al final esta posición son como unas coordenadas
00:28:09
esta posición es la que vamos a mezclar
00:28:11
con la imagen de blancos y negros
00:28:14
que es la que va a deformar
00:28:15
igual que antes con un blend
00:28:16
y me parece que el modo bueno es el overlay
00:28:19
overlay, aquí está
00:28:28
y le vamos a bajar un poquito
00:28:31
aquí ya está saliendo de hecho en la preview
00:28:35
y esto sería como la fuerza
00:28:39
cuanto más lo mezclemos, más fuerza, más deformado va a salir
00:28:43
y cuanto menos lo hagamos, menos deformado
00:28:46
lo voy a dejar así un poquito
00:28:49
0.2 quizá, voy a darle a guardar
00:28:52
y aquí lo tenemos
00:28:55
¿cuál es el problema? que se está deformando en un eje que no queremos
00:28:58
entonces habría que buscar la forma
00:29:04
de que se deforme hacia arriba
00:29:09
vamos a ver cómo lo podemos hacer
00:29:14
voy a probar a utilizar las coordenadas del mundo en vez del objeto
00:29:16
va a salir creo que igual
00:29:22
sí, más o menos igual
00:29:25
vamos a probar a sacar un split
00:29:29
que al final lo que hace es separar canales
00:29:40
a ver si uno de estos canales es el que controla
00:29:42
la deformación en el eje vertical
00:29:45
y vamos a utilizar, por ejemplo, solo el canal, vamos a ver, con el canal rojo
00:29:49
lo que pasa, ah, pues mira, directamente es que no funciona
00:29:56
claro, necesitará los tres canales
00:30:03
en este caso tampoco sabría decir, tendría que mirarlo
00:30:05
cómo hacer que se deforme en el eje vertical
00:30:10
claro, porque aquí no se va a deformar
00:30:13
o simplemente podríamos probar a utilizar otros modos de fusión
00:30:26
pero por defecto
00:30:32
lo debería hacer en todos los sentidos
00:30:35
pero es como que solo lo hace en uno
00:30:38
aquí sí que lo hace
00:30:40
el modo overwrite sí que lo hace
00:30:50
al final es buscar la combinación
00:30:51
buena de nodos
00:30:56
aquí ya sí que se estaría deformando
00:30:57
tendríamos que rotar
00:31:02
esto
00:31:04
en el eje
00:31:05
vamos a ver
00:31:08
voy a girar la mano
00:31:09
aquí ya vemos que se estaría deformando
00:31:14
al final podemos deformar cualquier cosa, puede ser agua, puede ser una pared, el suelo, lo que sea
00:31:33
esto que estáis viendo es el reflejo del environment
00:31:40
y ya pues en el opacity le daríamos más o menos fuerza
00:31:47
¿le damos mucha? pues se deformará mucho
00:31:50
y así con todo
00:31:59
ya os digo que para controlar bien lo que es el deformar los vértices
00:32:02
hay que saber también que nodos
00:32:09
se utilizan para que las coordenadas
00:32:11
no se vayan a la porra
00:32:14
como está pasando ahora
00:32:16
que lo está haciendo un poco en diagonal
00:32:17
al final también hay que saber controlar bien esto
00:32:19
no se suele utilizar mucho este nodo
00:32:21
pero también está bien que sepáis que podéis
00:32:23
formar la malla
00:32:25
¿qué más cosas se pueden hacer?
00:32:26
se puede cambiar el color
00:32:31
el color de las cosas
00:32:32
por ejemplo aquí tengo una mesa de mezclas
00:32:33
le voy a poner
00:32:36
material
00:32:39
de hecho le voy a crear dos materiales
00:32:40
el material de la mesa
00:32:43
y el de la luz
00:32:45
el de la mesa
00:32:47
pues va a tener
00:32:49
el albedo y el metallic
00:32:50
unity, esto ya lo conocéis
00:32:53
o sea metallic smoothness
00:32:55
aquí se puso unity porque lo llamamos así
00:32:57
hace mucho tiempo
00:32:59
esto ya sabéis que de normal tiene que ir a 1
00:33:00
para que salgan los reflejos
00:33:03
tal como lo hemos hecho en el programa 3D
00:33:04
como puede ser substance
00:33:06
y también os dije en el vídeo anterior que aunque ya veáis las texturas,
00:33:07
aún así arrastradlas siempre aquí, ¿vale? Es muy importante.
00:33:17
O, en vez de arrastrarlas, darle a extraer materiales que en realidad es la forma correcta, ¿no?
00:33:21
Pero bueno, en este caso lo voy a dejar así.
00:33:26
Mesa a mesa y la luz a la emisión, ¿vale?
00:33:30
Estos nombres son los nombres que le damos a los materiales en Blender antes de exportar.
00:33:34
Entonces ahora yo ya puedo cambiar la emisión de esta luz. Para ello voy a crear un shader, shader graph, urp, lead shader graph, luz mesa por ejemplo, arrastramos el shader encima del material, esto lo voy a quitar, de hecho voy a quitar también todo esto que tengo por aquí, doble clic y sacamos aquí nuestro shader graph.
00:33:38
Para dar la emisión tendríamos que utilizar la salida de la emisión. Por ejemplo, si yo esto lo pongo de color naranja, que por cierto en la emisión también le tenemos que decir qué intensidad va a tener.
00:34:13
yo lo voy a poner por ahí, también podéis hacerlo
00:34:32
de unidad en unidad, dándole aquí
00:34:37
guardar
00:34:38
y ya tendríamos aquí
00:34:41
la emisión, ¿vale?
00:34:44
aunque esto no tiene que ver con el
00:34:47
shader graph, lo voy a explicar también
00:34:48
y es que una emisión nunca se va a ver
00:34:50
emisiva sin un bloom
00:34:53
que se llama, sin ese resplandor
00:34:54
ese resplandor
00:34:56
aquí lo solemos crear con un empty
00:34:58
aquí le podemos poner
00:35:00
bloom
00:35:03
ya que se llama así ese efecto
00:35:03
esto me lo voy a cargar
00:35:06
y a este bloom se le añade
00:35:08
un componente que se llama
00:35:12
volume
00:35:14
entonces, esto es muy mecánico
00:35:14
es siempre igual, se le saca un volume
00:35:19
se le da a new para crear un profile
00:35:21
y se añade
00:35:23
un overdrive
00:35:25
que es como un efecto
00:35:27
posprocesado, bloom
00:35:28
le damos intensidad
00:35:30
y esto ya estáis viendo que es otra cosa
00:35:34
Lo malo del Bloom, que es un posprocesado y el posprocesado no le gusta a la VR
00:35:40
Hay que tener todo muy optimizado para que el Bloom no haga que los FPS caigan mucho
00:35:46
Entonces tened cuidado con esto, yo lo pongo para que se vea mejor simplemente
00:35:51
Entonces ya tenemos aquí nuestra emisión
00:35:55
¿Cómo hacemos que cambie de color?
00:35:57
Pues simplemente con un nodo V
00:36:00
Y metiendo un color por defecto, puede ser el color que queráis
00:36:04
color, vamos a ponerle otra vez el naranja
00:36:09
lo ponemos aquí, de hecho esto lo voy a hacer un poquito más grande
00:36:15
y al igual que antes, el offset es lo que vamos a tener que tocar
00:36:24
para cambiar el color, el offset es exactamente lo mismo que si
00:36:31
hiciésemos esto, esto es lo que hace el V
00:36:35
entonces ponemos un time, igual que antes
00:36:38
y al offset, le damos a guardar y que estamos
00:36:43
viendo que está cambiando
00:36:58
no se ve que esté cambiando
00:37:00
vamos a ver que está pasando, puede que esté cambiando
00:37:04
muy lento, no parece, ¿verdad?
00:37:08
vamos a ponerle por si acaso un multiply
00:37:10
vale, aquí sí que se está viendo que
00:37:11
cambia algo, por 2
00:37:21
por 10, vale, pues
00:37:23
por 50
00:37:35
según el valor y según el no de cómo funcione
00:37:36
vamos a tener que poner valores más altos o más bajos
00:37:39
aquí ya estamos viendo
00:37:41
que ya está cambiando de color
00:37:43
seguro que alguien se pregunta
00:37:44
¿Cómo podemos hacer que esto fuese una línea perfecta donde fuese un degradado de colorines?
00:37:47
Pues eso, para hacer eso, que es un efecto también muy chulo, tendríamos que utilizar las uves.
00:37:53
Sería simplemente irnos a nuestra mesa analógica, irnos a las uves y todo este cacho de aquí tenemos que dejarlo recto en las uves.
00:37:58
¿Para qué? Para pasar un gradiente de color de arriba abajo o de izquierda a derecha.
00:38:14
Entonces para ello voy a hacer las uves de esto que sería marcar por aquí las costuras y en cualquier sitio yo suelo hacer donde no se note el corte lo que no vaya a ver el usuario ahí es donde suelo meter ciertos cortes.
00:38:21
Por ejemplo aquí como normalmente lo van a ver desde aquí la mesa no van a mirar por atrás voy a meter aquí un corte que aún así voy a hacer que no se note pero bueno los cortes mejor hacerlos donde se vean menos.
00:38:40
Voy a hacer el desplegado de uves de esto y me queda así.
00:38:52
Si alguna vez esto nos queda recto, sería tan fácil como seleccionar una arista.
00:39:01
O sea, hay que elegir un cuadrado, aunque sea un rectángulo, sea el que sea, lo elegimos y le damos a alinear automáticamente.
00:39:08
Y así con las cuatro aristas. ¿Para qué? Para tener un cuadrado o un rectángulo con las aristas perfectamente rectas.
00:39:16
Una vez eso, seleccionamos este cuadrado o rectángulo perfecto, clic derecho, Follow Active Quads.
00:39:26
Y esto se nos va a poner recto en las uves.
00:39:32
Entonces, ¿qué habría que hacer ahora? Escalar.
00:39:36
Escalar para que la información de aquí coincida con la de aquí.
00:39:40
Entonces yo lo que voy a hacer va a ser que voy a poner aquí el cursor 3D con SID S, cursor a la selección, ya que tenía este vértice seleccionado, y voy a decir que la transformada me la haga a partir del cursor 2D, en este caso.
00:39:46
Entonces se va a escalar a partir de ese punto. Entonces ahora voy a escalar y lo voy a dejar justo al límite, justo aquí, ¿vale? Y ya tengo así las uves de esta zona. Voy a exportar, File, Export, FBX, como siempre con nuestro preset va a ser mejor, Mesa analógica, voy a sustituir.
00:40:04
Y aquí, como también expliqué en el vídeo anterior, seleccionando la mesa, Show in Explorer, nos sale aquí el archivo de Unity, simplemente lo voy a reemplazar con el archivo que tengo yo, que estaría por aquí, vamos a ver dónde lo tengo, bueno, esto es de Unity, de hecho creo que lo voy a encontrar antes, si le vuelvo a dar a exportar.
00:40:26
voy a copiar esta ruta
00:41:00
voy a copiar la mesa analógica
00:41:02
le doy otra vez para atrás
00:41:09
vuelvo a la carpeta de Unity
00:41:11
y reemplazo
00:41:13
ya hemos reemplazado el archivo
00:41:14
entonces ahora
00:41:17
lo que habría que hacer sería hacer que
00:41:19
esto, que este
00:41:21
gradiente pase por
00:41:23
por unas uvs, vale
00:41:25
entonces simplemente creo el nodo de las uvs
00:41:27
que va a ser el de siempre, que va a ser
00:41:30
el Tiling and Offset
00:41:31
este de aquí
00:41:33
y por aquí vamos a pasar
00:41:34
el gradiente
00:41:39
¿qué formas hay de hacer un gradiente?
00:41:41
de forma automática
00:41:43
por así decirlo en Unity
00:41:45
pues el tiling offset, podemos pasarlo por un split
00:41:46
ya que si separamos el canal verde, el rojo
00:41:50
o el azul, nos va a crear un gradiente
00:41:53
en los distintos ejes
00:41:55
para que se vea
00:41:57
lo voy a poner por aquí
00:42:00
me debería de aparecer
00:42:03
de hecho, voy a quitarle la emisión un momento
00:42:07
para que se vea mejor
00:42:10
también hay un nodo que se llama viewer
00:42:11
pues mira, ahora mismo no recuerdo
00:42:13
cual era
00:42:22
pero vamos, lo voy a conectar al color
00:42:23
y ya está, le voy a quitar la emisión
00:42:26
claro, como está emitiendo
00:42:31
no se va a ver nada, vale
00:42:33
está utilizando las uves
00:42:39
vamos a ver
00:42:40
vamos a utilizar otro canal
00:42:43
vale, aquí ya estáis viendo que está haciendo
00:42:49
un gradiente de blanco
00:42:57
desde la costura hasta aquí
00:42:58
Entonces, este gradiente, claro, es que estoy pensando mejor que esto para vosotros va a ser más fácil coger simplemente una imagen de colorines. Creo que sería lo más fácil. De hecho, lo vamos a hacer así. Rainbow texture. No todo se hace solamente con nodos, siempre vais a poder coger imágenes de internet.
00:43:05
entonces esta imagen por ejemplo
00:43:31
podemos hacer que las uves
00:43:33
vayan de esta forma
00:43:35
de izquierda a derecha
00:43:37
entonces van a ir pasando por los colores
00:43:38
le voy a dar a guardar imagen
00:43:40
en el escritorio
00:43:43
por ejemplo
00:43:48
esto ya no hace falta
00:43:49
y vamos a meter aquí la imagen
00:43:51
escritorio, vamos a buscar
00:43:53
nuestra imagen que es esta de aquí
00:44:01
y la vamos a meter
00:44:03
y es a esta imagen
00:44:09
a la que vamos a meter las uves
00:44:11
Le ponemos las UVs y esto es lo que vamos a meter en la emisión. Vamos a guardar. ¿Y qué pasa? ¿Por qué solamente se ve rojo? Porque las UVs que hemos hecho están aquí.
00:44:13
¿Vale? ¿Veis? Entonces o bien giramos esto y lo ponemos aquí, con lo cual ya funcionaría, o rotamos esta textura. Yo suelo preferir exportarlo bien de una.
00:44:41
voy a exportar
00:45:00
fbx
00:45:04
mesa analógica
00:45:05
de hecho me voy a guardar esto
00:45:07
show in explorer
00:45:11
aquí nos sale la carpeta de Unity
00:45:17
y vamos a copiar la mesa analógica
00:45:23
en la carpeta para reemplazar
00:45:27
y ahora ya sí que las uves
00:45:29
de esa parte
00:45:31
ahora están en horizontal en vez de en vertical
00:45:32
las uves
00:45:35
las hemos puesto así, por lo cual está cogiendo
00:45:37
todo este recorrido de color
00:45:39
ahora simplemente con el time
00:45:40
y con el multiply
00:45:43
para la velocidad
00:45:45
voy a hacer un poco más grande
00:45:47
se metería en el timing
00:45:51
pero claro, como solamente lo queremos en el eje x
00:45:55
al igual que antes
00:46:01
necesitamos el vector2
00:46:02
para que solamente se mueva
00:46:04
en el eje x
00:46:05
en el offset
00:46:08
ahora sí que si le damos a guardar
00:46:13
ya vemos que esto
00:46:16
bueno, ahora no es una fiesta
00:46:18
habría que bajar la velocidad
00:46:19
y ponerla a 1 por defecto
00:46:22
guardar
00:46:24
y ahí lo vemos
00:46:26
y aquí ya tendríamos como el típico
00:46:29
efecto RGB
00:46:31
de las cosas de gaming
00:46:33
y todo esto, aquí lo tendríamos
00:46:35
bueno, ya esto se podría configurar
00:46:41
como más nos guste
00:46:45
pues esto es una forma de dar ese efecto
00:46:46
ya veis que se puede hacer aquí
00:46:49
mil cosas
00:46:50
al igual, otros efectos que
00:46:51
¿Qué le podéis dar? Voy a convertir esto a blancos y negros, para que veáis más cosas que se pueden hacer.
00:46:57
Vamos a ver... Ah, vale. Este es el que buscaba yo.
00:47:12
El nodo de saturación, le voy a poner 0, no quiero saturación en esta imagen.
00:47:18
Además de eso, vamos a ponerle un multiplicar. Por alguna razón me sale ahora 3 vectores.
00:47:26
Vale, el tema de las variables las voy a explicar ya mismo
00:47:38
Por ahora voy a poner una variable que es simplemente un valor
00:47:49
Voy a controlar esto un poco más, vale
00:47:52
Entonces, por ejemplo, esta imagen de blancos y negros
00:48:00
Ya sabéis que las imágenes de blancos y negros sirven para muchas cosas
00:48:02
Esto lo podemos meter en el alfa, vale, en el alfa de algo
00:48:06
Podemos controlar las transparencias
00:48:11
Si os fijáis, esto no tiene información de transparencias
00:48:13
¿Por qué? Porque hay que activarlas
00:48:15
en este nodo de la derecha
00:48:17
el node settings siempre va a ir vinculado
00:48:19
al nodo que tenemos seleccionado
00:48:22
son como ciertas opciones de ese nodo que podemos tocar
00:48:23
y estos de la derecha
00:48:26
son la configuración
00:48:28
general del shader
00:48:29
entonces la configuración general del shader
00:48:32
en opaco lo vamos a cambiar a transparente
00:48:34
y una vez que lo cambiamos a transparente
00:48:38
ya nos sale aquí abajo la información del alfa
00:48:40
si yo le pusiese esto al alfa
00:48:42
claro, esto estaría solamente
00:48:45
afectando
00:48:51
al color
00:48:53
de hecho para hacerlo más rápido
00:48:55
voy a poner esto a todo
00:48:59
le voy a quitar la emisión
00:49:04
para no volvernos locos
00:49:05
y también podéis ver que podéis
00:49:07
controlar
00:49:13
el alfa, también podéis hacer que cosas
00:49:13
desaparezcan, que aparezcan
00:49:17
de esta forma
00:49:18
poniendo estos nodos en el alfa
00:49:21
lo que yo suelo hacer para hacer ese efecto
00:49:23
es quizá poner un gradient noise
00:49:26
esto me lo voy a cargar
00:49:30
un gradient noise
00:49:33
y sin moverlo siquiera, no haría falta animarlo
00:49:34
habría que poner quizá un lerp
00:49:38
vamos a ver
00:49:42
vale, que con el lerp podemos conseguir este efecto
00:49:49
entonces
00:49:57
ahora sí, si lo ponemos al alfa
00:50:00
de hecho para que lo veáis mejor
00:50:03
lo voy a poner con un time
00:50:06
en modo sine, seno, ya sabemos que el seno y el coseno
00:50:08
para quien no sabe matemáticas, es como una información que va
00:50:12
y vuelve, ¿vale? todo el rato, como un boomerang
00:50:16
si yo le pongo esto, a ver a cuál era
00:50:19
al segundo, ya veis el efecto
00:50:24
entonces aquí estaría 100% opaco y aquí iría
00:50:31
desapareciendo, si lo voy a guardar, y aquí ya lo estaría diciendo
00:50:36
Ahora, si queréis que esto simplemente desaparezca y ya, lo que se suele hacer es poner una variable y exponerla
00:50:44
Es decir, en vez de hacer que esto vaya y venga todo el rato, podré controlar esto desde fuera con un valor
00:50:53
Por defecto, esto estaría en menos 0.5 quizá
00:51:01
Así que este float le decimos que va a ser un slider, ya veréis ahora que es el slider, como mínimo va a tener este valor y como máximo va a tener este que va a ser negro, ¿vale?
00:51:12
Y el valor por defecto le vamos a poner el mínimo para que sea opaco, ¿vale?
00:51:34
O sea, el mínimo por defecto va a tener 0,85.
00:51:47
Y esto es lo que vamos a poner aquí.
00:51:51
Guardar.
00:51:55
Entonces, al usar estas variables, lo que estamos consiguiendo es que al seleccionar el material,
00:51:58
nos salga aquí este valor.
00:52:05
Este de aquí es el mismo.
00:52:07
Y ya podremos hacer que algo desaparezca o aparezca.
00:52:08
En este caso no llega a desaparecer. Quizá porque tenemos que ponerle un valor más bajo. Vamos a probar. Pues en este caso no. Ya os digo que el alpha en Unity en URP funciona raro. Funciona bastante raro.
00:52:13
podríamos intentar usar el Alpha Clipping, que el Alpha Clipping no admite transparencias en degradados,
00:52:38
o va a ser invisible o va a ser opaco, no hay punto medio, ¿vale?
00:52:49
Y aquí ya lo estaríais viendo.
00:52:55
Esto ya los desarrolladores pueden coger este valor para utilizarlo en sus códigos, ¿vale?
00:52:58
Si no se exponen estos valores, los desarrolladores no van a poder utilizar esta información.
00:53:05
Vale, también algunas veces nos interesa repartir una textura por una geometría de forma automática sin tener en cuenta las uves. Eso se hace con el método triplanar. ¿Cómo se hace eso? Pues es tan simple como en el shader, aquí vamos a poner triplanar, aquí ya no sale triplanar, yo lo voy a poner solamente con el albedo para que lo veáis.
00:53:15
Entonces lo que habría que hacer sería, en vez de arrastrar la textura como yo acabo de hacer, porque la textura hay que ponerla por aquí, creo que sí que se puede, claro, lo que hay que hacer es añadir una variable de tipo imagen, textura 2D, que puede ser el albedo.
00:53:50
sacamos el albedo, el albedo va a ir por aquí
00:54:11
y ya esto lo vamos a conectar al color
00:54:16
entonces una vez que tenemos hecho eso
00:54:20
en el material, como la variable es una imagen
00:54:24
nos sale aquí un slot para meter la imagen que queramos
00:54:27
que en este caso, como le he llamado al albedo
00:54:32
va a ser el del albedo
00:54:35
y esta textura, independientemente de las uves del objeto
00:54:36
siempre se va a repartir de forma automática
00:54:43
porque es como si metiésemos este objeto en un cubo
00:54:45
y desde cada cara del cubo, desde las 6 caras, se proyectase esa imagen.
00:54:48
¿Qué pasa? Que donde se proyectan, donde hay curvas, quizá van a salir en las dos direcciones
00:54:54
o incluso algunas veces puede haber algún tipo de corte donde las proyecciones se juntan.
00:55:02
Para eso está el parámetro blend.
00:55:10
Voy a poner un float para que lo veáis.
00:55:13
este float va a ser un slider de 0 a 1
00:55:15
y lo voy a poner en el blend
00:55:19
save as
00:55:22
entonces aquí os estaréis fijando
00:55:24
claro que aquí en Unity se nota poco
00:55:31
en Blender se nota mucho este parámetro
00:55:34
lo que hace es que donde se juntan las proyecciones
00:55:36
las difumina en ambos sentidos
00:55:40
aquí pues no se va a notar mucho
00:55:42
pero este parámetro muchas veces es muy importante
00:55:46
tocarlo, ¿vale? y esta es una forma de
00:55:51
no tener que usar las uves para dar una textura, en este caso por ejemplo de madera
00:55:54
y bueno, esto sería un poco
00:55:58
las cosas básicas de un shader, al final
00:56:09
hay tantos nodos y tantas cosas que se pueden hacer que ya es
00:56:15
cosa de la creatividad de la propia persona que utiliza el shader
00:56:19
Se pueden hacer cosas loquísimas y yo os animo mucho a que experimentéis con los shaders y hagáis vuestros puzzles, como yo lo llamo.
00:56:23
- Idioma/s:
- Autor/es:
- VRFP
- Subido por:
- Jaime G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 16
- Fecha:
- 8 de mayo de 2024 - 11:38
- Visibilidad:
- URL
- Centro:
- CFP JOSÉ LUIS GARCI
- Duración:
- 56′ 35″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 248.07 MBytes