简介
纹理(Texture)用于渲染和表现游戏场景中的 2D 或 3D 图像,是游戏中绝大部分图像渲染的数据源。纹理可以应用到材质上从而影响游戏对象的表面,来增加游戏对象的真实感或者美观程度。
| 【Texture001.png】 | 【Texture002.png】 |
| 风格化草丛模型的网格,只有简单的平面,看不出草丛的形态。 | 通过给草丛模型添加多种类型的纹理后,模拟出立体、有层次的草丛模型。 |
纹理作用
用于 3D 模型的纹理
您可以使用 材质(Material)将 纹理(Texture)应用于 3D 的 游戏对象(Game Object)上。材质会基于 着色器(Shader)的程序逻辑根据纹理信息在 网格(Mesh)表面上实现着色效果,以模拟反光、透光或凹凸不平等效果。游戏对象的网格还可以一次使用多个纹理,将多个纹理组合起来以更灵活的方式实现更多的表现效果。
在 SandMod 编辑器中,您可以使用多种类型的纹理来渲染 3D 游戏场景:
- 漫反射纹理(Diffuse Texture):用于表现游戏对象表面的颜色和纹理,是最常用的纹理类型之一。
- 镜面反射纹理(Specular Texture):用于表现游戏对象表面的反射光泽和镜面高光,可以使游戏对象表面看起来更加光滑和有质感。
- 法线贴图(Normal Map):用于模拟游戏对象表面的凹凸细节,可以让游戏对象表面看起来更加真实和有立体感。
- 高光贴图(Gloss Map):用于控制游戏对象表面的光滑程度和反射强度,可以使游戏对象表面的镜面反射更加真实和细腻。
- 环境贴图(Environment Map):用于模拟环境光照,可以让游戏对象表面看起来更加自然和融入环境。
- 透明度纹理(Transparency Texture):用于控制游戏对象的透明度,可以制作半透明材质和玻璃材质等。
- 发光纹理(Emission Texture):用于制作自发光的游戏对象,可以让游戏对象表面发出自己的光线。
- 位移贴图(Displacement Map):用于控制游戏对象表面的位移,可以制作出浮雕和凹凸不平的表面效果。
用于 2D 图形的纹理
您可以直接将 纹理(Texture)在 UI 或 Sprite(精灵)中以 2D 的方式应用于游戏项目中,或者使用 材质(Material)将纹理应用于 特效(Effect)上:
- 游戏的 UI (User Interfaces) 通常用于为玩家提供交互的指引或查看信息的渠道。如果您想要显示的内容更美观,您可以在 SandMod 编辑器中使用纹理进行处理 UI。有关如何在 UI 系统中使用纹理的详细内容,请参阅 图片 章节。
【Texture003.png】
UI 中的图形纹理。
- Sprite(精灵)主要用于在游戏项目中显示 2D 图像,无论是 3D 游戏场景还是 2D 的 UI。而图像的展示内容取决于该 Sprite(精灵)所应用的纹理。有关 Sprite(精灵)如何使用纹理的详细信息,请参阅 Sprite 编辑 章节。
【Texture004.png】
Sprite(精灵)在 3D 场景中的显示效果。
- 特效(Effect)适合展示雷电、火焰、烟雾和火花等效果。特效都是由一个个小的 2D 图形组成,代表基本上是流体或气体的事物的一小部分,例如烟云。当许多这样的粒子同时创建并开始运动时,能模仿出真实的流体效果。关于如何使用纹理编辑更多效果的特效,请参阅 特效编辑 章节。
【Texture005.png】
使用烟雾纹理的粒子特效制作出火焰的效果。
如何使用
纹理一般由图像处理软件(比如 Photoshop、Windows 上自带的画图)创作、编辑,并导出成 SandMod 可以使用的文件格式,从而可以导入 SandMod 编辑器以纹理相关的资产形态被引用。SandMod 支持以下类型的纹理资产:
👉 2D 贴图资产(2D Texture Asset),有关贴图文件及其支持格式的参考信息。
👉 立方体贴图资产(Cubemap Asset),是六个方形纹理的集合,通常用于制作天空盒。
此外 SandMod 还支持以下纹理处理方法:
👉 多级渐远纹理(Mip Map),是一个由单个纹理生成的,尺寸阶梯式变小且分辨率逐渐降低的纹理数据集合。用于提升渲染性能以及解决在远距离情况下的采样频率低和数据频率高造成的失真和摩尔纹。
