kxalvictor escribió:hola gente.
tengo que hacer un trabajo relacionando sistemas de información geográfica con motores gráficos de videojuegos y a ver si me podéis echar una mano.
lo que necesito (entre otras cosas que ya hago yo, qué remedio...) es saber motores gráficos y ver comparaciones de cómo representan el medio "inengine" y la realidad, fundamentalmente orientado a vegetaciones y objetos inanimados (ciudades o agua podrían ser interesantes, la arena de uncharted 3,...cosas así).
también me interesa el tema de físicas en la vegetación, como tiene el cryengine.
alguien controla del tema? alguien puede echarme una mano?
En Unity tienes un módulo bastante simple para crear vegetación; en UE3 (y por extensión, 4) tienes el ídem pero más complejo y con aleatorización de formas. En CryEngine ídem que en UE aunque con un GUI un poco más confuso, al menos para mi gusto. En todos ellos se puede ajustar el modelo de colisiones (cómo reacciona la planta con el jugador y el entorno) y, por separado, un historial de animaciones normal como a consecuencia de eventos (en ambos casos, lo que serían scripts). En ese historial se registra el viento que mece la planta, con que fuerza, en qué dirección, la flexibilidad de las ramas... etc (estas características varían sensiblemente de motor a motor).
Todos ellos tienen gestores de LOD que afectan a geometría y texturizado (pasando de modelo 3D a sprite en casos extremos, por ejemplo).
El agua siempre es una puta mierda muy aparente, eso si... al menos la que se usa normalmente en Unity y UE. No tiene entidad como "agua" sino que es superficie plana con texturas y shaders reshulones. Dicho esto, ambos dos pueden tener dinámicas de fluidos "reales" pero no se suelen usar ingame. Unity tiene compatibilidad con PhysX en la versión Pro. UE3 también, como se ve en Batman: Arkham City y Borderlands 2, pero no recuerdo si el UDK la tiene. En CryEngine 3 (o mejor dicho, en los Crysis 2 y 3) el agua es geometría scriptada por lo que no es una "superficie plana" como suele ser en los otros dos pero tampoco tiene físicas "reales" en el sentido de que podrías llenar un vaso de agua interactuando con ella... aunque podría hacerse. La arena de Uncharted son scripts 100%. El agua de Uncharted, por contra, está generado proceduralmente. Como en CryEngine 3, es geometría "dinámica" pero no tiene físicas reales.
Ahora mismo el agua "real" en juegos sigue teniendo el efecto "gelatina" además de ser computacionalmente muy cara y es poco práctica.
Respecto a la paridad realidad-in engine lo que estás buscando son deferred engines. CryEngine 3 y Unity lo son. UE3 es un forward engine. UE4 es deferred engine. La idea no es tanto que un deferred engine per se consigue una mayor aproximación a la realidad sino que puedes meter más fuentes de luz y calcular más rápido la iluminación que obtener el mismo resultado en un forward engine (llevaría más tiempo).
Dicho de otra forma, un escenario "de Crysis 3" se movería muy lento (injugable) metido a pelo en UE3.
Muy somero. Disculpa cualquier incorrección.