Visita virtual al MUA
Grado en Ingeniería Multimedia
Trabajo Fin de Grado
Autor: Sergio Bueno García
Tutor/es: Mireia Luisa Sempere Tortosa
Mayo 2020
1
Motivación, justificación y objetivo general
Al terminar el Grado en Ingeniería Multimedia en la Universidad de Alicante quería llevar a cabo
un proyecto de fin de grado que me permitiese poner en práctica todo lo aprendido durante la
carrera, pero también poder aprender cosas nuevas durante el proceso y sobre todo hacer algo
que considerase útil para la sociedad y que esto no se convirtiese en un mero trámite para pasar
el curso.
Por lo que tras analizar distintas opciones me decanté por una idea, poder ofrecer a la gente la
posibilidad de visitar el museo de la Universidad de Alicante (MUA) desde cualquier lugar del
mundo. Decidí que mi trabajo iba a ser poner a disposición de la universidad un entorno para
poder realizar una visita en realidad virtual al MUA, de forma que la universidad pueda ofrecer
a cualquiera, sin importar donde se encuentre, la posibilidad de visitar de nuestro museo y
además dejar el proyecto en manos de la universidad, por si algún día quieren ampliar mi
proyecto y añadir exposiciones. Una de las referencias que más me han inspirado para llevar a
cabo este proyecto es el Google Earth VR, un programa que te ofrece la posibilidad de visitar
cualquier parte del mundo apoyándose en el motor de Google Earth, que crea una
representación de nuestro planeta a través de imágenes obtenidas por satélite.
Creo que puedo ofrecer una herramienta muy interesante a la universidad para abrir su imagen
de cara al mundo. Además, considero que abre un gran abanico de posibilidades cómo la opción
de ampliar el proyecto a toda la infraestructura de la universidad.
Por tanto, el objetivo general es realizar un modelado de todo el museo, con la mayor cantidad
de detalle posible, texturizarlo y luego llevarlo a un motor gráfico para poder implementar la
realidad virtual y ponerlo a disposición de la universidad para que puedan ofrecerlo como un
servicio.
2
Índice de contenidos
Motivación, justificación y objetivo general ................................................................................. 1
Índice de figuras ............................................................................................................................ 5
Índice de tablas ............................................................................................................................. 8
1. Introducción .......................................................................................................................... 9
2. Planificación y metodología ................................................................................................ 10
2.1 Planificación ................................................................................................................ 10
2.2 Metodología ................................................................................................................ 12
3. Estado del arte. ................................................................................................................... 13
3.1 ¿Qué es la realidad virtual? ......................................................................................... 13
3.2 ¿Qué necesitamos para disfrutar de la realidad virtual? ............................................ 14
3.2.1 Dispositivos de visualización ............................................................................... 14
3.2.1.1 Dispositivos con pantalla incorporada ........................................................ 14
3.2.1.2 Carcasas o gafas de RV móvil ...................................................................... 16
3.2.2 Sistemas de posicionamiento .............................................................................. 17
3.2.3 Controladores ...................................................................................................... 18
3.3 ¿Dónde podemos encontrar realidad virtual? ............................................................ 19
3.3.1 Entrenamiento militar y cuerpos de emergencia. ............................................... 19
3.3.2 Aplicaciones educativas ...................................................................................... 20
3.3.3 Medicina .............................................................................................................. 21
3.3.4 Entretenimiento .................................................................................................. 22
3.3.5 Arquitectura ........................................................................................................ 22
3.3.6 Turismo y museografía ........................................................................................ 23
4. Objetivos ............................................................................................................................. 26
4.1 Objetivo general .......................................................................................................... 26
4.2 Objetivos específicos ................................................................................................... 26
5. Diseño .................................................................................................................................. 27
3
5.1. Flujo de trabajo ........................................................................................................... 29
6. Herramientas ....................................................................................................................... 30
6.1 Motor gráfico .............................................................................................................. 30
6.1.1 Definición de motor gráfico. ............................................................................... 30
6.1.2 Principales opciones del mercado ....................................................................... 30
6.1.3 Elección final........................................................................................................ 33
6.2 Programa de modelado ............................................................................................... 33
6.2.1 Definición de modelado 3D ................................................................................. 33
6.2.2 Principales opciones del mercado ....................................................................... 34
6.2.3 Elección final........................................................................................................ 37
6.3 Programas para el texturizado .................................................................................... 38
6.3.1 ¿Qué es el texturizado por computador? ........................................................... 38
6.3.2 Photoshop ........................................................................................................... 38
6.3.3 Normal Map Online ............................................................................................. 39
6.3.4 Substance Painter ................................................................................................ 40
6.4 Flujo de trabajo final ................................................................................................... 41
7. Implementación .................................................................................................................. 42
7.1. Modelado .................................................................................................................... 42
7.1.1 Creación de figuras primitivas en 3d ................................................................... 43
7.1.2 Edición con editable poly .................................................................................... 43
7.1.3 Crear líneas y formas ........................................................................................... 48
7.1.4 Modificadores ..................................................................................................... 50
7.1.5 Exportar modelos ................................................................................................ 52
7.2. Texturizado .................................................................................................................. 53
7.2.1 Texturas procedurales ......................................................................................... 53
7.2.2 Texturizado común: Mapas de coordenadas ...................................................... 58
7.2.3 Texturizado común: Substance Painter............................................................... 60
7.2.3.1 Substance Painter: Importar modelos ........................................................ 60
4
7.2.3.2 Substance Painter: Organización ................................................................. 61
7.2.3.3 Substance Painter: Dibujando nuestra textura ........................................... 62
7.2.3.4 Substance Painter: Materiales y materiales inteligentes. ........................... 65
7.2.3.5 Substance Painter: Exportando texturas ..................................................... 68
7.3. Implementación en Unity ............................................................................................ 69
7.3.1 Importación de modelos, texturas y otros elementos ........................................ 70
7.3.2 Assets .................................................................................................................. 71
7.3.3 Crear instancias de nuestros modelos ................................................................ 72
7.3.4 Añadiendo materiales a nuestras instancias ....................................................... 73
7.3.5 Colisionadores ..................................................................................................... 74
7.3.6 FPS Controller ...................................................................................................... 76
7.3.7 Iluminación .......................................................................................................... 77
7.3.8 Sonido .................................................................................................................. 80
7.3.9 Integración de Oculus Rift ................................................................................... 82
7.3.10 Creando el ejecutable del proyecto .................................................................... 83
8. Resultados ........................................................................................................................... 83
9. Conclusiones........................................................................................................................ 90
5
Índice de figuras
Figura 1. Infografía sobre la digitalización global .......................................................................... 9
Figura 2. Tablero de tareas en Trello de mi proyecto ................................................................. 12
Figura 3. Captura de horas de trabajo realizadas para este proyecto ........................................ 13
Figura 4. Gafas Oculus Rift .......................................................................................................... 15
Figura 5. PlayStation VR .............................................................................................................. 15
Figura 6. PlayStation VR .............................................................................................................. 16
Figura 7. Gear VR ......................................................................................................................... 17
Figura 8. Labo Kit VR.................................................................................................................... 17
Figura 9. Constellation y LightHouse ........................................................................................... 18
Figura 10. Dispositivos de control de realidad virtual ................................................................. 18
Figura 11. Dispositivo Leap Motion ............................................................................................. 19
Figura 12. Glove One ................................................................................................................... 19
Figura 13. Entrenamiento de vuelo con el sistema de Bohemia Interactive Simulations .......... 20
Figura 14.Captura de la experiencia en RV de The Body VR ....................................................... 21
Figura 15.Simulación de operación con Acadicus ....................................................................... 21
Figura 16. Captura de Fairpont en PS4 pro ................................................................................. 22
Figura 17. Salón en VR retail simulator ....................................................................................... 23
Figura 18.Captura de la experiencia Mona Lisa: Beyond the glass ............................................. 24
Figura 19. Captura de la sala principal del museo en tour virtual .............................................. 25
Figura 20. Captura de la exposición The Art of Burning man in VR ............................................ 26
Figura 21. Plano de organización de secciones del museo. ........................................................ 28
Figura 22. Flujo de trabajo .......................................................................................................... 29
Figura 23. Captura proyecto megacity en Unity ......................................................................... 31
Figura 24. Captura proyecto de preservación de la cultura de Nueva Zelanda .......................... 32
Figura 25. Captura ejemplo de proyecto llevado a cabo en 3ds Max ......................................... 35
Figura 26. Captura ejemplo de modelado llevado a cabo en Blender ........................................ 36
Figura 27. Captura ejemplo de modelado llevado a cabo en Blender ........................................ 37
Figura 28. Captura de tutorial de creación de textura en photoshop ........................................ 39
Figura 29. Captura de creación de normales con Normal Map Online ....................................... 40
Figura 30. Captura de texturizado de coche espacial con Substance Painter ............................ 41
Figura 31. Flujo de trabajo final .................................................................................................. 42
Figura 32. Figuras primitivas en 3ds Max .................................................................................... 43
6
Figura 33. Menú de editable poly en 3ds Max ............................................................................ 44
Figura 34. Extrude en creación de PC para el museo .................................................................. 45
Figura 35. Inset en creación de manguera de extintor para el museo ....................................... 45
Figura 36. Chamfer en creación de papelera para el museo ...................................................... 46
Figura 37. Connect en creación del brazo en la estatua para el museo ..................................... 47
Figura 38. Attach en creación de extintor para el museo ........................................................... 47
Figura 39. MSmooth en creación de cojín de silla para el museo ............................................... 48
Figura 40. Creación de línea en 3dsMax ..................................................................................... 49
Figura 41. Creación de manguera de extintor para el museo ..................................................... 50
Figura 42. Creación de maceta del patio el museo ..................................................................... 51
Figura 43. Creación de vigas del pabellón con “Mirror” para el museo ..................................... 52
Figura 44. Ejemplo de textura sin cortes ..................................................................................... 54
Figura 45. Ejemplo de creación de mapa difuso suelo del museo en Photoshop....................... 54
Figura 46.Ejemplo de creación de mapa de altura, piedras del museo ...................................... 55
Figura 47. Ejemplo de creación de mapa de normales para el suelo del museo ........................ 56
Figura 48. Modificador UVW Map en pared del museo ............................................................. 57
Figura 49. Modificador Unwrap UVW en el extintor del museo ................................................. 59
Figura 50. Herramienta Flatten Mapping en proyector del museo ............................................ 60
Figura 51. Importando modelo en Substance Painter ................................................................ 61
Figura 52. Organización en Substance Painter con mesa del museo .......................................... 62
Figura 53. Dibujado de las llamas de la estatua del museo en Substance Painter ..................... 63
Figura 54. Aplicando máscaras con brocha y seleccionando polígonos en piezas del museo .... 64
Figura 55. Aplicando generadores en la creación de las losas del exterior del museo ............... 64
Figura 56. Aplicando textura externa de instrucciones a nuestro extintor ................................ 65
Figura 57. Galería de materiales y panel de parámetros en Substance Painter ......................... 66
Figura 58. Aplicación de material inteligente en mesa del museo ............................................. 67
Figura 59. Galería de materiales inteligentes y panel de parámetros en Substance Painter ..... 68
Figura 60. Exportando texturas en Substance Painter ................................................................ 69
Figura 61. Importando elementos en Unity ................................................................................ 70
Figura 62. Unity assets store ....................................................................................................... 71
Figura 63. Añadiendo los modelos a la escena ........................................................................... 72
Figura 64. Inspector de la instancia de la escultura del museo .................................................. 73
Figura 65. Inspector de la instancia de la escultura del museo con material aplicado............... 74
Figura 66. Añadiendo colisionadores a una instancia en Unity .................................................. 75
Figura 67. FPS Controller en Unity .............................................................................................. 76
7
Figura 68. Configuración de iluminación global, biblioteca del museo oscura ........................... 77
Figura 69. Configuración de iluminación global, biblioteca del museo iluminada ..................... 78
Figura 70. Configuración de iluminación global, biblioteca del museo iluminada ..................... 79
Figura 71. Luz direccional para emular el sol en nuestro proyecto en Unity .............................. 80
Figura 72. Instancia de reproductor de sonido del agua en el museo ........................................ 81
Figura 73. OVR Player controler en Unity ................................................................................... 82
Figura 74. Creando el ejecutable de nuestro proyecto ............................................................... 83
Figura 75. Escultura en el exterior de la universidad con el museo de fondo ............................ 84
Figura 76. Entrada al museo ........................................................................................................ 84
Figura 77. Pasillo principal ........................................................................................................... 85
Figura 78. Sala Alcudia I............................................................................................................... 85
Figura 79. Sala Alcudia II.............................................................................................................. 86
Figura 80. Sala Ágora ................................................................................................................... 86
Figura 81. Sala Polivalent ............................................................................................................ 87
Figura 82. Patio interior y anfiteatro ........................................................................................... 87
Figura 83. Sala MIC ...................................................................................................................... 88
Figura 84. Biblioteca del museo .................................................................................................. 88
Figura 85. Sala el CUB .................................................................................................................. 89
Figura 86. Sala el CUB vista desde sala NAIA .............................................................................. 89
8
Índice de tablas
Tabla 1. Planificación TFG ........................................................................................................... 11
9
1. Introducción
“Conexión”, esta es una palabra que podría definir perfectamente la sociedad en la que vivimos.
Nos encontramos en una época en la que gracias a los avances de la computación e internet
estamos permanentemente conectados en todo momento, conectados a la actualidad,
conectados con nuestros amigos y familiares, conectados con la información, conectados con el
arte, conectados con la música…
Internet es un sistema que no entiende de fronteras, gracias a él podemos acceder o ver
cualquier cosa que este situada en la otra punta del planeta, sin darnos cuenta hemos dejado
que este entre en nuestras vidas poco a poco, y lo que al principio parecía como una herramienta
de mero entretenimiento, se ha convertido en una herramienta de gran utilidad para hacernos
la vida mucho más sencilla.
No se puede entender internet, sin la computación, cualquier persona hoy dispone de
dispositivos para acceder a toda esta información, ordenadores, smartphones, consolas… Estos
dispositivos necesitan de internet y a su vez internet necesita de ellos para ofrecer al máximo
sus posibilidades, del mismo modo que nosotros necesitamos de ambos para facilitar nuestra
vida, para entretenernos, para aprender, para viajar…
Figura 1. Infografía sobre la digitalización global (Fuente http://www. marketing4ecommerce.net/usuarios-internet-mundo)
10
Personalmente pienso qué dentro de la tecnología, existe un campo que va a marcar un antes y
un después en los años venideros, la realidad virtual. Hasta ahora la mayor parte de la
información que recibimos por nuestros dispositivos es a través de una pantalla en dos
dimensiones y unos altavoces, eso está muy bien, si nos remontamos 20 o 30 años atrás imaginar
esto era algo idílico, pero esto es solo el primer paso de algo todavía más grande. La realidad
virtual nos elevará al siguiente nivel, la inmersión en un entorno virtual, el entrar nosotros
dentro de la pantalla, sentir todas esas experiencias como si realmente fuesen nuestras y tener
la oportunidad de disfrutar de experiencias que no podríamos alcanzar de otra forma.
De esta idea nace mi proyecto, he querido aportar mi pequeño peldaño para alcanzar el
siguiente nivel, ofrecer a todo el mundo la posibilidad de cruzar la pantalla y visitar el museo de
nuestra universidad.
Por supuesto también he querido aprovechar la oportunidad de hacer este proyecto para
ampliar aún más mis capacidades, no hay que olvidar que este proyecto también es parte de mi
proceso de formación como ingeniero, por lo cual muchas de las decisiones que he tomado en
este proyecto han sido influenciadas por este aspecto.
La visita virtual al MUA estará diseñada para las gafas de realidad virtual de Oculus Rift, podría
haber elegido otro dispositivo cómo las Google Cardboard u otro tipo de visor de realidad virtual,
pero consideré esto una gran oportunidad para aprender a trabajar en un entorno que me
interesa de cara a mi futuro laboral.
2. Planificación y metodología
En este apartado veremos que en que fases planifiqué mi proyecto y que metodología y
herramientas utilicé para llevarlo a cabo. Antes de continuar quiero mencionar que el proyecto
comenzó al mismo tiempo que comencé a trabajar en una empresa, lo cual, junto a
complicaciones que surgieron durante el desarrollo del proyecto, me obligó a llevar a cabo una
segunda planificación, en este apartado vamos a centrarnos en esta segunda planificación ya
que no considero necesario alargar más este documento.
2.1 Planificación
El objetivo inicial era entregar empezar el proyecto en Junio de 2019 y entregarlo en la
convocatoria de Septiembre de 2019. Aunque después de las complicaciones ya mencionadas,
decidí entregarlo en la convocatoria de Mayo de 2020. En la planificación inicial se definieron
11
los cuatro puntos importantes que iba a tener el proyecto: Planificación, Memoria, Modelado,
Texturizado e Implementación en Unity.
De estos puntos posteriormente se obtuvieron tareas más concretas para poder distribuir el
proyecto en distintas fases. Después de mi replanificación seguí manteniendo los mismos puntos
y únicamente modifiqué los plazos de finalización. A continuación, vamos a ver una tabla con
todos los puntos y fechas que establecí en la segunda planificación. En la tabla es posible que
encontréis referencias a distintas zonas, esto se explicará más en detalle en el apartado de
diseño. También quiero añadir que deje tiempo libre todo el mes de marzo por si había que
hacer retoques en el modelado o el texturizado.
Tabla 1. Planificación TFG
Contenidos Tiempo total Fecha límite fin
Planificación 14 días 24 Junio
Modelado
Modelado Zona G
Modelado Zonas A E D
Modelado Zonas B C
Modelado Zona F
2 meses
7 días
15 días
15 días
31 días
31 Agosto
30 Junio
16 Julio
31 Julio
31 Agosto
Texturizado
Aprendizaje
Texturizado Zona F
Texturizado Zonas A E D
Texturizado Zonas B C
Texturizado Zona G
6 meses
1 mes
1 mes
2 meses
1 mes
1 mes
29 Febrero
30 Septiembre
31 Octubre
31 Diciembre
31 Enero
29 Febrero
Repasar Modelado y texturizado 1 mes 31 Marzo
Implementación
Pruebas Importación Unity
Implementar escena Unity
Implementar iluminación y sonido
1 mes
7 días
14 días
7 días
30 Abril
7 Abril
21 Abril
30 Abril
Memoria
Documentar justificación y estado del arte
Documentar modelado y texturizado
Documentar implementación
Documentar el resto de puntos
Revisión y mejora de memoria
25 días
4 días
4 días
4 días
4 días
9 días
25 Mayo
4 Mayo
8 Mayo
12 Mayo
16 Mayo
25 Mayo
12
2.2 Metodología
Este punto va bastante unido a la planificación, en mi proyecto elegí utilizar una metodología
ágil, no he seguido ninguna en concreto, sino que he ido aplicando los conceptos básicos de las
metodologías ágiles, entre lo que destaca descomponer el proyecto en tareas específicas,
estableciéndose unos plazos límites para ir consiguiendo resultados de una forma continua, y
poder tener así una mayor sensación de progreso.
Cómo se puede ver en el apartado de planificación, ya seguí esta metodología a la hora de
realizar el proyecto, para ayudar en mi organización decidí realizar herramientas como Toggl y
Trello.
En primer lugar, lo que hice fue traspapelar mi planificación inicial en tarjetas de Trello, para
poder ir revisándolo de una forma más sencilla. Trello es un programa que utiliza el sistema
Kanban para el registro de actividades en forma de tarjetas virtuales, permitiendo agregar listas,
archivos, plazos, etiquetas etc.
Una vez introducidas estas tarjetas, decidí descomponer estas tareas en distintos estados para
poder ir controlando su seguimiento. Las tareas verdes indican tareas terminadas, las tareas
amarillas, son tareas en proceso, las tareas naranjas son tareas sin empezar, y las tareas rojas
son aquellas que aún no se han terminado y queda menos de una semana para su vencimiento.
Figura 2. Tablero de tareas en Trello de mi proyecto (Fuente Propia)
Para hacer un seguimiento más específico sobre mi trabajo, y poder analizar bien en que
dedicaba más tiempo, por si tenía que hacer alguna replanificación o encontrar focos de tareas
problemáticas utilice Toggl. Toggl es una plataforma online que nos permite introducir tareas y
contabilizar las horas que gastamos en ellas utilizando una herramienta similar a un cronómetro,
13
lo interesante de esta herramienta es que luego nos permite elaborar gráficas e informes para
hacer un seguimiento de nuestro trabajo.
Figura 3. Captura de horas de trabajo realizadas para este proyecto (Fuente Propia)
A día de hoy, mientras termino de escribir la memoria, he dedicado a el proyecto un total de
264 horas y 21 minutos, por lo que calculo que el total final será de unas 270 horas. A estas horas
no les he incluido reuniones con la tutora y el tiempo que dediqué a obtener las fotografías del
museo (esto lo veremos en el apartado de diseño), por lo cual el trabajo queda muy cerca de las
300 horas que hay que dedicarle en principio a este proyecto para conseguir todos los 12 ECTS,
que indica la titulación.
3. Estado del arte.
3.1 ¿Qué es la realidad virtual?
Según la RAE, la realidad virtual (RV) es la “Representación de escenas o imágenes de objetos
producida por un sistema informático, que da sensación de su existencia real”.
Pero vamos a indagar un poco más en esta definición, la RV no es solo la visualización de escenas
en tres dimensiones a través de un dispositivo. Para que podemos hablar de auténtica RV
debemos buscar una inmersión sensorial lo más realista posible, por lo cual es muy importante
la interacción con el sistema, es decir, no solo nos centramos en lo que vemos, sino también
tacto, el oído etc. Es importante entender que la RV tiene que conseguir que tu cerebro crea
14
que de verdad estas dentro del entorno virtual, llegando al punto de que tu cuerpo reaccione
automáticamente a este como si de verdad estuviese en él.
La RV es uno de los avances tecnológicos más importantes en los últimos tiempos, tiene grandes
aplicaciones en muchos ámbitos de nuestra sociedad, los cual veremos más adelante, y hoy en
día tan solo hemos empezado a rozar la superficie de las posibilidades que nos ofrece. Es
importante mencionar que el uso de la RV no está recomendado en personas menores de 12
años, ya que durante la infancia los niños experimentan su desarrollo visual, cognitivo y
psicomotriz más importante y esta podría afectar negativamente a ese desarrollo.
3.2 ¿Qué necesitamos para disfrutar de la realidad virtual?
Para poder disfrutar de la RV existen varios tipos de dispositivos, algunos de ellos son básicos
para obtener una mínima experiencia y otros simplemente son complementos para mejorar la
misma. Veamos los principales dispositivos que podemos encontrar:
3.2.1 Dispositivos de visualización
Estos dispositivos se distinguen fundamentalmente en dos tipos, los que son con pantalla
incorporada y los que únicamente son una carcasa donde introduciremos otro dispositivo como
un smartphone para su visualización. Estos dispositivos son necesarios para poder disfrutar de
la RV, ya que son las pantallas en las que nosotros visualizaremos el entorno virtual. Lo que
hacen estos dispositivos, a través de una lente para cada ojo, es modificar la imagen en dos
dimensiones, cambiando el ángulo de esta para crear un efecto en tres dimensiones, intentando
emular la recreación de imágenes de la misma forma que lo hace el ser humano.
Es importante mencionar que la imagen debe alcanzar al menos unas tasas de refresco de 60
imágenes por segundo y una latencia de respuesta de 20 milisegundos, porque si no el cerebro
no percibirá la imagen como si lo hiciese en la vida real y provocará fuertes mareos.
3.2.1.1 Dispositivos con pantalla incorporada
Los dispositivos con pantalla incorporada son los que tienen mayor potencia y calidad de
visualización, pero necesitas un equipo para poder conectarlos, como un pc o una consola.
Veamos los más conocidos:
Oculus Rift: Desarrolladas por Oculus VR son las primeras gafas de RV que se llevaron al mercado
y son las más utilizadas hoy en día por la mayoría de los desarrolladores.
Disponen de dos pantallas OLED de 1080x1200 cada una, y una tasa de refresco de 90hz, lo que
hacen que la RV sea totalmente inmersiva. Funcionan junto a cualquier ordenador con sistema
15
operativo Mac, Linux o Windows y se conectan mediante cable, aunque cabe destacar que para
correr la RV, tienen que ser ordenadores con una potencia significativa.
Figura 4. Gafas Oculus Rift (Fuente http:// www.theverge.com)
PlayStation VR: También conocidas como Morpheus, han sido desarrolladas con Sony para
jugarse exclusivamente en PS4 pro.
Disponen de dos pantallas OLED de 960x1080 cada una, algo más modestas que las Oculus pero
también a un precio menor y poseen una tasa de refresco de 120hz. Son un poco más cómodas
y ligeras que sus competidores, según los usuarios. Al igual que las anteriores, también se
conectan por cable a la consola.
Figura 5. PlayStation VR (Fuente https:// www.playstation.com)
HTC Vive: Desarrolladas por Valve Corporation y HTC. Actualmente en desarrollo, forman parte
del proyecto SteamVR de Valve.
16
Disponen de dos pantallas OLED de 1080x1200 cada una, y una tasa de refresco de 90hz. Estas
gafas incorporan sus propios dispositivos de control en el paquete, lo cual le convierte en una
fuerte alternativa frente a las Oculus Rift. Funcionan también en los sistemas operativos Mac,
Linux y Windows y se conecta al computador también mediante cable.
Figura 6. PlayStation VR (Fuente https:// www.playstation.com)
Estas tres gafas son las principales alternativas en el mercado, todas están orientadas
principalmente a su aplicación en los videojuegos, pero por detrás se utilizan en todo tipo de
proyectos, sobre todo en el caso de las Oculus Rift, ya que las otras dos están en manos de
empresas del sector del videojuego. Un pequeño inconveniente que comparten las tres como
hemos podido ver es que requieren de cables para su conexión, lo cual puede ser un poco
molesto en ocasiones.
3.2.1.2 Carcasas o gafas de RV móvil
La diferencia de estos dispositivos respecto a los anteriores es que no poseen una pantalla
incorporada, sino únicamente unas lentes y espacio para insertar un dispositivo cómo un
smartphone y en ocasiones algunos botones o sensores. Veamos las más populares:
Gear VR: Desarrolladas por Samsung en colaboración con Oculus VR. Pensada para vender junto
con sus propios teléfonos de gama alta y a su vez impulsar las ventas de ambos, los cuáles harán
las veces de pantalla y ejecutarán el procesado.
17
Figura 7. Gear VR (Fuente https:// www.samsung.com)
Labo Kit VR: Desarrollado por Nintendo. Siguen la línea de accesorios de Nintendo Labo, unos
accesorios de cartón para complementar el juego en Nintendo Switch. En este caso Nintendo
nos ofrece una carcasa de cartón con unas lentes y un espacio para introducir la consola, la cual
hará las veces de pantalla y ejecutará el procesado.
Figura 8. Labo Kit VR (Fuente https:// www.xataka.com)
Google Cardboard: Desarrollada por Google, al igual que la anterior se ha desarrollado sobre
una base de cartón plegable que poseen dos lentes y un hueco para introducir un smartphone.
Es compatible con multitud de smartphones que posean sistemas operativos basados en
Android o en el sistema operativo iOS.
Este tipo de dispositivos son mucho más baratos que los del apartado anterior, pero obviamente
la potencia de estos es mucho menor, aunque permite alcanzar una realidad virtual bastante
interesante y son bastante más cómodas y portables que las anteriores.
3.2.2 Sistemas de posicionamiento
Los cascos de realidad virtual más potentes ofrecen la posibilidad de incorporar un sistema de
posicionamiento, el cual puedes situar en tu espacio de uso y conseguirá permitir al equipo en
el que se esté ejecutando el programa conocer la ubicación del casco y por lo tanto del usuario.
18
Esto principalmente nos permite movernos caminando dentro de un espacio limitado sin la
necesidad de utilizar un mando, lo cual mejora le experiencia de inmersión.
Los dos sistemas de posicionamiento más populares son Constellation para las Oculus Rift y
LightHouse para las gafas HTC Vive. Ambos nos aportan la misma funcionalidad.
Figura 9. Constellation y LightHouse (Fuentes https:// www.wikipedia.org | https://www.vive.com)
3.2.3 Controladores
Como hemos dicho anteriormente, no solo es importante situarte dentro del entorno de RV,
también es necesario interactuar con el mismo. Por eso necesitamos controladores que nos
permitan realizar acciones dentro de este, y no me refiero solo a movernos, como con los
sistemas de posicionamiento, sino al poder coger cosas, tocarlas, lanzarlas etc. La mayoría son
mandos similares a los famosos Nunchucks que desarrollo Nintendo para la Wii en 2006.
Normalmente suelen ser uno para cada mano. Aunque también tenemos dispositivos más
específicos como pueden ser unos guantes que veremos más adelante.
Los dispositivos más conocidos son los Oculus Touch, HTC Vive Virtual Reality System Tracker
y PlayStation Move. Son los controladores predeterminados de Oculus Rift, HTC Vive y
PlayStation VR respectivamente. Una de las cosas más interesantes es que, aparte de pulsar
botones, nos sirven para conocer la posición de las manos y de los dedos.
Figura 10. Dispositivos de control de realidad virtual (Fuentes https:// www. forbes.com | https://www.vive.com | http://www.playstation.com)
19
Leap Motion: Es un pequeño dispositivo que se conecta por usb al ordenador y que detecta los
movimientos de nuestras manos y dedos utilizando luces LED y sensores de cámara. Este
dispositivo puede ser incorporado con Oculus Rift y con HTC Vive.
Figura 11. Dispositivo Leap Motion (Fuente https:// www.leapmotion.com)
Glove One: Desarrollado por una empresa española, Neuro Digital Tecnologies. Glove One
consiste en un guante háptico capaz de generar la sensación de sentir en la propia piel aquellos
objetos con los que estas en contacto en el entorno virtual. Es compatible con los cascos de RV
de Oculus Rift.
Figura 12. Glove One (Fuente https:// www.researchgate.net)
3.3 ¿Dónde podemos encontrar realidad virtual?
Hay que evitar pensar que la realidad virtual es solo para jugar a videojuegos y sumergirse en
entornos de fantasía. La RV es útil en muchos más campos de lo que uno podría imaginar a
simple vista. Esta tecnología nos permite crear un entorno completamente controlado y sin
riesgos para experimentar cualquier situación como si se tratase de la vida real. Esto otorga un
gran abanico de posibilidades como ayudar a gente con trastornos o el entrenamiento y
aprendizaje de determinados trabajos entre otras muchas cosas. A continuación, veremos
alguno de los campos más interesantes dónde podemos encontrar la RV.
3.3.1 Entrenamiento militar y cuerpos de emergencia.
Al igual que sucede en muchos de los ámbitos de la tecnología, este sector es uno de los que
más suele invertir en este tipo de avances. Los países buscan tener unos profesionales
enormemente preparados para afrontar con el mayor índice de éxito posible futuras situaciones.
20
El ejercito lleva años invirtiendo en la simulación y han encontrado en la RV el mejor aliado para
conseguir una simulación más realista. Desde entrenamiento para pilotos, paracaidistas e
incluso recreación de situaciones de guerra, consiguen a través de la RV llevar el entrenamiento
a un nivel superior. Este ámbito se ha exportado a otros trabajos que requieren entrenamientos
para afrontar situaciones de riesgo, como bomberos, policía, conducción de vehículos especiales
etc.
Un ejemplo interesante que podemos encontrar aquí es Bohemia Interactive Simulations, una
empresa que ofrece una serie de entornos de simulación a distintas fuerzas militares de varios
países.
Figura 13. Entrenamiento de vuelo con el sistema de Bohemia Interactive Simulations (Fuente https:// www.bisimulations.com)
3.3.2 Aplicaciones educativas
Cómo hemos visto la RV ofrece grandes alternativas para el aprendizaje, lo cual obviamente se
puede extrapolar a la educación. Para cualquier persona es mucho más sencillo comprender una
situación si la experimenta en persona, y precisamente la RV permite presentar situaciones y
conceptos a los alumnos de una forma más realista. Puedes conseguir que viajen a la antigua
Roma y ver cómo eran las calles mientras les explicas cómo era su forma de vida en aquel
tiempo, mostrarles cómo era el mundo cuándo existían los dinosaurios, viajar dentro del cuerpo
humano y mostrar todos sus secretos, explorar el espacio etc. Además, numerosos estudios
afirman que los alumnos procesan mejor los contenidos cuando existe un componente
motivacional y las aplicaciones de RV poseen ese atractivo capaz de conseguirlo.
Un ejemplo llamativo en este ámbito es el proyecto The Body VR. Un conjunto de experiencias
de realidad virtual que nos permiten adentrarnos en el cuerpo humano y conocer su
funcionamiento. Por ejemplo, una de ellas es Journey Inside a Cell nos permite viajar a través
21
del torrente sanguíneo y descubrir cómo funcionan las células para distribuir oxígeno por todo
el cuerpo.
Figura 14.Captura de la experiencia en RV de The Body VR (Fuente https:// www.thebodyvr.com)
3.3.3 Medicina
El ámbito de la medicina es uno de los sectores en los que los avances en RV están siendo más
significativos. Podemos encontrar aplicaciones cómo simuladores de formación médica,
operaciones de cirugía y tratamientos de traumas psicológicos mediante terapias de exposición.
También se está comenzando a utilizar para hacer que niños hospitalizados puedan sentirse en
un ambiente más cómodo y evadirse durante un tiempo de su situación, sin abusar tampoco de
los dispositivos, lo cual podría ser contraproducente.
En medicina podemos encontrar la aplicación Acadicus desarrollada por Arch Virtual, un equipo
de desarrolladores que se dedica a crear aplicaciones de entrenamiento en RV. Acadicus nos
ofrece un simulador de laboratorio médico donde podemos realizar operaciones reales con un
repertorio de numerosos entornos y dispositivos diferentes.
Figura 15.Simulación de operación con Acadicus (Fuente https:// www.acadicus.com)
22
3.3.4 Entretenimiento
El campo del entretenimiento es el sector en el que mayor mercado de aplicaciones de RV
podemos encontrar, gracias principalmente a la industria del videojuego. En el mundo de los
videojuegos la RV nos permite sumergirnos en sus historias y sus mundos, los cuales, no se
podrían encontrar en la vida real. Pero no solo lo encontramos en el mundo del videojuego,
también podemos encontrar aplicaciones de ocio como visualizadores de contenido para
plataformas como Netflix, que nos permiten disfrutar de su catálogo cómo si estuviésemos en
una sala de cine, o simuladores de conducción por todo el planeta, por poner algunos ejemplos.
Farpoint es el juego más popular de PS VR, nos embarca en un peligroso viaje hacia un entorno
alienígena hostil, donde estaremos confinados en un entorno inexplorado con la única ayuda de
un equipo básico para mantenernos con vida. El punto fuerte de este videojuego es que utiliza
el PSVR Aim Controller, un dispositivo de control que simula una pistola, el cual, es el único
controlador que podremos usar durante el juego.
Figura 16. Captura de Fairpont en PS4 pro (Fuente https:// www.playstation.com/es-es/games/farpoint-ps4)
3.3.5 Arquitectura
¿Qué mejor forma hay de presentar un proyecto que mostrar el resultado final con una
recreación exacta? Aquí es donde entra el papel de la RV en la arquitectura. Es imposible percibir
la forma plena de las proporciones de una construcción o su tamaño con un formato de
representación en 2 dimensiones. Por tanto, esta tecnología nos ofrece la posibilidad de
introducirnos en el proyecto arquitectónico que queremos presentar y mostrar fielmente cómo
será su resultado final. Otra aplicación interesante, pero menos utilizada hoy en día, es utilizar
la RV para diseñarlos a través de ella, existen programas para la creación de proyectos en tiempo
real.
Otra forma interesante de aplicar la RV en arquitectura es en el diseño de interiores. Oneiros es
una empresa que nos ofrece una serie de aplicaciones para diseñar nuestros interiores en RV.
23
Una de sus aplicaciones, VR retail simulator, nos ofrece la posibilidad de colocar los objetos de
su catálogo, cambiar su diseño y mostrarnos su precio, para poder comprobar cómo combinan
antes de realizar su compra.
Figura 17. Salón en VR retail simulator (Fuente https:// www.oneirosvr.com/portfolio/products-and-finishes)
3.3.6 Turismo y museografía
La RV se está abriendo paso en el mundo del turismo, cada vez es más sencillo realizar recorridos
virtuales por cualquier parte del planeta. Cómo hemos dicho anteriormente la RV nos permite
ir a cualquier tipo de lugar desde nuestro dispositivo, por tanto, el turismo es un sector que sale
gratamente beneficiado con este avance, sobre todo desde el punto de vista del consumidor.
Podemos llegar a la otra punta del mundo sin necesidad de gastar los recursos que serían
necesarios para realizar ese viaje. ¿Se imaginan tener su propio avión privado que les permitiese
visitar cualquier parte del mundo a un precio inferior a 1000€? Pues así es como funciona la RV.
Hay que tener claro que el objetivo de la RV no debe ser el sustituir el turismo físico, también es
una forma increíble de potenciarlo. Un claro ejemplo son los museos, donde la RV se está
empezando a implementar en forma de guía para potenciar al máximo la experiencia de visita,
por ejemplo, recreando espacios y paisajes que permitan contextualizar las exposiciones.
Centrándonos más específicamente en el ámbito de la museografía, existen ya algunos museos
que se están embarcando en este viaje, aunque todavía no se apuesta muy fuerte por ellos, ya
se empiezan ver aplicaciones y resultados muy interesantes en este ámbito. No he logrado
encontrar ningún museo en el que se ofrezca un tour completo por todo el recinto en realidad
virtual, por lo cual nuestro museo podría ser uno de los precursores en este campo.
Mona Lisa: Beyond the Glass es la primera experiencia en RV presentada por el museo del
Louvre, que ha estado disponible desde octubre de 2019 hasta el 24 de febrero de 2020. Esta
24
experiencia nos presenta la última investigación sobre la pintura, sus técnicas y sus procesos de
pintura a través de una representación en realidad virtual. Una de las cosas que podremos hacer
es trasladarnos dentro del escenario donde Leonardo Da Vinci realizó esta famosa obra cómo si
nosotros fuésemos la propia Mona Lisa.
Figura 18.Captura de la experiencia Mona Lisa: Beyond the glass (Fuente https:// www.store.steampowered.com)
Smithsonian virtual web virtual tours. El museo Smithsoninan posee un repertorio de enlaces
donde podemos visitar distintas exposiciones tanto permanentes cómo temporales por todo su
museo. Esta experiencia esta hecha con una camara 360º y nos desplazamos por las salas vía
web, con una mécanica muy similar a la que posee Google Maps. Este tipo de visita en concepto,
es teóricamente similar a lo que yo quiero conseguir, que puedas visitar completamente todo el
museo, pero en este caso es solo en 2D por lo que pierde fuerza, pero no deja de ser una
referencia muy intersante, ya que es más completo que los tours en realidad virtual que existen
actualmente.
25
Figura 19. Captura de la sala principal del museo en tour virtual (Fuente https://naturalhistory2.si.edu/vt3/NMNH/z_tour-022.html)
No Spectators: The Art of Burning Man in VR. En 2018 la asociación Smithsonian llevo a cabo el
desarrollo de una experiencia en realidad virtual para complementar una de sus exposiciones.
El evento Burning Man se lleva a cabo todos los años en el desierto de Nevada, una ciudad de
artistas emerge en ese desierto cada agosto, en este festival se exhiben enormes obras artísticas
que luego se queman hasta los cimientos. La colección del Smithsonian exhibió algunas de estas
increíbles obras hasta enero de 2019, pero la experiencia en realidad virtual nos permite seguir
disfrutando de esta exposición, a pesar de que la colección física ya no existe. Este es uno de los
grandes beneficios de la realidad virtual, nos permite crear registros duraderos de experiencias
que de otros modos serían temporales.
26
Figura 20. Captura de la exposición The Art of Burning man in VR (Fuente https:// www. atlas.sansar.com/experiences/smithsonianamericanart/no-spectators)
Este último ejemplo es una clara referencia de lo que quiero lograr con mi museo, ofrecer la
posibilidad de mostrar mi museo en cualquier momento.
4. Objetivos
4.1 Objetivo general
El objetivo general de mi TFG es la implementación de un entorno de simulación en RV con Unity,
que permita al usuario visitar todas las partes accesibles del Museo de la Universidad de
Alicante. Me encargaré de la creación y texturización de todos los elementos, modelando estos
mismos y realizando un diseño y texturización de la forma lo más fielmente posible al museo.
En este proceso utilizaré diversos programas para poder alcanzar mi objetivo, los cuáles veremos
más adelante.
4.2 Objetivos específicos
Dicho lo anterior, tras analizarlo, he logrado dividir el proyecto en diferentes objetivos más
específicos para obtener una organización más concreta de los puntos sobre los que va a pasar
el mismo.
• Diseño y planificación del proyecto
27
• Obtener fotografías y planos del museo para poder recrear el escenario lo más fielmente
posible
• Familiarizarme con los distintos programas que utilizaré durante el proceso.
• Modelado de todas las salas accesibles y elementos permanentes del museo.
• Texturizado de los respectivos modelos.
• Exportar modelos para poder implementarlos en Unity
• Importar los modelos e implementar la escena en Unity.
• Añadir iluminación y sonido de ambiente en el entorno.
• Implementar la RV y las mecánicas de movimiento en Unity.
• Crear ejecutable para poder probar la experiencia desde cualquier ordenador que
cumpla con los requisitos para ejecutar la RV.
5. Diseño
Una vez tuve claro lo que quería lograr con mi proyecto el siguiente paso fue diseñar como iba
a ser la visita. El objetivo de esta iba a ser ver el museo y moverte libremente por el mismo.
Puesto que en mi versión no habría interacción, lo que yo necesitaba era un sistema que me
otorgase movimiento y visión por un entorno virtual, un entorno virtual que yo tenía que
modelar y texturizar en su mayor parte ya que la mayoría de los elementos del museo son
únicos.
Para poder modelar lo más fielmente posible el museo, lo primero que necesitaba era obtener
toda la información posible acerca de este para poder recrearlo de la forma más exacta posible.
En primer lugar, visité el museo, lo recorrí punto por punto accediendo a todas las salas que me
permitía la universidad, obteniendo fotos de cada espacio y elemento desde diferentes ángulos.
Esto me permitiría empezar a esbozar en mi mente cómo era el entorno y que partes del museo
iba a modelar y cuáles no. El objetivo era no tener que ir a visitar con frecuencia el museo, para
no perder demasiado tiempo, por lo cual intente obtener toda la información posible en una
visita, en total realicé 260 fotografías.
También obtuve los planos del museo a través de la página de la universidad, donde podemos
encontrar planos de los distintos edificios de la universidad de Alicante. Bien es cierto que he
utilizado el plano en pocas ocasiones ya que este no tiene medidas, que ha sido lo que más he
echado en falta a la hora de realizar el modelado.
28
Una vez hecho esto, decidí dividir el museo en secciones. Por dos motivos, el primero para que
a la hora de ponerme a modelar pudiese hacerlo por distintos hitos pequeños y hacerlo de una
forma más escalonada, y el segundo para poder organizar todas las fotografías y no tenerlas
mezcladas. Con ayuda de los planos y de las fotografías agrupe el museo en las siguientes
secciones:
Figura 21. Plano de organización de secciones del museo. (Fuente Propia)
- A: Se corresponde a toda la parte del pasillo de entrada al museo, donde está la ventana
de recepción y los baños.
- B: Es la parte del museo donde se ubican las salas Alcúdia (B1, B2) y Vilamuseu (B3).
- C: Es la parte del museo donde se ubican los despachos y las salas Arcadi Blasco (C1),
Eusebi Sempere (C2) y Polivalent (C3)
- D: Es el patio interior del museo.
- E: Compuesto por la sala Ágora (E1) y el anfiteatro (E2)
- F: Es el pabellón ubicado en el centro del patio interior, compuesto por 4 salas: MIC (F1),
la sala El CUB (F2), la biblioteca (F3) y la sala Maia (F4).
Una vez organizado y definido el objetivo de modelar únicamente los elementos
permanentes del museo, sin representar las exposiciones era el momento de decidir cómo
iba a llevar a cabo el proyecto.
29
5.1. Flujo de trabajo
Saqué en claro que yo iba a tener que hacer tres procesos a grandes rasgos: Modelar, texturizar
e implementar en realidad virtual. Una vez definido esto tuve que pensar en que iba a necesitar
para cumplir mi objetivo.
En primer lugar, iba a necesitar un motor gráfico dónde preparar la visita, un motor gráfico es
un framework (un programa) que nos ofrece multitud de herramientas para crear y desarrollar
videojuegos o experiencias virtuales.
En segundo lugar, iba a necesitar un programa de modelado, donde crear los modelos en 3d
para posteriormente exportarlos al motor gráfico y montar la escena.
También era posible que necesitase algún programa para texturizar, es decir, un programa que
dotase a mis modelos “blancos”, de color, rugosidad etc. Aunque algunos programas de
modelado también incorporan esta funcionalidad.
Y por último necesitaría algún programa para crear mis propias texturas y otro para crear
normales.
Todo esto dejaba claro la estructura que debía seguir:
Figura 22. Flujo de trabajo (Fuente Propia)
30
En la sección de herramientas veremos más en profundidad para que sirve cada uno de estos
programas, los distintos programas que podría utilizar para cada una de estas necesidades y los
que finalmente escogí.
6. Herramientas
6.1 Motor gráfico
6.1.1 Definición de motor gráfico.
En un juego el motor es un programa que nos ofrece multitud de herramientas para la creación
de este facilitando todo lo posible el proceso. Para ser concisos, un motor gráfico no es lo mismo
que un motor de juego, pero en la actualizad los softwares más populares del mercado incluyen
las funcionalidades de ambos en un mismo programa, por lo que trataremos cómo motor gráfico
a la unión de estos dos ya que es lo más común en la actualidad.
El motor tiene a nivel general dos grandes propósitos:
• La renderización de todos los elementos del videojuego o experiencia virtual en pantalla.
Debe ofrecer herramientas para renderizar estos gráficos en tiempo real ya sean
modelos en tres dimensiones o imágenes en dos dimensiones. Debe controlar que los
gráficos se pinten en el orden correcto, que estén debidamente iluminados y que su
animación fluya de forma correcta.
• El manejo de la interacción del jugador con los elementos. La experiencia debe
responder a las acciones del jugador además de gestionar otro tipo de elementos como
las físicas, la representación de la interfaz, reproducción de sonidos etc.
Obviamente el motor debe ser capaz de importar los elementos que va a poseer nuestra
experiencia virtual, ya que cosas como los modelos y las texturas se elaboran en programas
externos.
Hay varios factores importantes a tener en cuenta a la hora de escoger un motor gráfico, la
comodidad de su interfaz, las posibilidades que ofrece, la complejidad de desarrollar las
funcionalidades, su coste, la compatibilidad con los programas que utilicemos, las plataformas
en las que queremos correr nuestro programa etc.
6.1.2 Principales opciones del mercado
Unity
31
Unity es un motor gráfico gratuito, flexible y con una gran gama de recursos. Este motor fue
creado por Unity Technologies en junio de 2005. Su última versión estable es la 2019.3.6, hoy
en día siguen dando apoyo a la plataforma y siguen desarrollando nuevas versiones.
La principal ventaja de Unity es que es fácil de usar. La curva de aprendizaje para crear cualquier
tipo de experiencia es muy rápida. Te da la posibilidad de escoger entre dos lenguajes de
programación para sus scripts: Javascript y C#. La mayoría del mundo conoce JavaScript lo cual
ya le otorga un gran alcance, pero además incorpora C#, el cual es un lenguaje muy moderno y
seguro.
Unity posee la que probablemente sea la tienda más completa para el desarrollo de juegos, su
asset store ofrece multitud de escenarios, sonidos, módulos de control (entre los que se
encuentran módulos para RV) etc. Prácticamente puedes desarrollar cualquier experiencia o
juego sin necesidad de modelar o programar, únicamente utilizando todos los elementos
prefabricados disponibles en internet. Además de esto la herramienta es multiplataforma, lo
que permite generar un ejecutable para multitud de sistemas operativos diferentes.
Algunas de las desventajas de este motor son su rendimiento, el cual al ser una herramienta tan
compleja consume muchos recursos en el ordenador, y el espacio ocupado por los proyectos,
los cuales se expanden enseguida y alcanzan una gran cantidad de ficheros, lo cual dificulta el
manejo de copias de seguridad.
Figura 23. Captura proyecto megacity en Unity (Fuente http://www.unity.com/megacity)
Unreal Engine
32
Unreal engine es un motor creado por la compañía Epic Games, su lanzamiento fue en 1998.
Este motor posee un gran nivel de portabilidad y es una de las herramientas más populares en
la actualidad. A día de hoy se encuentra en la versión 4.24 que ofrece grandes novedades y
también sigue desarrollando nuevas funcionalidades en la actualidad.
Unreal nos ofrece una suite completamente gratuita y disponible para cualquier usuario que
quiera introducirse en el mundo de la creación de contenido audiovisual. Eso sí, en caso de que
comercialicemos nuestro producto, Epic Games, obtendrá el 5% de los primeros 3000$ que
generemos.
Unreal destaca por su sistema de Blueprints que permite a sus usuarios crear proyectos de una
forma más sencilla. Los Blueprints consisten en una forma de programación visual, con el que
cualquier usuario puede crear complejas funciones y elementos interactivos sin necesitar
grandes conocimientos de programación a través de su sistema de nodos.
A pesar de esto, Unreal es un programa que posee una interfaz bastante compleja y requiere
dedicarle mucho tiempo para conseguir familiarizarse con su entorno. Otro inconveniente que
tiene este programa es que no posee una gran comunidad, lo cual hace que esta curva de
aprendizaje sea todavía más lenta, ya que dificulta el encontrar material para aprender a utilizar
el entorno y resolver problemas puntuales.
Figura 24. Captura proyecto de preservación de la cultura de Nueva Zelanda (Fuente http://www.unrealengine.com/spotlights/unreal-engine-preserves-new-zealand-culture-with-
hyper-real-imageryy)
33
6.1.3 Elección final
Existen otros motores gráficos en el mercado como CryEngine o Source 2, pero el mercado para
los desarrolladores independientes lo abarcan completamente Unity y Unreal, por lo tanto, para
un proyecto personal preferí decantarme por uno de estos dos ya que es más sencillo encontrar
recursos de aprendizaje.
Para escoger el motor debía tener claro que lo que quería hacer, mi visita al museo no va a gozar
de alta interacción con el entorno por lo que la programación no era un punto muy importante
a tener en cuenta al a hora de escoger el motor. Necesitaba un motor, que fuese sencillo y gratis,
que me permitiese importar mis modelos del museo, y adaptarlo a las gafas de Oculus Rift lo
más fácilmente posible, para que pudiese dedicar más tiempo al modelado y texturizado.
Un punto muy importante que tuve en cuenta a la hora de mi elección fue que en segundo de
carrera ya realicé un videojuego en 2d para móviles con Unity, por lo que ya conocía ligeramente
cómo funcionaba esta plataforma. Aun así, no quise cerrar mi mente, por lo que decidí buscar
como implementar la realidad virtual en ambos motores y elegir en base a eso. Finalmente
encontré un asset para Unity que hacía realmente sencilla la implementación de las Oculus Rift
en el proyecto, por lo que esto finalmente unido al punto anterior me hizo decantarme por este
motor.
6.2 Programa de modelado
6.2.1 Definición de modelado 3D
Para cualquier escena en tres dimensiones hacen falta objetos, no puedes presentar una escena
vacía, por lo tanto, para un proyecto como este necesitamos un programa que nos ofrezca las
herramientas para crear esos objetos, a los que llamamos modelos.
El modelado consiste en proceso de crear objetos tridimensionales virtuales a través del uso de
software, digamos que es algo parecido como esculpir una estatua, pero hecho desde un
ordenador. Estos modelos no son más que un conjunto de vértices dentro de un espació en tres
dimensiones que uniéndolos entre sí forman figuras geométricas, las cuales al juntarse generan
estos objetos en tres dimensiones.
Hay diferentes formas a la hora de crear modelos en tres dimensiones. La elección de un
programa depende tanto del resultado que se quiere obtener como de los gustos del diseñador.
No es lo mismo crear un modelo para hacer una animación en una película, que crearlo para un
34
videojuego o para la producción industrial. Dependiendo del tipo de objeto que creamos generar
usaremos una técnica de modelado u otra.
La más común es el llamado modelado de caja. Esta técnica consiste en a partir de una figura
sencilla como un cubo, o una esfera, generar un modelo más complejo añadiendo o quitando
geometrías para que esta gane la forma y detalle deseados. Este es el tipo de modelado que
nosotros necesitamos para nuestro museo.
Otra técnica que se ha hecho cada vez más popular en los últimos tiempos es el modelado
escultural. En este modelado también se parte de una figura primitiva, pero en este el detalle
se añade simulando presión, aplastamiento, estiramiento en la malla 3D. Como si se tratase de
esculpir sobre barro. Este tipo de modelado es más común en la animación.
Normalmente este tipo de programas no se utilizan solo para el modelado 3d, también
incorporan herramientas para la animación y el renderizado de escenas, aunque este punto no
me afecta mucho en mi proyecto ya que el renderizado se lleva a cabo en el motor gráfico es
importante destacar este aspecto.
Dado que nuestro proyecto está más enfocado a la primera técnica, los ejemplos que veremos
a continuación serán softwares más enfocados a este método.
6.2.2 Principales opciones del mercado
3ds Max
3ds Max es un programa desarrollado por Autodesk, su primera versión fue lanzada en el año
1990 y su última versión estable es la v2019, a día de hoy todavía siguen dando soporte a este
programa. 3ds Max es un programa de pago, pero ofrece versiones gratuitas para los
estudiantes. Este programa es uno de los más populares en el sector del modelado lo cual facilita
mucho su aprendizaje. 3ds Max utiliza una arquitectura basada en plugins (fragmentos de código
hechos para ampliar las funciones de un programa o herramienta), lo cual es muy interesante
porque ofrece a la comunidad la posibilidad de desarrollar sus propias funcionalidades que no
posee el programa original y subirlos a internet para que otros usuarios puedan utilizarlos. Eso
sí, estos fragmentos de código deben llevarse a cabo en su propio lenguaje de programación
Maxscript.
Uno de los problemas más habituales de este tipo de programas es la renderización. Problemas
que se han visto minimizados en las últimas versiones de este programa, impulsado por su nuevo
núcleo de gráficos ultra acelerado, que no solo ha mejorado su rendimiento, sino que además
ofrece unos resultados muy realistas.
35
Además, es importante mencionar que este programa está muy extendido en el ámbito
profesional por lo cual tener conocimientos sobre este puede abrirte muchas puertas de cara a
tu futuro profesional, un punto muy importante a tener en cuenta.
Figura 25. Captura ejemplo de proyecto llevado a cabo en 3ds Max (Fuente http://www.construyafacil.org/2018/01/programas-elaborar-modelos-arquitectonicos-3D.html)
Blender
Blender es un programa desarrollado por la fundación Blender, su primera versión consta de
1998 y su versión actual es la 2.82.a. Este programa sigue actualizándose hoy en día. Lo más
destacado de este programa es qué es un programa de software libre lo cual lo hace
completamente gratuito y cualquiera tiene acceso a su código fuente. Esto hace que sus avances
de software sean más veloces que en un software privativo, y a pesar de ello sorprende por
mantener tanta estabilidad como un software comercial.
Al ser un software libre, familiarizarse con este programa es realmente sencillo, porque posee
una gran comunidad y esto implica que existan una gran cantidad de recursos para aprender a
manejar este software y resolver problemas puntuales.
Blender funciona en Windows, Mac Os y Linux y pesa poco lo cual hace realmente accesible. A
pesar de ser un programa orientado al modelado de caja, también ofrece herramientas para el
modelado escultural y con resultados bastante interesantes, cualidad que no posee 3ds Max.
Blender también incorpora la opción de desarrollar plugins, los cuales se programan en lenguaje
Phyton, un lenguaje bastante estandarizado.
36
Cómo detalle adicional Blender también ofrece herramientas para la edición de vídeo. Si
recapitulamos ofrece un gran paquete de herramientas para cubrir todas las áreas de una
producción.
Figura 26. Captura ejemplo de modelado llevado a cabo en Blender (Fuente http://www.blender.org)
Cinema 4D:
Cinema 4D es un software de creación de modelos y animación 3d desarrollado por MAXON
Computer. Su lanzamiento consta de 1990 y su última versión estable es la R21 de septiembre
de 2019. Este programa también sigue recibiendo actualizaciones en la actualidad.
Cinema 4D destaca en el mercado por ser una herramienta que permite la creación de contenido
muy complejo y de una gran calidad de manera muy intuitiva, su curva de aprendizaje es mucho
menor que en la mayoría de su competencia. Aunque es verdad que la comunidad es menor que
en sus dos anteriores competidores, lo cual dificulta un poco la búsqueda de recursos, pero lo
compensa con su facilidad de aprendizaje.
Otra gran característica de esta herramienta es MoGraph, un conjunto de herramientas que
permiten realizar animaciones de forma sencilla, permitiendo entre otras cosas, la clonación de
objetos, agregar efectos y crear movimiento de manera más sencilla.
Cinema 4D no es un software gratuito, pero al igual que ocurría con 3ds Max ofrece licencias
educacionales.
37
Figura 27. Captura ejemplo de modelado llevado a cabo en Blender (Fuente http://www.panoramaaudiovisual.com/ar/2011/09/08/maxon-cinema-4d-release-13-ya-
disponible/)
6.2.3 Elección final
Hay más programas que podría haber utilizado para mi proyecto, pero estos tres eran mis
principales candidatos, hay que decir que este apartado fue el que más me costó a la hora de
comenzar el proyecto, los tres motores tenían sus ventajas lo cual me hizo muy difícil la elección.
Al tener Cinema 4d y 3ds Max versiones de estudiante y Blender ser de código abierto, el que
fuesen de pago no era problema a la hora de elegir uno. En segundo de carrera tuvimos una
asignatura de modelado y animación por computador en la que trabajamos todo el semestre
con 3ds Max, lo sentí bastante cómodo, con muchas herramientas y muchas vías distintas para
hacer lo que uno quisiese. En tercero de carrera, trabajé en una práctica con Blender, hay que
decir que mi experiencia anterior con 3dsmax me resultó más satisfactoria que con Blender,
quizá porque ya me había acostumbrado más a la interfaz, lo cual me hizo descartar este último.
Hay que decir que al final el proceso de modelado depende mayoritariamente de la habilidad
del diseñador, por lo cual entiendo que la elección más inteligente era escoger con el que me
sintiese más cómodo. Después sopese la opción de Cinema4d, todas las opiniones eran las
mismas, se obtenían unos resultados increíbles de una forma muy sencilla, la verdad es que
estuve a punto de hacer el proyecto con este, pero al ver menos contenido para aprender a
usarlo y el que ya conociese 3dsMax mucho más en profundidad me hizo finalmente decantarme
por este último, además 3dsMax es un programa que se pide mucho en empresas de modelado,
lo cual consideré también un gran punto a su favor.
38
6.3 Programas para el texturizado
6.3.1 ¿Qué es el texturizado por computador?
Un modelo en 3d es una figura sin color, si nosotros no queremos una escena blanca, tenemos
que dotar de color, rugosidad y reflexión a nuestras figuras. Bien es cierto que podemos dotar a
nuestros elementos de un color uniforme, pero en la vida real prácticamente nada puede
definirse con un único color superficial. Una madera, el estampado de una camisa, la pared de
tu casa, se componen de diferentes colores distribuidos de diferentes formas, de aquí surge la
necesidad de la creación de texturas.
Nosotros podríamos obtener una imagen de un trozo de madera, guardar la imagen y después
aplicársela a cualquier objeto, además podemos hacer que esta imagen cumpla completamente
toda la superficie del objeto o bien que se vaya repitiendo progresivamente dentro del mismo
(texturas procedurales). Esta imagen se conoce como mapa difuso, nosotros también podemos
crear una imagen con un programa de ordenador para generar las texturas, que es lo que hemos
hecho en este proyecto. Es importante que la textura posea de la calidad necesaria de
resolución, porque si es demasiado baja, cuando acerquemos nuestro personaje al objeto se
verá pixelado, pero si ponemos demasiadas texturas a mucha calidad cargaremos demasiado el
peso del proyecto y afectará al rendimiento.
A la hora de crear las texturas, aparte de definir los colores del objeto, también definimos
información de estos cómo su rugosidad, si son más o menos metálicos e incluso podemos
simular variaciones de nivel dentro de estos, sin editar el polígono.
Por tanto, junto con el mapa difuso también generaremos otros tipos de mapas como el
metálico, el mapa de altura o el mapa de normales.
Dicho esto, nosotros lo que necesitamos son programas que nos permitan generar todo este
tipo de mapas. En función de si necesitamos texturas procedurales o no utilizaremos unos
programas y técnicas distintos. En esta parte no analicé distintos programas porque tuve muy
claro el flujo de trabajo que quería seguir para el texturizado, así que a continuación vamos a
ver que programas elegí y por qué.
6.3.2 Photoshop
Para crear imágenes personalizadas lo que necesitas es un programa de edición de imagen. Los
elementos del museo son únicos, por lo cual encontrar imágenes en internet para usarlas en mis
modelos es algo que resulto bastante complicado y que utilicé en escasas ocasiones, e incluso si
39
encuentras una imagen que te sirva siempre necesitarás adaptarla ligeramente. Con Photoshop
podríamos crear cualquier tipo de mapas, aunque claro crear una imagen y sus mapas desde
cero y que se asemeje a la realidad es un proceso complicado, por lo cual solo utilizaremos
cuándo el nivel de personalización que necesitemos sea realmente alto y no lo podamos generar
con otras herramientas.
Adobe Photoshop es un editor de imágenes desarrollado por Adobe Systems Incorporated. Su
lanzamiento consta del 19 de febrero de 1990 y su última versión estable es la 2020. Photoshop
es el programa de edición de imagen por excelencia, tiene muy poca competencia en el
mercado, aunque hay alternativas gratuitas como Gimp, ninguna ofrece el abanico de opciones
que ofrece este programa. Ya no es solo que sea el programa que más herramientas ofrece para
la edición de imagen, sino que además ofrece una interfaz y un sistema de organización que
hace que el proceso de creación y edición de imágenes sea relativamente sencillo. Además, al
ser una herramienta tan estandarizada desde hace tanto tiempo la cantidad de recursos para
aprender a utilizar la herramienta y ejemplos son prácticamente ilimitados. Por último, es
importante decir que llevo ya varios años utilizando este programa para la edición de imagen
por lo cual su elección estaba clara desde el principio.
Figura 28. Captura de tutorial de creación de textura en photoshop (Fuente http://www.wikihow.com/Make-Wood-Texture-in-Photoshop)
6.3.3 Normal Map Online
Cómo he mencionado anteriormente el proceso de creación de mapas en Photoshop puede
hacerse complicado, por lo cual para la creación de normales, en primera instancia, intenté
instalar un plugin en Photoshop que permitía la creación de normales parametrizada, pero era
40
incompatible con mi versión por lo cual decidí buscar una herramienta externa. Normal Map
Online es una pequeña aplicación web que nos permite crear mapas de normales de forma muy
simple a raíz de un mapa de altura. Estos mapas de altura los generaremos en Photoshop, es un
mapa en blanco y negro que indica que partes de la imagen difusa recibirán la altura y a raíz de
este podemos generar el mapa de normales.
Figura 29. Captura de creación de normales con Normal Map Online (Fuente http://www.cpetry.github.io/NormalMap-Online/)
6.3.4 Substance Painter
Con este programa se han llevado a cabo la mayoría de las texturas de nuestro proyecto.
Substance Painter es un programa creado por Allegorithmic en el año 2014 pero que en el año
2019 se convirtió en parte de la familia Adobe. Este programa se ha convertido en una
herramienta de referencia en el mundo de la creación de objeto 3d, no tiene rival en cuanto a
los niveles de realismo que puedes alcanzar a la hora de la creación de texturas y a lo
increíblemente sencilla que resulta de utilizar. Este programa permite pintar los modelos
directamente en 3d, es decir no tenemos que generar la textura por separado y luego unirla y
esperar que todo encaje si lo hemos hecho bien (cómo sería con Photoshop), si no que puedes
ir creando la textura sobre el modelo a tiempo real. Una de las herramientas más increíbles que
posee este programa son los materiales inteligentes, son unos materiales predefinidos que nos
otorga Substance Painter que podemos aplicar a nuestros objetos y que son completamente
41
parametrizables y que nos generan todos los mapas que necesitamos para nuestro objeto al
mismo tiempo.
Además, Substance Painter posee una versión de prueba de un año gratuita para estudiantes,
lo cual, nos daba un argumento más todavía para utilizarlo en nuestro proyecto.
La única pega de este programa es que no sirve mucho cuando necesitamos texturizado
procedural, por lo cual en esos casos utilizaremos Photoshop, pero usaremos Substance Painter
cuándo necesitemos texturizar cualquier elemento concreto como una mesa, un ordenador o
un libro.
Figura 30. Captura de texturizado de coche espacial con Substance Painter (Fuente http://www. store.steampowered.com/app/1194110/Substance_Painter_2020)
6.4 Flujo de trabajo final
Como conclusión, hoy en día poseemos unos programas tan polivalentes que podríamos utilizar
uno solo para todas las tareas, pero en función del grado de personalización que necesitemos
es mejor utilizar una herramienta especializada e incluso cómo veremos cuándo expliquemos el
proceso de texturizado utilizaremos la combinación de todas ellas para obtener el resultado
deseado.
Aun así, la mayoría del trabajo se realiza siguiendo un flujo de trabajo bastante claro, cómo
vimos en el apartado de diseño, por lo que una vez escogidas las herramientas que vamos a
utilizar, podemos ver como nuestro flujo de trabajo queda así:
42
Figura 31. Flujo de trabajo final (Fuente Propia)
7. Implementación
En el apartado de objetivos definimos los puntos por los que iba a pasar el desarrollo de nuestro
proyecto, en esta sección vamos a ver cómo ha sido el desarrollo de cada uno de esos puntos.
7.1. Modelado
Una vez obtenida toda la información sobre el museo, el siguiente paso era modelar todos los
elementos permanentes del museo. En este apartado vamos a ver como se realizó el modelado
con este programa.
Antes de continuar hay que tener claros los siguientes conceptos:
Un vértice es un punto en el espacio 3d que pose las coordenadas “x”, “y”, “z”, la unión de dos
de estos vértices genera una arista. El borde es el conjunto de aristas que conforman la parte
exterior del objeto 3d.
La unión cerrada de varias aristas forma un polígono, que consiste en un plano delimitado por
estas aristas. Y, por último, la unión de todos los polígonos del objecto conforma el elemento.
El modelado ha sido realizado mayoritariamente a través de la creación de editable poly
(Polígonos editables).
Un editable poly en 3dsMax consiste en un objeto editable en 3d con cinco niveles de sub-
objeto: vértice, arista, borde, polígono y elemento. Cada uno de estos elementos es editable y
43
la manipulación de cada uno de estos pueden afectar a otros elementos que componen el
polígono.
Dicho esto, vamos a ver cómo se puede crear cualquier objeto en 3d partiendo de estos
conceptos.
7.1.1 Creación de figuras primitivas en 3d
El primer punto a la hora de modelar es crear un objeto en 3D, 3dsMax nos ofrece una serie de
formas primitivas de las cuales puede partir nuestro modelado. Cajas, conos, esferas, geosferas,
cilindros, tubos etc. La creación de estos elementos es parametrizable, pudiendo así definir
altura, ancho, radios, el número de caras de una superficie curva (para darle más suavidad) y el
número de subdivisiones de las caras del objeto.
Figura 32. Figuras primitivas en 3ds Max (Fuente Propia)
7.1.2 Edición con editable poly
Una vez hemos creado una figura primitiva podemos convertirla en un editable poly, y a raíz de
esto podemos crear cualquier tipo de modelo. Como ya hemos mencionado anteriormente, un
editable poly esta anidado en 5 niveles de sub-objeto. A través de la creación y manipulación de
cada uno de estos niveles podemos crear cualquier tipo de modelo.
44
Figura 33. Menú de editable poly en 3ds Max (Fuente Propia)
Como hemos mencionado anteriormente, podemos editar cada uno de los sub-niveles. Lo
primero que encontramos en el menú de editable poly es un selector para escoger a que nivel
quedemos editar. Lo podemos hacer desde el menú de “Selection” o en la parte superior donde
salen esquematizados los distintos niveles.
Dentro de cada nivel podemos modificar la posición en el espacio de los elementos que
seleccionemos (trasladar, rotar escalar). Además de ello 3ds Max nos ofrece varias operaciones
para facilitar el modelado. A continuación, explicaremos las operaciones que más he utilizado a
la hora de realizar mi proyecto, y en algunos casos mostrare ejemplos de modelos del museo
donde haya utilizado estas operaciones. No voy a ver en detalle todas porque extendería
demasiado la memoria.
En función del subnivel seleccionado, en la sección inferior nos aparecerá una serie de
operadores. Como podemos ver en la fotografía anterior, al estar seleccionado “Polygon”, nos
aparece la sección de “Edit Polygons”. Algunos serán comunes en todos los niveles y otros serán
únicos del nivel seleccionado. Ahora vamos a ver algunos de los modificadores que más he
utilizado y ejemplos de uso en mis modelos.
45
Extrude a nivel de polígonos
La extrusión es una técnica de modelado donde una superficie en dos dimensiones es
prolongada a lo largo de un camino (path), de tal manera que convierte una superficie en un
objeto en tres dimensiones.
Figura 34. Extrude en creación de PC para el museo (Fuente Propia)
El uso del extrude es muy común a lo largo del proceso del modelado, sobre todo en patas de
mesas, sillas etc. En la figura anterior podemos ver como hemos creado la pata que sujeta el
monitor a través de la operación extrude y posterior mente modificando la posición de sus
polígonos. Esta operación también la podemos encontrar a nivel de vértice y de arista.
Hay otra opción muy similar llamada bebel que ejecutará el mismo proceso, pero además la cara
que queda en la punta de la extrusión podrá ser escalada para hacerla más grande o pequeña.
Inset a nivel de polígonos
Inset es una técnica de modelado donde la superficie seleccionada crea en su interior una
superficie con la misma geometría, pero de dimensiones proporcionalmente más pequeñas.
Esta operación es exclusiva del nivel de polígonos.
Figura 35. Inset en creación de manguera de extintor para el museo (Fuente Propia)
46
En la figura anterior podemos ver cómo he hecho un inset en un cilindro, para crear otro más
pequeño, y después aplicar un extrude sobre el cilindro generado para crear la barra que
sujetará la cubierta de la manguera de incendios de nuestro museo.
Chamfer a nivel de aristas
Chamer (biselado) es una técnica que sirve para suavizar los bordes de un objeto en 3d. Lo que
hace es crear un corte oblicuo en la esquina de la figura de la arista seleccionada. El número de
cortes y la distancia entre ellos son parametrizables. Cuantos más cortés hagas más suave será
la esquina, pero también aumentará el número de polígonos. Cuánta más separación haya entre
ellos abarcará más parte del objeto. Está operación también está disponible a nivel de vértices.
Figura 36. Chamfer en creación de papelera para el museo (Fuente Propia)
En la figura anterior podemos ver como he aplicado un chamfer a cada una de las esquinas de
la papelera para darle una forma curva. Aplique 4 cortes para suavizar la esquina y puse 2cm de
separación entre las aristas porque no quería que quedase una papelera cilíndrica, sino una
esquina más pequeña.
Connect a nivel de aristas
En ocasiones dentro de un polígono necesitamos crear varias divisiones internas, a distintos
tamaños. Una de las herramientas que más he utilizado para hacer esto es connect. Connect
crea una arista desde un punto cualquiera de una de las aristas seleccionadas hasta la otra. Si
seleccionas más de dos aristas, las aristas que cree serán todas contiguas. La herramienta
también nos permite definir el número de aristas que queremos crear (si elijes varias se crearan
de forma paralela) y la distancia entre estas.
47
Figura 37. Connect en creación del brazo en la estatua para el museo (Fuente Propia)
En la figura anterior vemos como apliqué un connect entre las aristas que corresponderían al
hombro y la cadera de la estatua, inserté dos aristas con bastante separación entre ellas para
poder establecer la forma del brazo. Brazo que posteriormente cree mediante un extrude del
polígono creado dentro de estas dos nuevas aristas.
A parte de la sección de editar polígonos, aristas y vértices tenemos otra sección llamada “Edit
geometry” donde tenemos otros operadores que en este caso si son comunes a todos los
niveles del editable poly. Los más destacados son:
• Create: Nos permite crear un vértice, una arista o un polígono en cualquier punto de
nuestra geometría en función del nivel que nos encontremos.
• Attach: Este operador nos permite unir dos modelos independientes en uno solo.
Figura 38. Attach en creación de extintor para el museo (Fuente Propia)
En este caso modelé la manguera del extintor y el bote por separado, después coloque la
manguera en la posición exacta que quería del extintor y aplique el modificador attach para
que se convirtiesen en un único objeto.
48
• Detach: Este operador hace la operación inversa al anterior, se selecciona una parte
del objeto y al aplicarle este operador se separa en otro independiente.
• MSmooth: Este operador otorga una forma curva a todos los elementos seleccionados
del polígono. Se puede parametrizar el número de iteraciones, lo que esto hace es
hacer subdivisiones más pequeñas lo cual permite otorgar curvas más suaves. Hay que
tener mucho cuidado con este operador porque aumenta mucho el número de
polígonos.
Figura 39. MSmooth en creación de cojín de silla para el museo (Fuente Propia)
7.1.3 Crear líneas y formas
Cómo vimos anteriormente se puede crear cualquier tipo de objeto 3d a partir de figuras
simples, pero en ocasiones puede que necesitemos partir de una figura más compleja. Podemos
crear estas figuras a partir de líneas o formas, estos elementos son uniones de vértices formando
aristas que poseen únicamente dos dimensiones y que luego mediante operadores pueden ser
convertidos en objetos en tres dimensiones.
Esencialmente en el proyecto he utilizado la línea, la línea se crea introduciendo tantos vértices
como desees en el espacio y cuando finalices unirá todos esos vértices formando una línea con
la forma dada.
49
Figura 40. Creación de línea en 3dsMax (Fuente Propia)
Como se puede observar la línea nos ofrece un menú de edición muy similar al editable poly, la
parte más interesante a la hora de editar una línea es la sección de “Geometry”. Veamos las
operaciones más destacadas:
Insert: Nos permite insertar un vértice en cualquier parte de la línea una vez ya creada.
Connect: Nos permite unir dos vértices creando una nueva arista.
Chamfer: Es un operador que funciona igual que en los polígonos, divide una arista en varias con
cortes oblicuos para generar esquinas más suaves.
Outline: Este operador convierte la línea en una figura cerrada creando una línea paralela a la
distancia indicada y cerrando todos sus puntos.
Fillet: Este operador es uno de los que más he utilizado, permite crear curvas en la línea.
Una vez tengamos nuestra línea hay dos formas de convertirla en un objeto en tres dimensiones.
Una es a través de modificadores, que los veremos en la próxima sección, y otra es a través del
apartado “Rendering”.
50
En este apartado si habilitamos la opción “Enable In Viewport” nos convertirá nuestra figura en
un objeto en tres dimensiones. Lo que hará es crear un rectángulo o una circunferencia (en
función de si seleccionamos “Radial” o “Rectangular”) que se extenderá a lo largo de la línea
creada. Posteriormente solo tenemos que convertir este objeto en un editable poly y ya
podremos seguir modelado con las técnicas explicadas anteriormente.
Figura 41. Creación de manguera de extintor para el museo (Fuente Propia)
En esta figura podemos ver cómo en primer lugar creamos una línea a raíz de unos vértices,
posteriormente le aplicamos fillet a sus vértices para dotarla de una forma curva y por último a
través de la sección “Enable In Viewport” la convertimos en un objeto 3d a través de una forma
radial. Y con esto creamos la manguera de nuestro extintor.
7.1.4 Modificadores
Los modificadores son operadores que permiten alterar la forma de todo un modelo a través de
varios parámetros. En un mismo objeto se pueden aplicar tantos modificadores cómo uno
quiera. El modificador trabaja sobre el modelo dado, es decir que una vez aplicado el
modificador yo puedo seguir editando el objeto y el modificador irá adaptando mi modelo
automáticamente. Al poder aplicarse varios modificadores en un mismo objeto hay que tener
cuidado el orden en el que se aplican, porque el nuevo afecta al anterior pero no al revés. Una
vez aplicados los modificadores podemos convertir nuestro objeto en editable poly, pero al
hacer esto se perderán los modificadores y ya no podremos alterar los parámetros de estos.
Veamos algunos de los que más he utilizado en el proyecto:
Lathe: Este modificador genera un objeto en tres dimensiones girando una forma o curva
alrededor de un eje. Con esto podemos crear cuerpos de revolución. Es importante definir el eje
51
sobre el que va a girar nuestra figura, tanto la dirección como la posición. También podemos
definir el número de segmentos que obtendrá nuestra figura, esto hará que tenga una curva
más o menos suavizada.
Figura 42. Creación de maceta del patio el museo (Fuente Propia)
Extrude: El modificador extrude también se puede aplicar a una figura, realiza el mismo efecto
que si se hiciese sobre un polígono.
Mirror: El operador mirror (espejo) es muy útil a la hora del modelado, cuándo estamos
haciendo un objeto complejo que es completamente simétrico podemos utilizar este operador.
Lo que este operador hace es duplicar lo que estemos haciendo al otro lado de un eje que
establecemos como si se tratase de un espejo. Lo cual nos reduce mucho la tarea de modelado.
52
Figura 43. Creación de vigas del pabellón con “Mirror” para el museo (Fuente Propia)
TurboSmooth: Este modificador es muy similar al MSmooth explicado en los operadores de
editable poly, la única diferencia es que este se aplica a todo el modelo y no solo a los polígonos
seleccionados:
UVW Map / Unwrap UVW: Estos son dos modificadores que nos sirven para obtener
coordenadas de texturas para nuestros modelos, veremos cada uno más en profundidad en el
próximo apartado, cuándo expliquemos el proceso de texturizado.
Mezclando cada una de las técnicas mencionadas en estos 4 puntos y algunas que no hemos
visto que he utilizado de forma muy puntual se han elaborado todos los elementos que se
encuentran en el museo.
7.1.5 Exportar modelos
Una vez terminemos el modelado de nuestros elementos y les hayamos asignado mapas de
texturas, tenemos que exportarlos en un formato que puedan interpretar tanto nuestro
programa de texturizado como nuestro motor gráfico. En este caso he escogido fbx, porque es
el más estandarizado. Una vez terminado el museo, exporté todos los elementos en un mismo
fbx, para así reutilizar la posición en la que ya los había ubicado en el programa, ya que 3ds max
es más cómodo para ubicar los modelos que Unity. Por otra parte, para los modelos que tenía
que texturizar en Substance Painter, los he ido exportando individualmente para manejarlos
cómodamente dentro del programa. Es importante tener en cuenta que el modelo que he
exportado para un programa, si es modificado desde 3ds max, tengo que volver a exportarlo,
porque si no luego no coincidirán las coordenadas de textura.
53
7.2. Texturizado
Una vez modelados todos los elementos de nuestro museo lo siguiente es aplicar texturas a
nuestros modelos. A la hora de texturizar un modelo no basta solo con generar unos mapas de
textura, nuestro programa de renderizado tiene que saber que parte del mapa corresponde a
cada parte del modelo lo cual se consigue a través de las coordenadas de textura que
generaremos desde 3ds Max.
A la hora de llevar a cabo el texturizado tenemos dos caminos posibles, texturas procedurales o
texturas normales. En este apartado vamos a ver cómo podemos texturizar objetos de ambas
maneras viendo ejemplos de uso en mi proyecto.
7.2.1 Texturas procedurales
En ocasiones el objeto que vamos a generar posee un patrón de diseño que se repite varias
veces a lo largo de toda la pieza, como podrían ser las baldosas de una plaza. En este caso no
vamos a texturizar toda la pieza que forma el suelo de nuestra plaza haciendo una y otra vez las
mismas baldosas, sino que vamos a hacer una sección y repetirla por todo el modelo, esto es lo
que denominamos texturizado procedural. El problema que suele presentar este tipo de
texturizado es qué si tu repites la misma imagen al lado de si misma, puede notarse donde se
corta una y empieza la siguiente, por lo tanto, es importante que estas texturas sean “seamless”
(sin costuras). Una textura sin costuras está diseñada de tal manera que los patrones se repiten
vertical y horizontalmente cuando se organizan en un formato de mosaico. Este tipo de
texturizado es relativamente sencillo y proporcionan una forma bastante rápida de obtener
resultados, pero cuándo queramos tener modelos con mayor detalle y rasgos diferentes en cada
una de sus partes no nos servirá este tipo de texturizado.
54
Figura 44. Ejemplo de textura sin cortes (Fuente Propia)
Vamos a ver cómo crear una textura procedural desde cero. En este caso vamos a ir siguiendo
el ejemplo de cómo cree el suelo del museo.
Lo primero que debemos hacer es conseguir el mapa difuso, para esto bien podemos descargar
una imagen de internet o crearla desde cero, recordando que en caso de descargarse
necesitamos que esta sea sin cortes. Para el ejemplo del suelo del museo no encontré ninguna
textura que fuese parecida a este, por lo que decidí crearla yo mismo a partir de una de las fotos
que tenía.
Figura 45. Ejemplo de creación de mapa difuso suelo del museo en Photoshop (Fuente Propia)
55
Para crear el suelo que vimos en la figura anterior lo primero que hice fue coger un trozo de
suelo de una de mis fotografías y extenderlo a lo largo de todo el cuadrado con el tampón de
clonar. Después con unas líneas y un filtro de ruido genere los huecos que quedan ente cada
una de las baldosas y lo junte todo para generar un conjunto de baldosas, como podéis ver
cuándo genere los huecos, lo hice de forma que quedase sin costuras. No vamos a entrar en
profundidad en las herramientas de edición de imagen porque no es un proyecto orientado a la
edición de imagen.
Una vez tenemos nuestro mapa difuso lo siguiente es generar las normales, para ello antes
tenemos que crear el mapa de altura, el mapa de altura se genera convirtiendo nuestra imagen
a blanco y negro, ya que un color marcara que partes queremos que tengan altura y el otro
cuales mantendrán su altura original. En Photoshop podemos hacer esto editando los niveles y
las curvas de exposición de color.
Figura 46.Ejemplo de creación de mapa de altura, piedras del museo (Fuente Propia)
Una vez generado el mapa de altura ya podemos ir a Normal Map online con nuestro mapa
difuso y el mapa de altura para generar las normales. El mapa difuso no es necesario, pero nos
servirá para ver los resultados en tiempo real. Con este programa podemos modificar distintos
parámetros como el desplazamiento para definir la altura, la fuerza etc. Ajustamos la textura a
nuestras necesidades y la descargamos.
56
Figura 47. Ejemplo de creación de mapa de normales para el suelo del museo (Fuente Propia)
Una vez tenemos la textura, ahora tenemos que generar las coordenadas de textura de nuestro
objeto, este proceso lo hacemos desde el programa del modelado, ya que es información que
se guarda en el modelo y no en la textura.
Para las texturas procedurales utilizamos el modificador UVW Map, ya hemos visto lo que son
los modificadores en el apartado de modelado, veamos cómo funciona esto en concreto. Este
modificador controla cómo aparece mapeada la textura en la superficie del modelo, se realiza a
través de un sistema de coordenadas conocido como UVW, en este caso solo utilizaremos dos
coordenadas U V que corresponden a X Y, ya que al tratar con imágenes solo tenemos dos
dimensiones.
57
Figura 48. Modificador UVW Map en pared del museo (Fuente Propia)
En primer lugar, es importante definir en base a que geometría queremos que se aplique nuestro
mapa de textura, en la sección de “Mapping” podemos escoger entre Planar, Cylindrical,
Spherical, Shrink Wrap, Box, Face y XYZ. Una vez escogida, creará el mapa de UV respecto a las
caras de esa geometría. Debemos escoger la que más se adecue a nuestro modelo, en este caso
podemos ver como hemos escogido “Box”, es decir una geometría de caja.
Una vez definido eso entramos en la parte importante, que es definir los parámetros de la
imagen sobre nuestra textura. Este modificador nos proporciona un gizmo, el gizmo nos es la
proyección de la imagen sobre nuestro objeto, imagina que tenemos un papel delante de
nuestra figura, y que tenemos una luz justo detrás del papel. La sombra que proyecta sobre la
figura varía en función de en qué posición la coloquemos y el ángulo de nuestro papel, algo así
sería el gizmo. Podemos cambiar su posición y tamaño, y esto afectará a la imagen que se
proyectará sobre nuestro modelo.
58
Por último, en los campos “U Tile” y “V Tile” lo que definimos es cuanto ocupa nuestra imagen
respecto a las caras del modelo. Si ponemos una cifra superior a 1, significa que la textura será
más pequeña que la superficie por lo cual empezará a duplicarse dentro de esta.
Si aplicamos el mapa difuso generado con anterioridad a nuestro modelo podremos ir viendo
cómo queda en tiempo real, lo cual nos facilitará el proceso.
7.2.2 Texturizado común: Mapas de coordenadas
En esta ocasión tenemos el caso contrario, queremos que cada parte de nuestro objeto sea
diferente al resto, que tenga detalles en ciertos puntos, para este caso tenemos que hacer un
texturizado más en profundidad.
En este caso el proceso lo hacemos a la inversa, en primer lugar, vamos a generar las
coordenadas de textura, para ello utilizaremos el modificador Unrwap UVW de 3ds Max. La
mayoría de los elementos del museo se han llevado a cabo con este modificador.
Antes de continuar vamos a explicar un poco como funciona el proceso de mapeado. Cuando
nosotros creamos un mapa de texturas, este no deja de ser una imagen, y que además debe ser
cuadrada, en una sola imagen tenemos que dibujar todos los detalles del polígono, pero claro
nuestro polígono no es ni un plano, ni un cubo, ningún tipo de figura que se asimile a la imagen.
El proceso de mapeado consiste en extender todos los polígonos del modelo sobre una
superficie cuadrada 2d, para que luego el programa sepa que parte de la imagen corresponde a
cada polígono. Lo más importante es evitar que varios polígonos queden superpuestos, porque
si esto sucede, el mismo trozo de la imagen se aplicara a dos polígonos diferentes y no podremos
personalizar cada uno de forma individual.
Dicho esto, todo este proceso puede hacerse manualmente, estableciendo cortes en nuestra
figura y adaptándola, pero afortunadamente el modificador nos ofrece métodos que nos
facilitan el proceso.
Cuando apliquemos el modificador a nuestra pieza, nos aparecerá un abanico nuevo de
opciones, entre ellas el botón “Open UV Editor…”, el cual al pulsarlo nos abrirá el editor de
coordenadas de textura, donde podremos visualizar y modificar nuestros polígonos colocados
sobre las coordenadas UV, como podemos ver en la fotografía siguiente:
59
Figura 49. Modificador Unwrap UVW en el extintor del museo (Fuente Propia)
Como he dicho anteriormente este proceso puede hacerse manualmente, es bastante más
complejo, pero hay ocasiones en las que se requiere un alto nivel de personalización que no se
puede conseguir con herramientas automáticas. En mi museo no he tenido que utilizarlo ya que
afortunadamente he podido hacerlo todo automáticamente.
Para realizar un mapeado automático primero tenemos que seleccionar todas las caras de
nuestra pieza, después seleccionamos la opción “Mapping” que aparece en la parte superior del
recuadro qué podemos ver en la figura anterior a la izquierda y nos aparecerán diferentes
opciones para realizar un mapeado automático. Las más importantes son “Normal Mapping” y
“Flatten Mapping”.
La primera opción es la que menos he utilizado, este método aplica mapas planos basados en
diferentes métodos de proyección de vectores para crear los mapas. Es el método más sencillo,
pero puede provocar distorsiones en la textura y superposiciones, este método es más eficaz
con figuras simples, crea unas coordenadas bastante sencillas.
Y por otro lado tenemos la herramienta “Flatten Mapping” que es la herramienta que he
utilizado para obtener las coordenadas de la mayor parte de los elementos del museo. Este
método aplica mapas planos a grupos de polígonos de textura contiguos que quedan dentro de
un umbral de un ángulo dado. Evita las superposiciones, pero aún puede causar algo de
distorsión.
60
Figura 50. Herramienta Flatten Mapping en proyector del museo (Fuente Propia)
Este método nos permite parametrizar distintos valores, el primero y más importante “Polygon
Angle Threshold”, es el ángulo máximo que puede existir entre caras en un grupo. También
podemos cambiar el espaciado, lo cual afecta a el espacio entre los grupos. Yo he dejado estos
parámetros por defecto siempre, ya que me ha ofrecido buenos resultados. Este método, es
perfecto para usar Substance Painter, porque él se encarga de interpretar el mapa generado y
nosotros dibujamos sobre el modelo, pero si necesitásemos hacer la textura con Photoshop la
complejidad con la que genera el mapa nos dificultaría mucho. Una vez generados los mapas,
exportamos el modelo en FBX para poder texturizarlos en Substance Painter.
7.2.3 Texturizado común: Substance Painter
Una vez tenemos generadas las coordenadas en nuestros modelos y estos han sido exportados
en FBX ya podemos empezar el proceso de texturizado de los mismos. Cómo ya hemos
mencionado anteriormente la mayor parte del texturizado se realizó con Substance Painter, por
lo que en esta sección vamos a ver cómo texturizar modelos con este programa. La cantidad de
herramientas que ofrece este programa es innumerable, así que veremos las utilidades más
recurrentes durante el proceso de texturizado en mi proyecto.
7.2.3.1 Substance Painter: Importar modelos
En primer lugar, a la hora de texturizar un modelo necesitamos importarlo en el programa. En
Substance texturizamos en tiempo real, por lo cual el programa necesita el modelo para que
nosotros vayamos viendo el resultado. Podemos definir una plantilla, para que el programa nos
proporcione las preconfiguraciones necesarias para el entorno en el que lo vamos a
implementar. En este caso Substance nos otorga la opción de prepararlo para Unity 5, la versión
del motor que estamos utilizando, lo cual nos viene perfecto. Una vez importado nos cargara la
interfaz de herramientas con una previsualización del modelo.
61
Figura 51. Importando modelo en Substance Painter (Fuente Propia)
Una vez importado el modelo, lo primero que debemos hacer es crear los mapas de texturas
haciendo un proceso de “Backing”, este es un proceso que consiste en transferir la información
obtenida de las mallas a las texturas para que los sombreadores puedan interpretarlos y así
poder crear efectos más avanzados. Los materiales inteligentes, una herramienta que nos ofrece
Substance que explicaremos más adelante, dependen completamente de que primero se haya
realizado este proceso.
7.2.3.2 Substance Painter: Organización
Substance Painter nos ofrece dos formas de crear texturas, pintar sobre el modelo o pintar sobre
la textura, si vamos haciendo cambios en una, en la otra también se aplicarán los cambios de
forma simultánea. Esto es muy interesante porque en ocasiones, por la forma de la geometría,
nos resultará más cómodo, o más preciso, seleccionar las caras que queremos pintar desde la
textura, aunque normalmente será más práctico pintar sobre el modelo.
Substance Painter, como otros programas de diseño, tiene un sistema de organización por
capas, para distribuir las pinturas, superponerlas, poder editar secciones sin estropear otras, o
ver como quedan distintos resultados. También nos permite crear carpetas para agrupar estas
capas. Podemos ocultar y mostrar una carpeta o una capa en cualquier momento.
62
Figura 52. Organización en Substance Painter con mesa del museo (Fuente Propia)
7.2.3.3 Substance Painter: Dibujando nuestra textura
Una vez tenemos claro que es lo que queremos hay varios caminos para llegar a el resultado
final. En primer lugar, podemos partir de una capa vacía transparente, la cual podemos ir
rellenando con diversos tipos de herramientas, o también tenemos la opción de crear una capa
de relleno, esta otorgará de un color uniforme a todo el modelo, donde nosotros podremos
cambiar diversas propiedades cómo el color, la altura, la rugosidad, si es más o menos metálico
y la opacidad. Partiendo de estos dos conceptos creando varias capas y utilizando todo tipo de
herramientas podemos alcanzar cualquier resultado.
Para añadir detalles a nuestra textura, una de las herramientas más interesantes son los
“brushes” (brochas), que nos permiten literalmente pintar sobre nuestro modelo. Esta
herramienta se aplica sobre una capa vacía y nos sirve para dotar a nuestra imagen de detalles
muy concretos. El programa nos ofrece distintas formas para nuestra brocha, con un trazo
uniforme, con escamas, cortes, humo etc, aparte de los parámetros mencionados
anteriormente (color, altura…)
Con la combinación de capas de relleno y capas editadas con brochas se podría realizar cualquier
tipo de texturizado, aunque hay otras herramientas que nos facilitan más el trabajo, pero
cuándo deseas resultados muy personalizados, esta es la mejor opción.
63
Figura 53. Dibujado de las llamas de la estatua del museo en Substance Painter (Fuente Propia)
Como se puede ver en la figura anterior, se ha creado una capa de relleno roja, para que se
aplique a las llamas y se han dibujado los detalles amarillos con una brocha con algo de
difuminado en los bordes.
Yo anteriormente mencioné que una capa de relleno se aplica a todo el modelo, sin embargo,
en la figura anterior se aprecia que la capa de relleno “Llamas Rojas”, solo se aplica a las llamas,
dejando el resto del modelo en un color blanco, ¿cómo es esto posible?, esto se consigue gracias
a las máscaras. Una máscara consiste en un mapa binario con dos únicos valores: 1 y 0 (blanco
y negro). Una vez aplicado a una capa o carpeta, el coloreado de estas solo aplicará a las partes
del modelo que en la máscara estén tengan valor 1. Por ejemplo, si queremos que las llamas
sean lo único que se vea rojo, generamos una mascará toda negra y luego marcamos la parte de
la llama con blanco. Esto se puede hacer o con una brocha, consiguiendo así efectos especiales
y más detallados, o simplemente seleccionando los polígonos a los que queremos que aplique.
En la siguiente imagen podemos apreciar dos figuras que utilizan máscaras. En la figura de la
izquierda, teníamos un material de oxido en el que queríamos un aspecto poco uniforme y
repartido, por lo cual aplicamos los valores de blancos de la máscara con una brocha para lograr
este efecto.
En la figura de la derecha, como simplemente queríamos que se aplicase de forma uniforme a
todos los polígonos de las llamas, lo hicimos seleccionando los polígonos que queríamos que se
marcasen con valor 1. El uso de máscaras es recurrente en cualquier modelo, ya que una pieza
siempre tiene diversas partes que queremos que se vean con una textura u otra.
64
Figura 54. Aplicando máscaras con brocha y seleccionando polígonos en piezas del museo (Fuente Propia)
Existe otra forma de generar máscaras en Substance Painter, crear las máscaras con una brocha
es muy útil para otorgar un detalle en puntos concretos, pero si quisiésemos aplicar una máscara
con un patrón no uniforme, como puede ser el óxido, en todo un modelo de gran tamaño
tardaríamos demasiado. Para esto existe una herramienta denominada generadores. Esta
herramienta sirve para generar una máscara en base a un patrón, como puede ser el propio
óxido, polvo, arañazos etc. Estas máscaras son parametrizables, contraste y balance son algunos
de los parámetros que podemos modificar, para modificar la cantidad y la aglomeración de
marcas en nuestra máscara, por ejemplo. Lo más interesante de estos generadores es que se
puede generar una semilla aleatoria, lo cual hará que a pesar de que se genera bajo el mismo
patrón, podemos generar diferentes distribuciones del mismo patrón de forma aleatoria.
Figura 55. Aplicando generadores en la creación de las losas del exterior del museo (Fuente Propia)
Cómo podemos ver en la figura anterior para crear la textura de nuestras losas, partimos de una
capa de relleno sólida gris, que aplicamos a toda la losa, pero con ello no obtenemos suficiente
detalle, ya que una losa no tiene un color gris tan uniforme y sin imperfecciones. Para asemejarlo
más a un bloque de hormigón, creamos una capa de relleno negra y le aplicamos una máscara
65
con un generador de hormigón, esto ya nos crea imperfecciones en la textura que se asemejan
más a la realidad, y posteriormente, creamos otra capa de relleno marrón con un generador de
polvo para añadirle más detalle.
Hay otra forma muy interesante de aportar detalles a nuestros modelos. En ocasiones
necesitamos añadir detalles tan concretos que las herramientas que posee el programa no son
suficientes para lograrlo o tendríamos que dedicarle infinita cantidad de horas. Por lo tanto,
Substance nos permite pegar sobre la textura una imagen externa como si fuese una pegatina.
En realidad, estamos añadiendo otra textura dentro de otra. Esta textura la podemos haber
creado nosotros mismos con nuestro programa de edición de imagen o descargarla de internet.
Figura 56. Aplicando textura externa de instrucciones a nuestro extintor (Fuente Propia)
Cómo podemos ver en la figura anterior, necesitábamos añadir unas instrucciones dentro del
extintor para darle más detalles, haber hecho todos esos dibujos y letras con las herramientas
de Substance habría sido inviable, por lo cual busqué unas en internet y las añadí.
7.2.3.4 Substance Painter: Materiales y materiales inteligentes.
Cuando nosotros exportamos nuestras texturas, lo que al final obtenemos son diferentes mapas
de texturas que nos ofrecen distinta información. Habrá una para el color, otra para indicar la
metalicidad del objeto, otra para las normales etc. Un material es una representación de la unión
de toda esta información en un único concepto. En realidad, cuándo nosotros estamos
diseñando en Substance Painter, nosotros lo que estamos creando son materiales, porque como
hemos visto anteriormente, estamos creando capas que ya poseen toda esa información en un
único elemento. Y será Substance Painter el que después convierta estos materiales en texturas.
66
Aquí es donde empieza lo interesante de este programa, Substance nos ofrece una galería
completa de materiales prefabricados para que podamos insertarlos en nuestro modelo. Aplicar
estos materiales a nuestros modelos es tan sencillo como arrastrarlos sobre este, estos
materiales nos aportan propiedades de la vida real que son muy recurrentes cómo madera,
metal, oro, plástico de color etc. Además, estos materiales son parametrizables por lo cual
podemos ajustarlos más a nuestro resultado deseado. Algunos materiales tienen parámetros
comunes cómo el color, pero otros tienen parámetros únicos. Aunque el nivel de
parametrización en estos suele ser bastante bajo.
Figura 57. Galería de materiales y panel de parámetros en Substance Painter (Fuente Propia)
Nosotros podemos también crear nuestros propios materiales, o bien desde cero o editando
sobre los propios materiales, y podemos exportarlos e importarlos, lo cual gracias a internet,
obtenemos una galería todavía mayor de materiales para utilizar.
Cómo he mencionado anteriormente, aunque estos materiales son algo parametrizables, su
nivel de personalización no es muy alto. Substance Painter ofrece una galería de materiales
inteligentes, lo cual es uno de los puntos más fuertes de este programa, y es una de las
herramientas que más hemos utilizado en nuestro proyecto. Estos materiales se asemejan en
concepto a los anteriores, pero tienen un nivel de personalización mayor. Mientras que un
material es un elemento único, un material inteligente, es la combinación de varios materiales
y efectos que combinan entre sí y de los que puedes parametrizar cada uno de ellos.
Básicamente es como la unión de muchas de las utilidades de Substance aglomeradas en un
único objeto prefabricado. Una de las curiosidades de estos materiales, es que interpretan la
geometría del objeto, para aplicar distintos detalles en partes concretas de un objeto, que no
serían igual en otro, mientras que en un material normal se aplicaría de forma uniforme para
todo el objeto y en todos por igual. Por esto es necesario realizar un baqueo inicial (como
explicamos anteriormente) para poder utilizarlos. Al igual que los materiales normales, estos
pueden ser exportados e importados.
67
Figura 58. Aplicación de material inteligente en mesa del museo (Fuente Propia)
Cómo podemos ver en la figura anterior, hemos el material inteligente “Wood Acajou” a una de
las mesas de nuestro museo. Si nos fijamos bien, lo que este material nos genera en el panel de
capas es una carpeta que engloba un total de 7 capas, y cada una aporta una cosa diferente a
nuestro material. Por supuesto cada una de estas es editable e incluso podemos añadir otras
dentro para crear un nuevo material inteligente. En este caso con el material aplicado no nos
basta para conseguir el resultado deseado.
En primer lugar, aplicaremos una máscara seleccionando polígonos, para hacer que este
material solo afecte a las partes que son de madera. Una vez hecho esto, no nos quedamos ahí,
puesto que la textura de la madera no es exactamente el resultado que deseamos, entonces
modificamos parámetros de las capas de este material inteligente, como cambiar el color,
ocultar alguna de las capas y modificar detalles como el balance y el contraste, hasta que
finalmente obtenemos el resultado que deseamos. Además, al haber modificado el material
inteligente, si lo consideramos oportuno, podemos guardar este como un nuevo material
inteligente independiente y utilizarlo en otras figuras de nuestro museo. Por ejemplo, yo lo he
guardado como “Wood Table” el cual he usado también para otra mesa muy similar que hay en
el museo.
68
Figura 59. Galería de materiales inteligentes y panel de parámetros en Substance Painter (Fuente Propia)
Substance ofrece más herramientas que no hemos mencionado en el documento, pero con
estás que hemos visto he podido texturizar la mayor parte de los elementos del museo,
combinando unas utilidades con otras. Una vez terminado el texturizado de un modelo ya solo
queda proceder al último paso.
7.2.3.5 Substance Painter: Exportando texturas
Cómo mencionamos anteriormente lo que nosotros estamos haciendo en el programa es crear
materiales que tienen información sobre el color, las normales etc. Pero el motor gráfico no
interpreta esos materiales, por lo que tenemos que exportarlos en forma de mapas de textura,
y cada uno guardará una información distinta. Es importante antes de continuar mencionar que
solo se exportarán los elementos que estén visibles al momento de exportar. Para exportar
simplemente tenemos que dirigirnos a “Archivo” -> “Exportar texturas” y nos desplegará un
menú para exportar.
Cada motor o programa que utiliza texturas tiene su propia forma de interpretarlas y trabajar
con ellas, Substance ofrece un gran abanico de preconfiguraciones para exportar nuestras
texturas en función del formato que necesitemos, en este caso nos ofrece dos configuraciones
distintas para Unity 5: “Standard Metallic” y “Standard Especular”, en nuestro caso nosotros
hemos utilizado la primera para todas las texturas del museo. Otro de los parámetros que
podemos modificar es la resolución de las texturas generadas, la cual afectará a la calidad de
visualización de estas, en mi caso he utilizado una resolución de 2048x2048 pixeles, la cual me
69
otorga una gran calidad, pero sobre la que ya no es necesaria una mayor densidad de pixeles
porque afectaría demasiado al peso del proyecto.
Figura 60. Exportando texturas en Substance Painter (Fuente Propia)
El formato seleccionado nos generará tres mapas de texturas diferentes. “Albedo Transparency”
que guardará la información del color, “MetallicSmoothnes”, que guarda la información sobre
la metalicidad del objeto y por último “Normal” con la información de las normales.
Con esto ya tenemos modelados y texturizados todos los elementos del museo, el siguiente paso
ya sería la integración en nuestro motor gráfico.
7.3. Implementación en Unity
Tras texturizar y modelar, ya tenemos el museo listo, ahora solo queda introducir todos nuestros
elementos en un entorno que nos permita visualizarlo y desplazarnos por el mismo, además de
introducir otros elementos cómo iluminación o sonido, y una vez hecho todo esto ya tendremos
nuestra visita lista para el público.
En Unity hay que tener claros dos conceptos, proyecto y escena. El proyecto es una especie de
carpeta donde guardamos todos los elementos que vamos a utilizar para realizar nuestra visita
al museo: modelos, imágenes, sonidos, texturas, materiales, scripts, personajes, escenas etc.
Estos elementos en Unity son llamados assets.
70
Por otro lado, tenemos la escena que es la implementación en sí, una escena contiene el entorno
y los menús de tu experiencia o juego, es decir en nuestro caso, los elementos visibles del museo,
las cámaras y la iluminación que se va a mostrar mientras estemos probándolo en pantalla.
7.3.1 Importación de modelos, texturas y otros elementos
Ahora mismo tenemos en nuestro equipo modelos con sus mapas de coordenadas exportados
en fbx, texturas y otros elementos puntuales como pueden ser algunos sonidos. La importación
es bastante sencilla, simplemente tenemos que desplazar los elementos guardados en nuestro
equipo, a la interfaz de Unity en la ventana de assets, que podemos ver en la siguiente figura.
Figura 61. Importando elementos en Unity (Fuente Propia)
Cómo podemos apreciar en Unity podemos agrupar nuestro proyecto por carpetas, para los
modelos y los materiales he utilizado una estructura similar a la que ya expliqué en el apartado
de diseño con las fotografías. En la figura se puede apreciar como por ejemplo para la escultura
he importado tanto su modelo cómo sus tres mapas de texturas generados en Substance
Painter. También se puede apreciar unas esferas que aparecen en la imagen, estas son
materiales generados desde Unity que veremos más adelante.
En primera instancia únicamente importé los modelos del museo, sin texturas, para poder hacer
pruebas y comprobar lo que iba a necesitar en Unity antes de ponerme a texturizar, además de
comprobar que no fallase la integración con Oculus Rift. Cómo se aprecia en la figura anterior,
yo puedo importar un modelo de forma individual, pero además puedo importar todos los
modelos cómo un único asset. Lo que hice en primer lugar fue precisamente eso, con todos los
71
elementos que modelé en primera instancia, aunque más adelante, cuándo incluí detalles extra,
los importe individualmente.
7.3.2 Assets
Todo tipo de elemento que podamos utilizar en nuestro proyecto, como ya expliqué
anteriormente es un asset. Unity te ofrece una galería de assets básicos, para facilitar el trabajo
en proyectos simples o para ayudar a familiarizarte con el programa (cómo por ejemplo el
personaje en primera persona que utilizamos para probar el museo) y por otro lado ofrece la
opción de importar assets, los cuales pueden ser incluidos desde tu equipo o de su propia tienda.
Su tienda de assets nos ofrece una interfaz dónde podemos buscar y adquirir elementos para
nuestro proyecto, tanto gratuitos cómo de pago e importarlos a nuestro proyecto pulsando un
simple botón, en nuestro caso la hemos utilizado para obtener los elementos necesarios para la
integración de Oculus Rift cómo veremos más adelante.
Figura 62. Unity assets store (Fuente Propia)
Dentro de nuestros assets nos encontramos con un elemento que son las escenas, cómo hemos
mencionado anteriormente una escena es la parte “jugable” de nuestro proyecto, los elementos
ya situados y cumpliendo todas las funciones que esperamos de ellos. Estas escenas también se
pueden guardar dentro de la carpeta del proyecto, lo cual yo por ejemplo he hecho para poder
tener versiones antiguas para recuperar en caso de que surgiese algún problema, aunque en
proyectos más complejos se pueden guardar escenas diferentes para distintos niveles por
ejemplo en un videojuego.
Una vez tenemos los elementos que vamos a necesitar en nuestro museo es hora de empezar a
elaborar la escena.
72
7.3.3 Crear instancias de nuestros modelos
Lo primero que hice fue añadir los modelos del museo, para eso simplemente arrastre el asset
con todos los modelos iniciales que importe previamente y lo arrastre a la escena. Esto ya me
permitía visualizar en primera instancia cómo iba a quedar el museo. A través de la ventana de
la escena nosotros podemos ver una previsualización de esta, por la que nos podemos mover
libremente.
Figura 63. Añadiendo los modelos a la escena (Fuente Propia)
Cómo podemos ver en la parte superior izquierda, Unity nos crea un objeto a partir de asset
“versión-texturizado-actual”, el cuál, si desplegamos posee instancias de cada uno de los
modelos que incluye. Una instancia es un elemento formado por varios componentes que lo
definen. En el caso de los modelos mencionados anteriormente, por ejemplo, tenemos un
objeto definido por la maya de la cual fue creado y sus transformaciones. Estas instancias
pueden poseer más componentes cómo un material, colisionadores, scripts etc. Uno de estos
componentes puede estar formado por un asset (cómo puede ser la maya del objeto), por lo
tanto, si el asset original es modificado todas las instancias que lo posean también sufren los
cambios y si este desaparece las instancias perderán las cualidades que este les aportase. En la
73
siguiente figura podemos ver cómo es el inspector que nos muestra todos los componentes que
conforman la instancia de la escultura del museo.
Figura 64. Inspector de la instancia de la escultura del museo (Fuente Propia)
Una vez incluidos nosotros podemos desplazar cualquiera de los elementos y cambiar su tamaño
y orientación, en mi caso no fue necesario en mayor medida ya que al importarlo todo cómo un
único objeto ya viene todo colocado desde 3ds Max, pero con los elementos que añadí a
posteriori sí que tuve que hacerlo.
7.3.4 Añadiendo materiales a nuestras instancias
Ahora mismo tenemos nuestra escena con nuestros objetos, pero no tienen texturas, ni
podemos movernos por ellos, por lo cual lo siguiente que vamos a hacer es añadirle color a la
escena.
Para dotar de texturas a los modelos tenemos que crear materiales y añadírselos cómo un
componente más a nuestras instancias. Este concepto de material es el mismo que ya
exploramos en Substance Painter, una unión de distintos mapas de texturas para obtener la
textura final del objeto.
Para ello simplemente tenemos que crear un material estándar, el cual nos genera un material
vacío con distintas opciones para añadir los mapas que hayamos generado y modificar algunos
74
parámetros, en nuestro caso cómo ya traemos las texturas completamente formadas, solo
tenemos que añadir sus imágenes en sus casillas correspondientes, lo cual podemos hacer
arrastrando la imagen a la casilla. Es importante en el caso de las imágenes de los mapas de
normales, definir el asset cómo un “NormalMmap”, para que Unity lo trate de la forma
adecuada. Una vez creado el material simplemente tenemos que arrastrarlo en todas las
instancias que queramos usarlo, se añadirá cómo un nuevo componente y ya tendremos
texturizado nuestro objeto. En la siguiente figura podemos ver el material de la escultura creado
a través de los tres mapas de texturas importados desde Substance Painter.
Figura 65. Inspector de la instancia de la escultura del museo con material aplicado (Fuente Propia)
7.3.5 Colisionadores
Otro componente importante que ha habido que aplicar a la mayoría de los modelos son los
colisionadores. Si nosotros ahora mismo introdujésemos un personaje en nuestro museo este
caería al vacío porque traspasaría los objetos (incluido el suelo). Hay que indicarle de alguna
forma que partes son sólidas y cuáles no, para esto se necesitan dos cosas, que el script del
personaje detecte colisiones e indique al movimiento del personaje que no puede atravesarlas,
75
y que los objetos posean colisionadores. El asset de personaje que nos ofrece Unity y el
controlador de VR, ya llevan incorporada esa lógica en sus scripts, por lo tanto, por lo único que
tenemos que preocuparnos es por aplicar colisionadores a nuestras instancias.
Un colisionador es una forma geométrica en tres dimensiones que establece los límites del
objeto, sí el controlador entra en contacto con estos límites no podrá atravesarlos. Uno puede
hacer un colisionador que tenga exactamente la misma geometría que el modelo, pero el
número de cálculos que tendrá que hacer nuestro script afectarán al rendimiento del proyecto,
por lo cual, se suelen optar por colisionadores más simples cómo cajas, cómo podemos apreciar
en la siguiente figura.
Figura 66. Añadiendo colisionadores a una instancia en Unity (Fuente Propia)
Para añadir un colisionador, simplemente tenemos que ir a “Add Component”, buscar el
colisionador deseado y añadirlo, Unity nos generará este colisionador de forma automática.
Cómo podemos ver en la figura anterior hemos elegido un “Box Collider”, este se representa en
la escena con unas líneas verdes (que luego no se verán en la ejecución del juego), un
colisionador de caja es obviamente menos preciso que uno que tenga la forma de la malla, por
lo que hay que sopesar si la falta de precisión afecta a tu experiencia o si es mejor ahorrarse
esos cálculos para mejorar el rendimiento.
Cómo ya mencioné anteriormente, si un componente está formado por un asset, si perdemos
este asset, perderemos sus propiedades, y obviamente, si borramos una instancia, perderemos
76
todos los componentes. Una vez ya tenía aplicados todos los componentes a mis instancias, si
quería añadir un nuevo elemento, no podía reimportar todo el museo, ya que esto significaría
tener que eliminar todas mis instancias y volver a tener que aplicarle materiales y colisionadores.
Una instancia puede tener un modelo asociado, pero eso no quiere decir que no se le pueda
cambiar ese modelo, por lo cual, si por ejemplo hemos tenido que modificar un elemento de la
escena, simplemente reimportamos ese modelo como un asset independiente, y en la instancia,
sustituimos la maya antigua por la nueva. Si quería añadir nuevos modelos. también debía
hacerlo de forma independiente, porque si los incluyese en el asset inicial que agrupaba todo,
tendría que haber eliminado las instancias y volverlas a importar.
7.3.6 FPS Controller
Debido a las situaciones excepcionales que se han dado durante el desarrollo del trabajo, no
pude disponer de las gafas de realidad virtual durante todo el proceso, por lo tanto, necesité
incorporar una instancia de un “FPS Controller” (Controlador de personaje en primera persona),
que ofrecía Unity dentro de su galería de asset básicos, para poder probar la escena y grabar los
videos para las presentaciones. Esta instancia ya nos ofrece una cámara para visualizar la escena
mientras controlemos al personaje, controlar su movimiento y giro de la cámara, script para
controlar las colisiones y scripts para escuchar el audio de la escena.
Figura 67. FPS Controller en Unity (Fuente Propia)
77
7.3.7 Iluminación
La iluminación es un punto fundamental del proyecto, al final, dependiendo de la luz, todo lo
que vemos puede llegar a ser completamente diferente. A la hora de implementar la luz se han
modificado dos aspectos, la configuración de iluminación global de la escena y los focos de luz
distribuidos por esta.
Iluminación global
Toda escena tiene una iluminación general, de forma qué, aunque no haya ningún foco de luz
en esa parte de la escena, podamos seguir viendo todo y no veamos una pantalla en negro. En
la vida real no existe este tipo de iluminación, pero a la hora de crear un proyecto de este tipo,
nos ayuda a simular la luz real de una forma sencilla.
Si en Unity accedemos a la opción “Window” -> “Rendering” -> “Lighting Settings” nos
desplegará un menú donde podremos modificar la iluminación global.
Figura 68. Configuración de iluminación global, biblioteca del museo oscura (Fuente Propia)
Cómo podemos observar en la figura anterior, si nosotros tenemos una iluminación global baja
y no tenemos ningún foco de luz, apenas podremos apreciar los elementos de la misma, sin
embargo, si modificamos opciones como “ambient color”, que indica el color de la iluminación
global y la intensidad de la misma, o los valores de multiplicación de la intensidad, ya podemos
obtener una leve iluminación para cualquier parte de la escena. En la siguiente figura, podemos
ver como varía la escena al aumentar estos valores.
78
Figura 69. Configuración de iluminación global, biblioteca del museo iluminada (Fuente Propia)
Focos de luz
Sin embargo, lo hecho anteriormente todavía no genera una iluminación realista, no hay
sombras ni reflejos. Para ello utilizamos los focos de luz puntuales, los hay de varios tipos, pero
vamos a centrarnos en los dos que he utilizado en el proyecto.
Por un lado, tenemos los puntos de luz, estos puntos de luz emiten iluminación en un área
esférica que podemos definir modificando su valor de rango. Este tipo de iluminación es
bastante útil para simular la luz que puede generar una bombilla. Podemos modificar valores
como el color y la intensidad de la misma. A diferencia de la iluminación global, podemos hacer
que generen sombras y modificar valores como la fuerza de estas (es decir, si son más o menos
difuminadas). En la siguiente imagen podemos ver cómo al aplicar puntos de luz a nuestra
biblioteca obtenemos una iluminación más realista.
79
Figura 70. Configuración de iluminación global, biblioteca del museo iluminada (Fuente Propia)
Por otro lado, tenemos las luces direccionales, estas a diferencia de las anteriores que emiten
la luz en todas direcciones, la emiten hacia un único foco en concreto, cómo si se tratase de una
bombilla dentro de un tubo. Al igual que en las luces anteriores, también podemos modificar su
color, intensidad y la forma de las sombras que genera.
En el caso de nuestro museo hemos utilizado una luz direccional para simular la luz del sol sobre
nuestro museo, porque, aunque el sol sea una esfera, una luz de este tipo, al estar tan lejos, una
luz direccional nos genera un resultado más parecido al que nos proporciona la luz solar.
Podemos apreciarlo en la siguiente imagen.
80
Figura 71. Luz direccional para emular el sol en nuestro proyecto en Unity (Fuente Propia)
7.3.8 Sonido
Otro elemento importante para aportar realismo a la escena es el sonido, aunque un museo sea
un sitio silencioso, la propia naturaleza genera sonidos e implementar una escena sin ninguno
la hubiese hecho menos realista.
Para empezar, necesitamos un “Audio Listener”, es un componente de Unity que indica desde
que parte de la escena se recibe el sonido para enviárselo a la tarjeta gráfica, normalmente esto
suele estar ubicado el personaje, ya que el usuario es el personaje, y el sonido debe llegar a
nosotros como si estuviésemos dentro de la escena, podríamos decir que son las “orejas” del
proyecto. Tanto el “Fps Controller” cómo el controlador de RV nos ofrecen uno ya incorporado.
Lo otro que necesitamos obviamente son los sonidos, nosotros podemos importar audios a
nuestro sistema y después tenemos que crear una instancia de reproducción de sonido. Para
lograrlo simplemente arrastramos el asset con el sonido importado en nuestro a la escena y nos
generara una instancia con un componente “Audio Source” con los parámetros que podremos
editar para este audio
81
Figura 72. Instancia de reproductor de sonido del agua en el museo (Fuente Propia)
En la figura anterior podemos apreciar una instancia para reproducir el sonido del agua en la
escena. En el componente “Audio Source” podemos modificar el archivo de sonido. Un factor
muy importante es definir si queremos un sonido en 2D o en 3D, un sonido 2D se reproducirá
de forma uniforme y al mismo volumen por toda la escena, mientras que el sonido 3D lo hará
en un área definida por una esfera y, además, ira variando su volumen en función de lo que te
alejes del centro de esta. Por ejemplo, para una música de fondo en un juego podríamos usar
un sonido en 2D, pero para el sonido del agua usamos un sonido 3D porque el agua solo suena
cuándo estas cerca de ella. El sonido 3D es mucho más realista y es el que he utilizado en mi
proyecto, depende completamente del “Audio Listener”, ya que es el que marca donde se
encuentran las “orejas” de nuestro personaje y nos servirá para generar sensación de sonido
envolvente
Cómo he dicho según te acercas al centro de la circunferencia, el sonido es más fuerte, nosotros
podemos modificar esa curva de volumen a nuestro gusto, por si queremos hacerlo de una
forma más uniforme, o de una forma más brusca, e incluso podemos definir qué, aunque
salgamos del rango, siempre quede un mínimo volumen de fondo, lo cual yo he utilizado en el
ejemplo anterior.
Si nosotros ponemos un sonido, este se reproducirá al iniciar la escena, y cuándo finalice dejará
de sonar, si queremos que sea un sonido permanente, cómo en el ejemplo anterior,
82
simplemente debemos activar la casilla de “Loop” y se reproducirá en bucle mientras dure la
escena.
7.3.9 Integración de Oculus Rift
La integración en Oculus Rift es bastante sencilla en nuestro proyecto, nosotros únicamente
queremos movernos por el entorno, por lo cual únicamente necesitamos controlar la cámara y
el movimiento del personaje, esto facilita mucho el trabajo.
La propia empresa de Oculus pone a nuestra disposición en la “Asset Store” una galería de asset
(completamente gratuita) llamada “Oculus Integration”, para que podamos importar en nuestro
proyecto e integrarlo de forma sencilla. Una vez lo hemos descargado e importado debemos
hacer algunas modificaciones.
En primer lugar, debemos ir a “Edit” -> “Project Settings” -> “Player” y habilitar la opción de
Virtual Reality Supported, para que Unity sepa que nuestro personaje va a trabajar con ese estilo
de visualización. Si por ejemplo nosotros activamos esa opción e introducimos el “FPS
Controller” este dejará de funcionar porque Unity espera que sea un “VR controller”.
Dentro de la galería de asset que hemos importado, se nos ofrece un prefabricado llamado OVR
Player Controller, lo único que debemos hacer es arrastrarlo a la escena cómo hacíamos con el
“FPS Controller”, y esto nos creara una instancia con un conjunto de objetos que poseerán los
scripts para el movimiento con los mandos de las Oculus y la integración de la cámara, incluido
el movimiento con la cabeza.
Figura 73. OVR Player controler en Unity (Fuente Propia)
83
7.3.10 Creando el ejecutable del proyecto
Ya tenemos nuestro proyecto listo nuestro proyecto, simplemente falta crear el ejecutable para
que cualquiera pueda disfrutar de la experiencia. Para esto simplemente tenemos que
seleccionar “File” -> “Build Settings” y se nos desplegará una ventana para que elijamos el tipo
de plataforma en la que queremos hacer el ejecutable de nuestro proyecto. Podemos elegir
entre Pc, Webgl, IOS, TV Os, Android, Xbox, Ps4, Windows y Facebook. Además de ello podemos
cambiar algunas opciones como la arquitectura, pero en nuestro proyecto no ha sido necesario.
Simplemente pulsamos en “Build” y Unity nos creara un ejecutable para poder disfrutar de
nuestra visita.
Figura 74. Creando el ejecutable de nuestro proyecto (Fuente Propia)
8. Resultados
En este apartado vamos a ver algunas capturas con él programa en marcha para ver cómo ha
quedado nuestro proyecto. En las imágenes no se puede apreciar la realidad virtual, por lo que
es recomendable probar la experiencia real.
84
Figura 75. Escultura en el exterior de la universidad con el museo de fondo (Fuente Propia)
Figura 76. Entrada al museo (Fuente Propia)
85
Figura 77. Pasillo principal (Fuente Propia)
Figura 78. Sala Alcudia I (Fuente Propia)
86
Figura 79. Sala Alcudia II (Fuente Propia)
Figura 80. Sala Ágora (Fuente Propia)
87
Figura 81. Sala Polivalent (Fuente Propia)
Figura 82. Patio interior y anfiteatro (Fuente Propia)
88
Figura 83. Sala MIC (Fuente Propia)
Figura 84. Biblioteca del museo (Fuente Propia)
89
Figura 85. Sala el CUB (Fuente Propia)
Figura 86. Sala el CUB vista desde sala NAIA (Fuente Propia)
90
9. Conclusiones
Tras un largo año de duro trabajo por fin puedo considerar por terminado mi proyecto. He
conseguido alcanzar todos los objetivos que me establecí en un principio y puedo decir, sin lugar
a duda, que estoy muy contento con el trabajo realizado.
Durante el desarrollo del proyecto han surgido problemas, no imagine que sería tan difícil
compaginar el trabajo con un proyecto de semejante magnitud, lo cual me ha hecho aprender
más a organizar el trabajo con los estudios, un problema que yo no había tenido hasta este
momento.
Durante el proyecto he aprendido muchísimo, es cierto que ya tenía bases por ejemplo en el
apartado de modelado, y por eso se puede apreciar que en ese punto fui bastante más fluido,
aunque obviamente aprendí cosas nuevas que no había utilizado hasta ahora. Pero, por otro
lado, procesos como el texturizado fueron un tema completamente nuevo para mí. Sí que es
cierto que durante la carrera habíamos visto pequeños conceptos, pero nunca había tenido que
enfrentarme a texturizar un terreno de forma real. Tuve que aprender prácticamente desde
cero, y sería mentira decir que no hubo momentos de frustración durante el proceso, ahora
mismo si tuviese que volver a hacer un proyecto similar, tomaría muchas decisiones
completamente distintas a las que tome durante todo el desarrollo, pero en eso consiste la
experiencia, en aprender de los errores puesto que nadie nace sabiéndolo todo.
Ha sido muy gratificante también trabajar por primera vez en mi vida con un proyecto que
implicase la realidad virtual, de verdad considero que es un tema muy interesante, con futuro,
y sobre todo muy entretenido desde el punto de vista de un desarrollador.
Aunque el resultado obtenido sea muy gratificante, es una pena no poder haber avanzado más
en el desarrollo del proyecto, lamentablemente tengo que centrarme en mi vida laboral y tengo
que empezar nuevos proyectos, pero me encantaría algún día ver la siguiente evolución de mi
proyecto y que alguien se animase a introducir las exposiciones permanentes y por otro lado me
encantaría que la universidad pueda utilizarlo como un recurso útil y que no quede en el fondo
del armario.
No tengo mucho más que añadir al respecto, estoy contento por haber completado mi trabajo,
por dar el último paso para ser ingeniero y sobre todo por poder decir que gracias a este
proyecto se hoy un poco más de lo que sabía ayer.
Top Related