Voxel Displacement Renderer — modernización de la estética retro 3D
Motivación estética
- Los juegos 3D de principios y mediados de los 90 (Doom, Quake, Duke Nukem) tuvieron una gran influencia tanto en la tecnología como en la jugabilidad.
- En tiempos recientes, las limitaciones visuales de esos juegos se perciben como un encanto retro.
- La geometría de los entornos era simple e imaginativa, y las texturas tenían bordes de píxel bien definidos.
- Este estilo se parece a la abstracción estilizada del pixel art 2D.
- Sigue siendo popular en juegos modernos inspirados en lo retro y en títulos indie 3D.
Cómo suelen funcionar los vóxeles
- Una malla de vóxeles es una cuadrícula tridimensional en la que cada celda con forma de cubo está llena o vacía.
- Los vóxeles grandes tienen textura, y los pequeños son de color sólido.
- Para crear entornos grandes, se puede colocar toda la geometría en una cuadrícula compartida o ubicar mallas de vóxeles independientes dentro del mismo espacio.
- Si decides construir un mundo de juego con vóxeles, necesitas crear geometría voxelizada, y la lógica de renderizado y de jugabilidad debe operar a nivel de vóxel.
- Agregar o quitar geometría en una malla de vóxeles es sencillo.
Cómo suele funcionar el desplazamiento
- El mapeo de desplazamiento define cuánto debe expandirse hacia adentro o hacia afuera cada píxel de una textura desde la superficie de la malla.
- El software de modelado 3D puede subdividir la malla y desplazar los nuevos vértices para aplicar el mapeo de desplazamiento.
- En gráficos en tiempo real, se usa junto con efectos de sombreado de superficie para generar detalle geométrico fino sin cambiar la forma física de la malla.
- El shell mapping permite ver el desplazamiento a lo largo de la silueta de un objeto.
Lo que hice: una mezcla de vóxeles y mapeo de desplazamiento
- Se usan mallas low-poly convencionales para modelar entornos al estilo de los juegos 3D clásicos, y se aplican mapas de desplazamiento para definir detalle superficial a escala de vóxel.
- Con una malla triangular y la información limitada de los mapas de desplazamiento, el renderizador transforma los datos geométricos que se cargarán en la GPU.
- Las texturas se preprocesan para generar la información necesaria durante el renderizado.
- Se renderiza geometría de desplazamiento voxelizado usando el estado de la malla y de la textura.
Creación de assets artísticos y entornos
- Hay que crear dos tipos de assets: texturas y mallas.
- Cada textura se compone de un mapa de albedo y un mapa de desplazamiento.
- Las mallas son mallas triangulares low-poly convencionales con mapeo de texturas.
- Existen restricciones en la estructura de la malla y en el mapeo de texturas.
Ventajas de este enfoque
- Permite crear contenido con un flujo de trabajo familiar.
- Como los entornos se construyen con mallas triangulares, no hace falta escribir un motor físico ni un controlador de personaje desde cero.
- La mayoría de los sistemas de jugabilidad no necesita preocuparse por el detalle voxelizado.
Planes a futuro
- Hay muchas funciones por agregar o mejorar en el propio renderizador.
- Se está investigando cómo integrar objetos pequeños u objetos animados.
- También se planea mejorar la implementación de iluminación.
- Se considera que integrar esta técnica de renderizado en un juego es una ruta realista.
Opinión de GN⁺
- Desafío técnico: combinar vóxeles y mapeo de desplazamiento es una tarea muy difícil. Requiere mucho trabajo mecánico personalizado.
- Practicidad: es probable que esta técnica pueda integrarse en motores de juego existentes. Eso permitiría a los desarrolladores aprovechar sistemas ya establecidos.
- Atractivo estético: reinterpretar de forma moderna la estética de los juegos 3D retro puede resultar muy atractivo para muchos jugadores.
- Consideraciones de rendimiento: esta técnica de renderizado necesita optimización de rendimiento, especialmente en renderizado en tiempo real.
- Potencial futuro: esta técnica podría aplicarse a varios géneros de juegos y ser especialmente útil para desarrolladores indie.
Aún no hay comentarios.