创建立方体贴图的最快方法是从专门布局的纹理导入它们。在项目窗口中选择纹理,从而在检视面板窗口中查看导入设置。在导入设置中,将__纹理类型 (Texture Type)__ 设置为__默认 (Default)、法线贴图 (Normal Map)__ 或__单通道 (Single Channel),并将__纹理形状 (Texture Shape) 设置为__立方体 (Cube)__。然后,Unity 自动将纹理设置为立方体贴图。
系统支持几种常用的立方体贴图布局(在大多数情况下,Unity 会自动检测到它们)。
支持垂直和水平交叉布局以及立方体贴图面的列和行:
另一种常见布局是 LatLong(纬度/经度,有时称为圆柱形)。全景图像常采用此布局:
还可以找到 SphereMap(球形环境贴图)图像:
默认情况下,Unity 会查看导入纹理的宽高比以确定上述布局中最合适的布局。导入时,会生成一个立方体贴图,可将其用于天空盒和反射:
Glossy Reflection 选项可用于立方体贴图纹理,而这些纹理将由反射探针使用。该模式以特殊方式(镜面卷积)处理立方体贴图 Mipmap 级别,然后可用于模拟不同平滑度表面的反射:
另一种有用的技巧是使用脚本从 Unity 场景的内容生成立方体贴图。Camera.RenderToCubemap 函数可从场景中的任何所需位置记录六个面图像;该函数的脚本参考页面上的代码示例添加了一条菜单命令来简化此任务。
Unity 还支持使用六个单独的纹理来创建立方体贴图。从菜单中选择__资源 (Assets) > 创建 (Create) > 旧版 (Legacy) > 立方体贴图 (Cubemap)__,然后将六个纹理拖入检视面板中的空字段内。
| 属性: | 功能: |
|---|---|
| Right..Back 字段 | 相应立方体贴图面的纹理。 |
| Face Size | 每个立方体贴图面的宽度和高度(以像素为单位)。纹理将自动缩放以适应此大小。 |
| Mipmap | 是否应该创建 Mipmap? |
| Linear | 立方体贴图是否应该使用线性颜色? |
| Readable | 立方体贴图是否应当允许脚本访问像素数据? |
请注意,最好使用立方体贴图纹理导入类型来创建立方体贴图(见上文),这样就可以压缩立方体贴图纹理数据;可进行边缘修正和光泽反射卷积;并支持__ HDR__高动态范围
See in Glossary 立方体贴图。