Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Referencia / Cita:
“González Muñoz C., Gracia Bandrés, M.A., Sanagustín Grasa, L., Romero San Martín, D. –
(2015) TecsMedia: Análisis Motores gráficos y su aplicación en la industria”
www.aragon.es
www.itainnova.es
Índice
01. RESUMEN EJECUTIVO .................................................................................... 3
06.1. Aplicaciones basadas en motores gráficos para validar prototipos de diseño ........................ 12
06.2. Aplicaciones basadas en motores gráficos para simulaciones de elementos finitos ............... 13
2
01. Resumen ejecutivo
Los motores gráficos son entornos de trabajo diseñados específicamente para
la creación y desarrollo de video juegos. En sus orígenes las arquitecturas
software empleadas para el desarrollo de video juegos no establecían una
separación clara entre distintos componentes y fue a mediados de los 90
cuando el desarrollo del juego Doom mostro una arquitectura que permitía la
reutilización de muchos componentes.
3
02. Introducción a los motores gráficos
Se define como motor gráfico al framework de software diseñado para crear y
desarrollar videojuegos. Los desarrolladores de videojuegos pueden usar los
motores para crear videojuegos para consola, dispositivos móviles,
ordenadores o dispositivos de Realidad Virtual.
4
03. Motores de juegos o game engines
En esta sección, se incluyen los distintos tipos de game engines o motores de
juegos principales:
03.1. CryEngine
03.2. Unity
Nacido en 1998, Epic Games empleó este motor para desarrollar Unreal.
Desde entonces se ha convertido en un referente en muchos aspectos como
en los juegos de primera persona (FPS). Unreal Engine 4 (UE4) es la última
versión y destaca por herramientas para la creación de Shaders, programación
de lógicas de juego y gran entorno gráfico de desarrollo.
En el año 2008, Sony presentó esta plataforma para hacer más accesible el
desarrollo de juegos para sus consolas. PhyreEngine se ha convertido en la
herramienta de referencia para la creación de juegos para la PlayStation 4,
PlayStation 3, PlayStation 2, PlayStation Vita y plataformas PSP. Permite la
utilización de características hardware específicas de dichas consolas como la
ejecución en paralelo sobre su sistema de procesadores en Celda, un conjunto
de procesadores RISC PowerPC de 64 bits a 3.2GHz de frecuencia y diseñado
para una ejecución real en paralelo de los procesos. Se ofrece de forma
gratuita a todos los desarrolladores licenciados por Sony como parte del SDK
de PlayStation. Más de 90 juegos se han desarrollado con este motor como
Flower o Journey, AMY, Souls o Dark Souls entre otros.
6
04. Arquitectura de los motores en tiempo de
ejecución
Los grandes bloques en que se puede organizar un Game Engine se muestran
en la siguiente imagen pudiéndose hacer uso de ellos según las necesidades
7
04.1. Capas dependientes del dispositivo
Por debajo estas capas se apoyan en capas comunes a todos ellos, por lo que
las capas inferiores se pueden considerar agnósticas en cuanto a la
plataforma.
Motor de Renderizado
El motor de renderizado o de presentación es el componente más complejo de
cualquier motor gráfico. Como en otras partes de la arquitectura, esta capa se
divide habitualmente en subcapas para encargarse de aspectos específicos de
la presentación y dependen a nivel más bajo de una capa dependiente del
dispositivo para la representación gráfica como se puede ver en la Figura 1.
8
Figura 1: Arquitectura del motor de renderizado a bajo nivel
Esta capa se encarga también de trasladar la vista del mundo a través de una
matriz de transformación a la vista de una o varias cámaras y a una proyección
3D tratando aspectos tales como el campo de vista y los planos de cortes
cercanos y lejanos para evitar la representación de objetos no relevantes para
la posición actual de las cámaras.
9
Efectos Visuales
Ciertos efectos requieren algoritmos específicos que fácilmente pueden ir
sustituyéndose por nuevos que mejoren los resultados o incorporen más
características. Sistemas de partículas (humo, fuego, agua, etc), sistemas de
reproducción o calco para mostrar gran cantidad de elementos del mismo tipo
como los impactos de bala, pisadas, etc. Anti aliasing para reducir los bordes
recortados en las imágenes, efectos de luz como saturación, HDR (Hight
Dynamic Range), etc. entrarían dentro de este grupo.
Capa frontal
Todos los motores gráficos componen una capa normalmente 2D para
presentar información relevante al entorno, así como elementos gráficos que
sirvan al usuario para interactuar con el sistema; en un juego, se emplea para
mostrar los puntos conseguidos, los menús, las vidas restantes, etc.
Tecnologías emergentes hoy día permiten realizar este tracking de forma muy
eficiente y existen ya en el mercado productos como Samsung Gear VR,
Oculus Rift o el proyecto de Sony, denominado Morpheus, que cada uno con
su enfoque y diferencias permiten desarrollar proyectos de Realidad Virtual con
un alto grado de realismo y complejidad.
Los distintos motores gráficos han ofrecido soporte a estos entornos tan
específicos en sus distintas versiones, comprometiendo en mayor o menor
medida la portabilidad de los desarrollos.
11
Dispositivo Descripción
Stereo Stereo 3D via D3D11 o OpenGL.
Split Duplica la salida side by side (cámara
izquierda y derecha).
Oculus Dispositivos Oculus VR.
Morpheus Dispositivo Sony Morpheus VR para
Playstation 4
Figura 3: Tipos de dispositivos VR soportados por Unity de forma nativa
En este campo la gran ventaja que presenta estas tecnologías es que permiten
obtener un feedback rápido del producto que se está diseñando. Esto es muy
interesante desde el punto de vista de las ingenierías ya que les permite a
través de tecnologías de RV, cuando se pongan las gafas tener una
visualización a escala real de los prototipos que han diseñado y por lo tanto
tener un feedback rápido del diseño lo que permite tener iteraciones más cortas
y eliminar errores antes de fabricar ninguna muestra.
Este uso también es interesante desde el punto de vista de los clientes ya que
pueden ver lo que van a adquirir, se les puede mostrar los productos en sus
instalaciones y, por lo tanto, entienden mejor lo que compran por lo que tienen
gran aplicación enfocadas a marketing y ventas.
12
06.2. Aplicaciones basadas en motores gráficos para
simulaciones de elementos finitos
En este caso se utilizan las tecnologías para comprender mejor los resultados
de una simulación ya que permiten tener visualizaciones a escala real y se
tiene la posibilidad de animar estas simulaciones y ver los datos simulados
además de explorar los resultados.
13
07. Conclusiones
A lo largo de este documento se ha presentado un estado del arte presentando
la arquitectura y componentes principales de los motores de juegos (game
engines) y se han presentado distintos motores gráficos: Cry Engine, Unity,
Unreal Engine, Microsoft XNA, etc.
14
08. Referencias
[1] Game Engine Book, http://www.gameenginebook.com/figures.html
[2] Jason Gregory, Game Engine Architecture, 2009.
[3] Alan B. Craig, William R Sherman, and Jefrey D. Will, “Developing Virtual
Reality Applications” 2 (2013).
[4] Motor gráfico Untiy, https://unity3d.com/es
[5] Motor gráfico Unreal, https://www.unrealengine.com/blog
[6] Oculus Rift, https://www.oculus.com/en-us/
[7] Proyecto Morpheus, https://www.playstation.com/en-us/explore/project-
morpheus/
15