Lens Flare (SRP) 组件
Unity 的可编程渲染管线 (SRP) 包括 Lens Flare (SRP) 组件,该组件可在场景中渲染镜头光晕。这是 SRP 中与内置渲染管线的 Lens Flare 组件(该组件与 SRP 不兼容)等效的组件。可以将 Lens Flare (SRP) 组件附加到任何游戏对象,但某些属性仅在 Lens Flare (SRP) 组件附加到光源时才会出现。
在 SRP 中创建镜头光晕
Lens Flare (SRP) 组件可控制镜头光晕的位置、衰减以及镜头光晕是否考虑遮挡等属性。对于定义镜头光晕外观的属性,SRP 使用 Lens Flare (SRP) Data 资源。每个 Lens Flare (SRP) 组件必须引用 Lens Flare (SRP) Data 资源才能在屏幕上显示镜头光晕。
要在场景中创建镜头光晕,请执行以下操作:
- 创建或选择一个游戏对象来附加镜头光晕。
- 在 Inspector 中,单击 Add Component。
- 选择 Rendering > Lens Flare (SRP)。目前,镜头光晕不会在场景中渲染,因为该组件未在其 Lens Flare Data 属性中引用 Lens Flare (SRP) Data 资源。
- 创建新的 Lens Flare (SRP) Data 资源(菜单:Assets > Create > Lens Flare (SRP))。
- 在 Lens Flare (SRP) 组件的 Inspector 中,将新的 Lens Flare (SRP) Data 资源分配给 Lens Flare Data 属性。
- 选择 Lens Flare (SRP) Data 资源,然后在 Inspector 中将新元素添加到 Elements 列表中。现在会在 Lens Flare (SRP) 组件的位置渲染默认的白色镜头光晕。有关如何自定义镜头光晕外观的信息,请参阅 Lens Flare (SRP) Data。
属性
General
属性 | 描述 |
---|---|
Lens Flare Data | 选择此组件控制的 Lens Flare (SRP) Data 资源。 |
Intensity | 使镜头光晕的强度倍增。 |
Scale | 使镜头光晕的缩放倍增。 |
Attenuation by Light Shape | 启用此属性可根据此组件附加到的光源类型自动更改镜头光晕的外观。 例如,如果此组件附加到聚光灯并且摄像机从后面观察此光源,则镜头光晕将不可见。 仅当此组件附加到光源时,此属性才可用。 |
Attenuation Distance | Attenuation Distance Curve 的起点和终点之间的距离。 该值介于 0 到 1 范围内(以世界空间表示)。 |
Attenuation Distance Curve | 在此资源附加到的游戏对象和摄像机之间的距离上淡出镜头光晕的外观。 |
Scale Distance | Scale Distance Curve 的起点和终点之间的距离。 该值介于 0 到 1 范围内(以世界空间表示)。 |
Scale Distance Curve | 在此资源附加到的游戏对象和摄像机之间的距离上更改镜头光晕的大小。 |
Screen Attenuation Curve | 根据与屏幕边缘的距离减轻镜头光晕的影响。可用于显示屏幕边缘的镜头光晕。 |
Occlusion
属性 | 描述 |
---|---|
Enable | 启用此属性可根据深度缓冲区对镜头光晕进行部分遮挡。 |
Occlusion Radius | 定义 Unity 距光源多远会遮挡镜头光晕。该值以世界空间表示。 |
Sample Count | CPU 用于生成 Occlusion Radius 的随机样本数。 |
Occlusion Offset | 使遮挡所在的平面进行偏移。较大的值使该平面更靠近摄像机。该值以世界空间表示。 例如,如果灯泡内部有镜头光晕,可以使用此属性对灯泡外部的遮挡进行采样。 |
Allow Off Screen | 启用此属性可允许摄像机视野外的镜头光晕影响当前视野。 |