Iluminación de escenas
De forma predeterminada, los objetos representados de forma remota se iluminan con un color celeste claro. Para la mayoría de las aplicaciones, la luz del cielo estática ya es suficiente, pero puede agregar más fuentes de luz a la escena.
Importante
Solo los materiales de PBR afectan a las fuentes de luz. Los materiales de color y las nubes de puntos siempre aparecen completamente brillantes.
Nota:
Actualmente no se admite la proyección de sombras. Azure Remote Rendering está optimizado para representar enormes cantidades de geometría, mediante el uso de varias GPU si es necesario. Los enfoques tradicionales para la proyección de sombras no funcionan bien en estos escenarios.
Propiedades comunes de componentes de luz
Todos los tipos de luz derivan de la clase base abstracta LightComponent
y comparten estas propiedades:
Color: color de la luz en el espacio Gamma. Se omite Alpha.
Intensidad: el brillo de la luz. En el caso de las luces focales y puntuales, la intensidad también define la distancia a la que la luz llega.
Luz puntual
En Azure Remote Rendering, el PointLightComponent
no solo puede emitir luz desde un único punto, sino también desde una esfera pequeña o un tubo pequeño, para simular fuentes de luz más suaves.
Propiedades de PointLightComponent
Radius: el radio predeterminado es cero, en cuyo caso la luz actúa como una luz puntual. Si el radio es mayor que cero, actúa como una fuente de luz esférica, que cambia la apariencia de los reflejos especulares.
Length: si
Length
yRadius
son distintos de cero, la luz actúa como una luz de tubo. Se puede usar esta combinación para simular tubos de neón.AttenuationCutoff: si se deja en (0,0), la atenuación de la luz solo depende de su valor de
Intensity
(intensidad). Sin embargo, puede proporcionar distancias mínimas y máximas personalizadas sobre las que la intensidad de la luz se escale linealmente a 0. Esta característica se puede usar para aplicar un intervalo menor de influencia de una luz concreta.ProjectedCubemap: si se establece en un mapa de cubo válido, la textura se proyecta en la geometría circundante de la luz. El color del mapa de cubo se modula con el color de la luz.
Luz focal
El valor de SpotLightComponent
es similar al de PointLightComponent
, pero la luz está restringida a la forma de un cono. La orientación del cono se define mediante el eje z negativo de la entidad propietaria.
Propiedades de SpotLightComponent
Radius: igual que para
PointLightComponent
.SpotAngleDeg: este intervalo define el ángulo interno y externo del cono, medido en grado. Todo el contenido dentro del ángulo interior se ilumina con un brillo completo. Se aplica un descenso hacia el ángulo exterior que genera un efecto similar a la penumbra.
FalloffExponent: define cómo se realiza la transición de caída de forma nítida entre el ángulo interno y el cono exterior. Un valor mayor produce una transición más nítida. El valor predeterminado de 1,0 da como resultado una transición lineal.
AttenuationCutoff: igual que para
PointLightComponent
.Projected2dTexture: si se establece en una textura 2D válida, la imagen se proyecta en geometría en la que brilla la luz. El color de la textura se modula con el color de la luz.
Luz direccional
El valor de DirectionalLightComponent
simula una fuente de luz que está infinitamente lejos. La luz destaca en la dirección del eje Z negativo de la entidad propietaria. Se omite la posición de la entidad.
No hay propiedades adicionales.
Consideraciones de rendimiento
Las fuentes de luz tienen un efecto significativo en el rendimiento de la representación. Úselas con cuidado y solo si la aplicación lo requiere. Cualquier condición de iluminación global estática, incluido un componente direccional estático, se puede lograr con una textura de cielo personalizada, sin ningún costo de representación adicional.
Documentación de la API
- Clase LightComponentBase de C#
- Clase PointLightComponent de C#
- Clase SpotLightComponent de C#
- Clase DirectionalLightComponent de C#
- Clase LightComponentBase de C++
- Clase PointLightComponent de C++
- Clase SpotLightComponent de C++
- Clase DirectionalLightComponent de C++