Table of Contents

光轴

初级 设计师 美术人员

光轴(Light shaft),也称为god rays(体积光),是可见的光线光束。

Stride 的光轴基于阴影贴图,并使用光线步进(raymarching)而非后处理效果,因此即使光源本身不可见,光轴依然可见。任何投射阴影的光源(即点光源、平行光和聚光灯)都可以产生光轴。

要创建光轴,需要结合使用三个组件:光源、光轴和光轴包围体积。

1. 在图形合成器中启用光轴

默认情况下,Stride 在新项目中禁用光轴。要启用它们:

  1. 在资产视图(默认位于底部窗格)中,双击图形合成器资产。

    图形合成器资产

    图形合成器编辑器会打开。

  2. 选中 forward renderer 节点。

    选择前向渲染器

  3. 在属性网格(默认位于右侧)的 Light shafts 旁,单击 蓝色箭头按钮(替换)并选择 LightShafts。

    选择光轴

  4. 确保选中 light shafts 复选框。

    启用光轴

    有关图形合成器的更多信息,请参阅图形合成器页面。

2. 添加光轴组件

  1. 在场景中,选中包含要产生光轴的光源的实体。该光源必须是投射阴影的光源(即点光源、平行光或聚光灯)。

  2. 在属性网格的 Light 组件属性中,确保选中 Shadow 复选框。

    启用阴影

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

    添加光轴组件

    Game Studio 会向实体添加一个光轴组件。

3. 添加包围体积

**光轴包围体积(Light shaft bounding volume)**定义产生光轴的区域。你可以将包围体积添加到平行光所在的同一实体上,但通常更简单的方法是将它添加到单独的实体上。

  1. 在资产视图中,单击添加资产。

  2. 在 Models 下,选择形状符合你需要的模型。例如,如果使用立方体,光轴将在立方体形状的区域内产生。

    立方体模型

    选择资产窗口会打开。

    选择资产

  3. 该模型不需要材质,因此单击取消以创建没有材质的模型。

  4. 在场景中创建一个空实体。目前它放在哪里并不重要,之后可以重新定位。

  5. 选中该实体后,在属性网格中单击添加组件并选择 light shaft bounding volume。

    添加光轴包围体积组件

  6. 在 light shaft bounding volume 组件属性中,于 light shaft 旁单击 手形图标(选择资产)。

  7. 在实体选择器中,选中包含要产生光轴的平行光的实体,然后单击确定。

  8. 在 light shaft bounding volume 组件属性中,于 Model 旁单击 手形图标(选择资产)。

  9. 在选择资产窗口中,选中你创建的模型,然后单击确定。

    选择模型

    该模型定义了光轴包围体积的形状。

  10. 使用 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。

密度系数

也可以添加额外的包围体积并分别处理它们。为此:

  1. 创建额外的包围体积,并将它们放置在要产生光轴的区域上。请确保包围体积不重叠,否则会使光轴异常明亮。

  2. 在光轴组件属性中,确保选中 Process bounding volumes separately。

独立的包围体积

Note

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

另请参阅