Table of Contents

天空盒与背景

初级 设计师 程序员

**天空盒(Skybox)**是营造空间感和距离感错觉的背景。典型的天空盒背景包括天空、云彩、山脉和其他风景。由于天空盒是预渲染的,因此几乎不占用 GPU 和 CPU 资源。

你可以使用**立方体贴图(cubemap)**或 360° 全景纹理作为天空盒。你还可以用它们来照亮场景。

Note

目前,Stride 不支持天穹(skydome)或局部天空盒。

也可以显示 2D 背景,这在 2D 游戏中通常很有用。

立方体贴图

立方体贴图是一种六面纹理。当这些纹理在场景周围组装成一个立方体时,立方体贴图就能模拟出宽敞的 3D 环境。

远处行星天空盒

已合并的天空盒

目前,Game Studio 无法将图像文件转换为立方体贴图(.dds 文件)。请使用其他应用程序从单独的图像文件创建立方体贴图,例如:

在 Game Studio 中创建立方体贴图

你可以从场景中的某个位置捕获立方体贴图。

  1. 在场景编辑器中,将摄像机放置在要捕获立方体贴图的位置。摄像机朝向哪个方向并不重要,只有位置重要。

    通常,你应该在场景中心捕获立方体贴图,以获得最佳的全方位视图。

  2. 在场景编辑器工具栏中,打开 Lighting options 菜单。

    光照选项

  3. 在 Cubemap 下,单击 Generate。

  4. 浏览到要保存立方体贴图的磁盘位置,指定名称,然后单击保存。

Tip

我们建议你将立方体贴图保存在项目的 Resources 文件夹中。更多信息请参阅在版本控制中组织文件。

Game Studio 会在你指定的位置创建一个立方体贴图 .dds 文件。

360° 全景纹理

除了使用立方体贴图,你还可以使用 360° 全景纹理作为 3D 背景。

360° 全景图 游戏中的外观
全景纹理 游戏中的全景图

图片由 Texturify 提供

Note

请记住,后处理效果会影响天空盒的外观。如果它的效果与你的预期不符,请尝试更改后处理效果设置。

将立方体贴图或 360° 全景纹理添加到项目

添加方式与其他颜色纹理相同。

  • 在资产视图中,单击 添加资产,选择 Textures > Color texture,然后浏览到该文件。

    将纹理选择为资产类型

  • 也可以从 Windows 资源管理器将文件拖放到资产视图中,然后选择 Color texture。

    拖放背景纹理

创建天空盒

要创建天空盒,请将立方体贴图或 360° 全景纹理添加到背景组件中。

Stride 默认在项目中包含一个带有背景组件的实体。一个场景中同一时间只能有一个背景处于活动状态。如果有多个背景,Stride 只会加载第一个。

你可以根据需要将背景组件添加到任意数量的实体上。你可能想要包含多个背景,例如,如果你想在运行时切换天空盒。

添加背景实体

  1. 在场景视图中,选中要添加组件的实体。

    这可以是一个空实体。它在场景中的位置并不重要。

  2. 在属性网格(默认位于右侧)中,单击添加组件并选择 Background。

    添加背景组件

  3. 在 Texture 下,选择要用于天空盒的立方体贴图或 360° 全景纹理。

    背景组件属性

将天空盒用作光源

你可以使用天空盒来照亮场景。Stride 会分析天空盒纹理,并使用基于图像的光照(维基百科)生成光照。更多信息请参阅天空盒光源。

在运行时更换天空盒

以下代码更改背景中的立方体贴图:

public Texture cubemapTexture;
public void ChangeBackgroundParameters()
{
    // 从实体获取背景组件
	var background = directionalLight.Get<BackgroundComponent>();

	// 替换现有背景
	background.Texture = cubemapTexture;

	// 更改背景强度
	background.Intensity = 1.5f;
}

在全景图与立方体贴图之间转换

有多种工具可以在全景图与立方体贴图之间相互转换,包括:

设置 2D 背景

除了使用 3D 天空盒,你还可以将纹理显示为静态背景。这会将纹理显示为一张平面图像,无论摄像机如何移动都保持静止。这在 2D 游戏中通常很有用。

要做到这一点,请在 Background 组件属性中选择 2D background。

背景组件属性

如果你在使用立方体贴图时启用此选项,Stride 会将立方体贴图的第一个面作为背景。

使用视频作为天空盒

详情请参阅视频 - 使用视频作为天空盒。

另请参阅