23.高级纹理-立方体纹理-天空盒
23.1 知识点
准备工作
- 导入天空盒资源
天空盒是什么
天空盒(Skybox)是计算机图形学和三维游戏开发中常用于模拟背景的一种方式,它通常由一个立方体构成。字面上理解就是一个用于模拟天空的盒子(但是它不仅可以模拟天空,模拟室内等环境也是可以的)。在游戏场景中使用天空盒时,整个场景就被包围在了一个立方体中。这个立方体的每个面使用的技术就是立方体纹理技术。
它给我们带来的主要好处是:
可以创建逼真的背景
天空盒使场景看起来更加逼真,因为它可以展示复杂和详细的背景。可以提高性能
可以减少渲染远景所需的消耗,只需要纹理贴图就可以模拟远景的效果,而无需实际的在远处创建这些物体。全景视图
天空盒的六个面(前、后、左、右、上、下)共同构成一个完整的环境,无论玩家向哪个方向看,都能看到连贯的背景图像。易于实现
对于开发者来说,制作和应用天空盒相对简单,只需要准备好六个方向的纹理图像,并将它们应用到立方体纹理中即可。
通过天空盒来感受立方体纹理的作用
主要步骤
在Unity当中使用天空盒非常简单,我们无需写任何代码就可以使用天空盒。
创建天空盒材质球
- 创建一个材质球。
- 将其Shader设置为Unity自带的天空盒着色器(Skybox/6 Sided)。
- 为了让天空盒接缝处不要出现不匹配的现象,我们将准备的纹理的Wrap Mode(循环模式)设置为Clamp(夹紧)。
- 将我们准备好的6张纹理赋值给对应的面。
- 修改材质球上的各参数:Tint Color(材质整体颜色),Exposure(天空盒亮度),Rotation(天空盒沿正Y轴方向的旋转角度)。
创建测试用场景
- 新建一个测试场景。
- 设置天空盒:
- 设置全局天空盒(影响所有摄像机),在Window/Lighting面板中设置材质球。
- 单独为摄像机设置天空盒(可以覆盖全局设置),为摄像机添加Skybox组件并关联材质球。
创建材质,将其Shader设置为Unity自带的天空盒着色器(Skybox/6 Sided)
为了让天空盒接缝处不要出现不匹配的现象,我们将准备的纹理的Wrap Mode(循环模式)设置为Clamp(夹紧)
将我们准备好的6张纹理赋值给对应的面,可以尝试修改材质球上的各参数:Tint Color(材质整体颜色),Exposure(天空盒亮度),Rotation(天空盒沿正y轴方向的旋转角度),查看效果
建一个测试场景,设置天空盒,设置全局天空盒(影响所有摄像机)在Window/Lighting面板中设置材质球
如果只想影响到某个摄像机,即只想单独为摄像机设置天空盒,为摄像机添加Skybox组件并关联材质球,这个设置可以覆盖全局设置
23.2 知识点代码
Lesson23_高级纹理_立方体纹理_天空盒.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Lesson23_高级纹理_立方体纹理_天空盒 : MonoBehaviour
{
void Start()
{
#region 准备工作
//导入天空盒资源
#endregion
#region 知识点一 天空盒是什么?
//天空盒(Skybox)是计算机图形学和三维游戏开发中常用于模拟背景的一种方式,它通常由一个立方体构成
//字面上理解就是一个用于模拟天空的盒子(但是它不仅可以模拟天空,模拟室内等环境也是可以的)
//在游戏场景中使用天空盒时,整个场景就被包围在了一个立方体中。
//这个立方体的每个面使用的技术就是立方体纹理技术。
//它给我们带来的主要好处是:
//1.可以创建逼真的背景
// 天空盒使场景看起来更加逼真,因为它可以展示复杂和详细的背景
//2.可以提高性能
// 可以减少渲染远景所需的消耗,只需要要纹理贴图就可以模拟远景的效果,而无需实际的在远处创建这些物体
//3.全景视图
// 天空盒的六个面(前、后、左、右、上、下)共同构成一个完整的环境,无论玩家向哪个方向看,都能看到连贯的背景图像
//4.易于实现
// 对于开发者来说,制作和应用天空盒相对简单,只需要准备好六个方向的纹理图像,并将它们应用到立方体纹理中即可
//等等
#endregion
#region 知识点二 通过天空盒来感受立方体纹理的作用
//在Unity当中使用天空盒非常的简单
//我们无需写任何代码就可以使用天空盒
//第一步:创建天空盒材质球
// 1.创建一个材质球
// 2.将其Shader设置为Unity自带的天空盒着色器(Skybox/6 Sided)
// 3.为了让天空盒接缝处不要出现不匹配的现象,我们将准备的纹理的Wrap Mode(循环模式)设置为Clamp(夹紧)
// 4.将我们准备好的6张纹理赋值给对应的面
// 5.修改材质球上的各参数:Tint Color(材质整体颜色),Exposure(天空盒亮度),Rotation(天空盒沿正y轴方向的旋转角度)
//第二步:创建测试用场景
// 1.新建一个测试场景
// 2.设置天空盒
// 2-1:设置全局天空盒(影响所有摄像机)在Window/Lighting面板中设置材质球
// 2-2:单独为摄像机设置天空盒(可以覆盖全局设置)为摄像机添加Skybox组件并关联材质球
#endregion
}
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com