光轴
初级 设计师 美术人员
光轴(Light shaft),也称为god rays(体积光),是可见的光线光束。
Stride 的光轴基于阴影贴图,并使用光线步进(raymarching)而非后处理效果,因此即使光源本身不可见,光轴依然可见。任何投射阴影的光源(即点光源、平行光和聚光灯)都可以产生光轴。
要创建光轴,需要结合使用三个组件:光源、光轴和光轴包围体积。
1. 在图形合成器中启用光轴
默认情况下,Stride 在新项目中禁用光轴。要启用它们:
在资产视图(默认位于底部窗格)中,双击图形合成器资产。

图形合成器编辑器会打开。
选中 forward renderer 节点。

在属性网格(默认位于右侧)的 Light shafts 旁,单击
(替换)并选择 LightShafts。
确保选中 light shafts 复选框。

有关图形合成器的更多信息,请参阅图形合成器页面。
2. 添加光轴组件
在属性网格的 Light 组件属性中,确保选中 Shadow 复选框。

单击添加组件并选择 Light shaft。

Game Studio 会向实体添加一个光轴组件。
3. 添加包围体积
**光轴包围体积(Light shaft bounding volume)**定义产生光轴的区域。你可以将包围体积添加到平行光所在的同一实体上,但通常更简单的方法是将它添加到单独的实体上。
在资产视图中,单击添加资产。
在 Models 下,选择形状符合你需要的模型。例如,如果使用立方体,光轴将在立方体形状的区域内产生。

选择资产窗口会打开。

该模型不需要材质,因此单击取消以创建没有材质的模型。
在场景中创建一个空实体。目前它放在哪里并不重要,之后可以重新定位。
选中该实体后,在属性网格中单击添加组件并选择 light shaft bounding volume。

在 light shaft bounding volume 组件属性中,于 light shaft 旁单击
(选择资产)。在实体选择器中,选中包含要产生光轴的平行光的实体,然后单击确定。
在 light shaft bounding volume 组件属性中,于 Model 旁单击
(选择资产)。在选择资产窗口中,选中你创建的模型,然后单击确定。

该模型定义了光轴包围体积的形状。
使用 transform 组件定位并缩放该实体,使其覆盖要产生光轴的区域。
Tip
要在场景编辑器中显示或隐藏光轴包围体积,请在场景编辑器工具栏中打开 gizmo options 菜单,并使用 Light shaft bounding volumes 复选框。

光轴属性

| 属性 | 说明 |
|---|---|
| Density | 值越高,光轴越亮 |
| Sample count | 值越高,光轴效果越好,但占用更多 GPU |
| Process bounding volumes separately | 在透过不同的包围盒观察时保持光轴质量,但占用更多 GPU |
光轴的图形合成器属性
要访问这些属性,请在图形合成器编辑器中选中 forward renderer 节点并展开 Light Shafts。
这些属性全局应用于场景中的所有光轴。

| 属性 | 说明 |
|---|---|
| Bounding volume buffer downsample level | 值越低,体积缓冲区域越精确,但占用更多 GPU |
| Light buffer downsample level | 值越低,光轴越清晰,但占用更多 GPU |
优化光轴
光轴在黑暗环境中效果最好。你可以调整光源和光轴组件的属性以获得不同的效果——例如,更改光源颜色(在光源组件属性中)或光轴密度(在光轴组件属性中)。
多个光轴相互透过时可能在视觉上显得杂乱,如下面的截图所示:

要减少这种效果,请在光轴组件属性中降低 density 并提高 sample count。

也可以添加额外的包围体积并分别处理它们。为此:
创建额外的包围体积,并将它们放置在要产生光轴的区域上。请确保包围体积不重叠,否则会使光轴异常明亮。
在光轴组件属性中,确保选中 Process bounding volumes separately。

Note
分别处理包围体积会占用更多 GPU。