US3S8L2——天空盒

天空盒

天空盒(Skybox)是计算机图形学和三维游戏开发中常用于模拟背景的一种方式,它通常由一个立方体构成
字面上理解就是一个用于模拟天空的盒子(但是它不仅可以模拟天空,模拟室内等环境也是可以的)

在游戏场景中使用天空盒时,整个场景就被包围在了一个立方体中。这个立方体的每个面使用的技术就是立方体纹理技术。

它给我们带来的主要好处是:

  1. 可以创建逼真的背景

    天空盒使场景看起来更加逼真,因为它可以展示复杂和详细的背景

  2. 可以提高性能

    可以减少渲染远景所需的消耗,只需要纹理贴图就可以模拟远景的效果,而无需实际的在远处创建这些物体

  3. 全景视图

    天空盒的六个面(前、后、左、右、上、下)共同构成一个完整的环境,无论玩家向哪个方向看,都能看到连贯的背景图像

  4. 易于实现

    对于开发者来说,制作和应用天空盒相对简单,只需要准备好六个方向的纹理图像,并将它们应用到立方体纹理中即可

等等

通过天空盒来感受立方体纹理的作用

在Unity当中使用天空盒非常的简单,我们无需写任何代码就可以使用天空盒

  • 第一步:创建天空盒材质球

    1. 创建一个材质球

    2. 将其 Shader 设置为 Unity 自带的天空盒着色器(Skybox/6 Sided)

      image

    3. 为了让天空盒接缝处不要出现不匹配的现象,我们将准备的纹理的 Wrap Mode(循环模式)设置为 Clamp(夹紧)

      image

    4. 将我们准备好的 6 张纹理赋值给对应的面

      其中,pos​ 前缀代表正,neg​ 前缀代表负

      image

    5. 修改材质球上的各参数:

      • Tint Color(材质整体颜色)
      • Exposure(天空盒亮度)
      • Rotation(天空盒沿正y轴方向的旋转角度)

      image

  • 第二步:创建测试用场景

    1. 新建一个测试场景

    2. 设置天空盒

      1. 设置全局天空盒(影响所有摄像机)

        在 Lighting 面板中设置 Skybox Material 材质球

        image

      2. 单独为摄像机设置天空盒(可以覆盖全局设置)为摄像机添加 Skybox​ 组件并关联材质球

        image