1 puntos por GN⁺ 2024-05-25 | Aún no hay comentarios. | Compartir por WhatsApp

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.

Aún no hay comentarios.