你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

场景照明

默认情况下,远程渲染的对象将使用天空光照明。 对于大多数应用程序而言,静态天空光已经足够,但你可以为场景进一步添加动态光源。

重要

只有 PBR 材料会受光源影响。 颜色材料和点云总是会呈现出完全明亮的状态。

注意

当前不支持投射阴影。 Azure 远程渲染经过优化,可渲染大量几何体,必要时可使用多个 GPU。 在这种情况下,用于投影的传统方法效果不佳。

常用的光组件属性

所有光类型都派生自抽象基类 LightComponent 并且都具有以下属性:

  • Color:伽马空间中光的颜色。 将忽略阿尔法。

  • Intensity: 光的亮度。 对于点光和投射光,强度还定义光照射的距离。

点光

在 Azure 远程渲染中,PointLightComponent 不仅可以从单个点发出光,还可以从小球或小管道发出光,以模拟较柔和的光源。

PointLightComponent 属性

  • Radius: 默认半径为零,在这种情况下,光充当点光。 如果半径大于零,它将充当球形光源,从而更改镜面高光的外观。

  • Length: 如果 LengthRadius 都不是零,则光将充当管光。 此组合可用于模拟霓虹灯管。

  • AttenuationCutoff: 如果位于 (0,0) 的左侧,则光的衰减仅取决于其 Intensity。 但是,你可以提供自定义的最小/最大距离,让光的强度在该距离内线性缩减为 0。 此功能可用于强迫特定的光影响较小的范围。

  • ProjectedCubemap: 如果设置为有效的立方图,则纹理将投射到光的周围几何体上。 立方图的颜色通过光的颜色进行调制。

投射光

SpotLightComponent 类似于 PointLightComponent,但光被约束成圆锥体的形状。 圆锥体的方向由所有者实体的负 z 轴定义。

SpotLightComponent 属性

  • Radius: 与用于 PointLightComponent 的值相同。

  • SpotAngleDeg: 此间隔定义圆锥体的内角和外角(以度为单位)。 内角中的一切都以全亮度照亮。 将沿生成半影状效果的外角应用衰减。

  • FalloffExponent: 定义内锥角与外锥角之间的衰减过渡锐度。 值越高,过渡越尖锐。 默认值为 1.0,会导致线性过渡。

  • AttenuationCutoff: 与用于 PointLightComponent 的值相同。

  • Projected2dTexture: 如果设置为有效的 2D 纹理,则图像会投射到光照射的几何体上。 纹理的颜色通过光的颜色进行调制。

定向光

DirectionalLightComponent 模拟无限远的光源。 光照向所有者实体的负 z 轴方向。 实体的位置会被忽略。

没有其他属性。

性能注意事项

光源对渲染性能有明显的影响。 请谨慎使用它们,仅在应用程序需要时使用。 任何静态全局照明条件(包括静态方向分量)都可以通过自定义天空纹理实现,不需要额外的渲染成本。

API 文档

后续步骤