资产定义
SandMod 允许您将 JPG 或 PNG 等格式的 纹理(Texture)文件通过 项目窗口(Project)导入游戏项目。导入的纹理文件统称为 2D 贴图资产(2D Texture Asset),然后您可以将其引用到 材质(Material),Sprite(精灵),UI 或从脚本中使用。2D 贴图资产生成后将在 项目窗口(Project)对应项目文件夹中查看和使用,该资产样式如图:
【2D_Texture_Asset001.png】
项目文件夹中不同后缀名的 2D 贴图资产
生成 2D 贴图资产
格式支持
SandMod 支持导入常见的纹理文件格式:
| 格式 | 扩展名 |
| Bitmap | .bmp |
| Joint Photographic Experts Group | .jpg / .jpeg |
| Portable Network Graphics | .png |
| Tagged Graphics | .tga |
资产生成方法
将 SandMod 支持的 纹理(Texture)文件从资源管理器拖入 项目窗口(Project)中导入游戏项目,或在项目窗口的空白位置点击鼠标右键启动上下文菜单并点击 从文件夹导入(Import From Folder) 选项选中纹理文件导入游戏项目。具体导入方法请参阅 导入资产 章节。
当纹理文件完成导入后,将在项目窗口中生成对应的 2D 贴图资产。
查看资产
如果您需要查看 2D 贴图资产(2D Texture Asset),您可以在 项目窗口(Project)中点击选中 2D 贴图资产,此时在 检视窗口(Inspector)中即可查看该 2D 贴图资产的属性以及对 2D 贴图资产进行预览。
【2D_Texture_Asset002.png】
在 检视窗口(Inspector)中,除了资产的基础属性外(具体请参阅 资产 章节),您还可以看到 2D 贴图资产的以下属性:
【2D_Texture_Asset003.png】
| 名称 | 描述 |
| 生成多级渐远纹理(Generate Mip Maps) | 为了加快 3D 场景渲染速度和减少纹理锯齿,2D 贴图被处理成由一系列被预先计算和优化过的纹理组成的集合,这样的贴图集合被称为 多级渐远纹理(Mip Map)。多级渐远纹理(Mip Map)中每一个 层级(Mip)的小纹理都是原 2D 贴图纹理的一个特定比例的缩小的复制品,当贴图被缩小或者只需要从远距离观看时,多级渐远纹理(Mip Map)就会根据特定条件将贴图的纹理转换到适当层级的纹理。 勾选,系统会为 2D 贴图自动生成 多级渐远纹理(Mip Map)。因为渲染远距离物体时,多级渐远纹理(Mip Map)纹理比原图小,提高了渲染的速度和性能。同时减少了摩尔纹现象、画面上的锯齿。但是会额外占用约三分之一的内存空间。 不勾选,此 2D 贴图资产的纹理不会生成多级渐远纹理,特定情况下仅会使用 邻近采样(Nearest Neighbor Filtering)。关于 多级渐远纹理(Mip Map)更详细的内容,请参阅 多级渐远纹理 章节。 |
| 循环模式(Wrap Mode) | 当顶点数据中的纹理坐标取值不在 0 到 1 之间的范围时,设置超出范围的纹理坐标如何进行纹理映射的循环模式。 · 重复模式(Repeat),对于超出范围的纹理坐标,纹理内容不断重复,也就是在超出纹理坐标范围外的地方重复放置纹理贴图。 【2D_Texture_Asset004.png】 · 边缘延伸模式(Clamp),对于超出范围的纹理坐标,纹理内容只会显示一次,超出纹理坐标范围以外的内容将使用纹理的边缘内容进行延伸,产生类似边缘被拉伸的效果。 【2D_Texture_Asset005.png】 · 镜像模式(Mirror),对于超出范围的纹理坐标,纹理内容不断镜像重复,类似 重复模式(Repeat)。 【2D_Texture_Asset006.png】 |
| 采样模式(Filter Mode) | 设置当 2D 贴图纹理的原始大小与屏幕映射的纹理图像尺寸不一致时,纹理单元映射到屏幕像素的压缩或拉伸方式。 · 最近点采样(Point),使用中心位置距离采样点最近的纹理像素颜色值作为该采样点的颜色值,不考虑其他相邻像素的影响。需要注意的是使用最近点采样可能会出现边缘不平滑,锯齿较为明显的情况。 · 双线性采样(Bilinear),使用距离采样点最近的 2 x 2 的纹理单元矩阵进行采样,取四个纹理像素颜色值的平均值作为采样点的颜色。这也是 多级渐远纹理(Mip Map)的采样模式,采样过程会采用采样点更接近的多级纹理数据。因此这种采样模式像素之间的颜色值过渡会更加平滑,但是会出现较为明显的模糊情况。 · 三线性采样(Trilinear),与双线性采样(Bilinear)相似,但是采样过程不会直接采用采样点更接近的多级纹理数据,而是根据采样位置获取接近的两个多级纹理数据的结果生成线性插值,并采样该差值。因此相对 双线性采样(Bilinear)模糊情况会减轻,但是渲染过程会更损耗性能。 关于 双线性采样(Bilinear)和 三线性采样(Trilinear)的更详细介绍,请参阅 多级渐远纹理 章节。 |
| 各向异性等级(Aniso Level) | 设置在 游戏对象(Game Object)以浅角度渲染时渲染纹理而不模糊的函数。此函数主要用于扩展较远的游戏对象,例如地面或地板。 属性值越高,纹理的细节越清晰明显,但损耗的性能成本也越高。 |
| 压缩(Compression) | 设置在游戏项目发布时此 2D 贴图资产转码压缩力度,默认的压缩质量肉眼几乎无法察觉,如果游戏项目发布后画质有明显差异,可尝试调整项目中所有 2D 贴图资产的此属性进行改善。 |
纹理预览
您可以在 项目窗口(Project)中点击选中 2D 贴图资产后在 检视窗口(Inspector)底部查看纹理预览。
【2D_Texture_Asset007.png】
如果预览窗口没有显示,您可以拖动 检视窗口(Inspector)底部的 预览窗口(Preview)将其显示,并可通过拖动 预览窗口(Preview)的顶部调整窗口的大小。
【2D_Texture_Asset008.gif】
资产 预览窗口(Preview)用于可视化查看对应 2D 贴图资产的纹理,能更全面了解资产的信息。2D 贴图资产的预览窗口包含以下内容:
【2D_Texture_Asset009.png】
1. 切换通道下拉框,用于切换多通道查看对应纹理,您可以点击资源信息窗口的通道下拉框选取查看纹理的哪个通道,可以分别通过 RGBA汇总通道和分别通过 R,G,B,A 4 种通道查看纹理。
【2D_Texture_Asset010.png】
2. 多级渐远纹理层级滑动条,此滑动条仅在该 2D 贴图资产 生成多级渐远纹理(Generate Mip Maps)属性处于 勾选状态(True)才会显示且可以编辑。拖动滑动条可以选择预览该 2D 贴图资产纹理处于对应 层级(Mip)时的显示效果。
【2D_Texture_Asset011.gif】
引用资产
SandMod 编辑器支持以下方式引用 2D 贴图资产:
- 在 材质(Material)中指定该资产,可将 纹理(Texture)应用在不同方向上,包括 3D 场景的渲染、特效的显示效果等,这取决于您的 着色器(Shader)的代码逻辑。
- 游戏的 UI (User Interfaces) 中图片类型的 UI 对象(UI Object)或子节点中包含图片类型的 UI 对象都可以在 属性中指定 2D 贴图资产,并读取其纹理信息,详情请参阅 图片 章节。
- Sprite(精灵)资产 图片纹理(Texture)属性中指定该 2D 贴图资产进行引用,详情请参阅 Sprite 编辑 章节。
- 立方体贴图资产(Cubemap Asset)资产多个属性中均可以指定该 2D 贴图资产进行引用,详情请参阅 立方体贴图资产 章节。
资产右键菜单
在 项目窗口(Project)中,鼠标指向 2D 贴图资产,并点击鼠标右键,即会打开 2D 贴图资产对应的上下文菜单,在上下文菜单中您可以对此 2D 贴图资产进行以下内容的编辑。
【Audio_Asset012.png】
| 名称 | 描述 |
| 在资源管理器中显示(Show In Explorer) | 在电脑的资源管理器上打开选中的 2D 贴图资产。 |
| 复制(Copy) | 复制所选 2D 贴图资产至剪贴板。 |
| 剪切(Cut) | 剪切所选 2D 贴图资产至剪贴板,与复制不同的是,剪切后的 2D 贴图资产将不再出现于原路径下。 |
| 复制并粘贴(Duplicate) | 在所选的 2D 贴图资产路径下克隆一份所选的 2D 贴图资产。 |
| 重命名(Rename) | 使 2D 贴图资产名称可编辑,以便进行更改。按 Enter 键以保存更改,或按 Esc 键以取消重命名。 |
| 删除(Delete) | 删除选中的 2D 贴图资产。 |
| 上传资源(Upload Asset) | 将选中的 2D 贴图资产上传至资源商店,具体上传方法请参阅 上传资源 章节。 |
| 复制资源 ID(Copy Asset ID) | 复制选中的 2D 贴图资产的 ID 至剪贴板中,值得注意的是,导入到 SandMod 中的任何纹理文件都将作为 纹理(Texture)实例在脚本中获取并使用,因此您可以通过 Resources.Load(Type,ID) 代码,可以直接通过此 ID 将纹理以 Texture 类型动态引用。如果您需要获取或编辑纹理的像素级数据,您可以通过 Resources.Load(Type,ID) 代码,以此 ID 将纹理直接以 Texture2D 类型动态读取或写入。 |
| 复制路径(Copy Path) | 以 Type Script 语法的方式,创建选中的 2D 贴图资产从 Assets 目录下的路径在剪切板中。 |

勾选,系统会为 2D 贴图自动生成 多级渐远纹理(Mip Map)。因为渲染远距离物体时,多级渐远纹理(Mip Map)纹理比原图小,提高了渲染的速度和性能。同时减少了摩尔纹现象、画面上的锯齿。但是会额外占用约三分之一的内存空间。
不勾选,此 2D 贴图资产的纹理不会生成多级渐远纹理,特定情况下仅会使用 邻近采样(Nearest Neighbor Filtering)。关于 多级渐远纹理(Mip Map)更详细的内容,请参阅