Future is Bright: fase 2 activa

@ESDevelopers

Estamos contentos de anunciar que la fase 2 de Future is Bright, aka Technology.ShadowMap , está ahora activa en los ordenadores de sobremesa (Windows y macOS usando DX11, Metal, Vulkan) para el uso de todos los desarrolladores. Soporte para Windows 10 Store y Xbox llegara en la próxima semana. Muchísimas gracias al equipo que ha hecho esto posible. Ha sido un largo camino, pero finalmente lo hemos conseguido. Los miembros de este quipo son: @zeuxcg, @Qiblox, @ConvexRumbler, @Homeomorph, @NeoBuilder101, @vrtblox ustedes son fantásticos!
image

Novedades

Hemos añadido soporte de los mapas de sombreado en el motor de iluminación voxel. Ahora, cada objeto en la escena puede generar sombras. Actualmente, sólo el sol y la luna generan sombras; no podemos provocar sombras con las luces locales todavía, debido a algunas limitaciones internas de voxel, pero lo haremos en la fase 3 de Future is Bright.

¿Cómo lo uso?

Hay varias nuevas opciones disponibles:

Nueva tecnología de iluminación: ShadowMap
image1
Propiedad de suavidad de sombras que te permite especificar la difuminación de las sombras
image3
Ahora puedes controlar si una parte provoca sombras usando la nueva propiedad CastShadow. Esta propiedad también afecta las sombras voxel.
image4
¿Cómo funciona?

El mapeo de sombras es una forma común de hacer el sombreado de los juegos. Nuestra tarea es determinar, para cada píxel en la pantalla, si ese píxel es visible desde la perspectiva de la luz o no; en otras palabras, tenemos que resolver el problema de la visibilidad. Para resolver este problema, podemos renderizar la escena desde el punto de vista de la luz hasta una textura fuera de la pantalla (mapa de sombras). Para cada píxel de esta textura, almacenaremos distancia desde la luz hasta el provocador de sombra más cercano.

Después, para cada píxel en la pantalla, Podemos comparar la distancia hasta la fuente de luz con la información que almacenamos en el mapa de sombras. Si la distancia de los píxeles actual es mayor que la distancia almacenada, entonces estos píxeles están en la sombra, de otra manera el píxel está en luz.

Por supuesto, esta explicación esta sobre simplificada, hay un montón de detalles diferentes, trucos y optimizaciones para hacer que funcione mas rápido. Pero espero que la idea principal sea entendible. Para el mapa de sombras, tenemos que renderizar la escena por lo menos dos veces; la primera vez para generar el mapa de sombras y la segunda para la escena.

Es por esto que, desde un punto de vista de optimización, es vital renderizar tan pocos objetos como sea posible. Aquí hay algunos concejos de optimización.

  • Nunca traeremos objetos al mapa de sombras con la propiedad CastShadow deshabilitada; esta es una forma excelente de mejorar el rendimiento. Por ejemplo, si tu juego tiene muchos mesh de césped, es probable que quieras deshabilitarles las sombras.
  • Intentaremos no re-renderizar objetos estáticos. Si tu objeto no está en movimiento, esto mejorara el rendimiento.
  • Desafortunadamente, cuando la dirección del sol cambia, tenemos que invalidar nuestro mapa de sombra cargado. Mientras menos se mueva el sol mejor. Intenta no cambiar el tiempo del día con frecuencia. Puede que quieras considerar mover el sol en pequeños saltos y esperando entre estos ciclos, como algunos juegos hacen (Skyrim).

¿Cuál es el siguiente paso?

Ya estamos trabajando en la fase 2 para las plataformas iOS y teléfonos Android basados en Vulkan. Estamos trabajando incluso más duro en la fase 2.5, la cual presentará reflejos desde los materiales e iluminación basada en la imagen más físicamente realista.

También esperamos implementar incluso más optimizaciones de rendimiento para que, en ordenadores de sobremesa de una gama más baja, las sombras funcionen mejor.

En este momento no planeamos implementar soporte para los mapas de sombra para los sistemas OpenGL o Direct3D. Si usas OpenGL en estudio intencionalmente, cambia a automático o Vulcan/Metal dependiendo de la plataforma.

Estamos muy contentos y ansiosos de observar como sus juegos se verán con esta nueva increíble función.

Errores conocidos

Tenemos un par de errores conocidos que serán solucionados pronto; actualizaremos esta pagina una vez hayan sido resueltos:

  • Pegatinas en pares con CastShadows=False pueden seguir generando sombras
  • En móviles, ShadowMap se cambia a Legacy en vez de Voxel
14 Likes

¡Es hermoso! Esta iluminación significa un gran cambio para roblox! Imagínate roblox en 5 años con lo que viene y esto ¡OMG! Roblox no tiene limites, he encontrado hace unos días unos juegos que parecen que fueran de la vida REAL, realmente roblox es IMPRESIONANTE, Esto lo debería saber toda la gente

Aquí unas de mis construcciones con esta nueva iluminación,
Mis construcciones no son las mejores pero pues están bien :slight_smile:




I :heart: ROBLOX

6 Likes

Luce muy bien! ¿podrías darme el link del juego?, se ve muy interesante.

2 Likes

Este es el juego donde están todas las construcciones que he hecho y las que me has dicho que querías ver, :smiley: espero te gusten, link: https://www.roblox.com/games/2940622276/Builds-Test

1 Like

Wow, esto es realmente interesante. Están haciendo un muy buen trabajo con la iluminación de Roblox. Me encantaría aplicar estas iluminaciones a mis Juegos, por lástima el juego que tengo en desarollo no va a usar ShadowMap :confused:

1 Like