纹理
初级 美术人员 程序员
**纹理(Texture)**是主要在材质中使用的图像。Stride 会将纹理映射到材质所覆盖的表面上。
纹理可以为材质添加颜色信息——例如,为墙壁添加砖块图案,或为桌面添加木纹图案。纹理中的像素值(纹素(texel))也可以用于其他计算,例如高光贴图、金属度贴图或法线贴图。
材质通常包含多张纹理;例如,一个材质可能包含颜色纹理、法线贴图纹理和粗糙度纹理。
纹理也可以在材质之外使用;例如,你可以将它们直接绘制到 UI 上,或在精灵中使用。
支持的文件类型
你可以使用以下文件类型作为纹理:
.dds.jpg.jpeg.png.gif.bmp.tga.psd.tif.tiff
Note
- Stride 只导入动画图像文件(如动态 GIF 或 PNG)的第一帧。它们不会在 Stride 中播放动画,而是显示为静态图像。
- Stride 目前不支持视频文件。
添加纹理
在资产视图中,单击添加资产 > Texture,然后为纹理选择一个模板(color、grayscale 或 normal map):

也可以将纹理文件从资源管理器拖放到资产视图中:

然后选择一个纹理模板(color、grayscale 或 normal map):

Game Studio 会将纹理添加到资产视图中:

纹理属性
以下属性适用于所有纹理。

| 属性 | 说明 |
|---|---|
| Width | 纹理在游戏中的宽度 |
| Height | 纹理在游戏中的高度 |
| Use percentages | 使用百分比而非实际像素大小来设置宽度和高度 |
| Type | 对于要作为图像显示的纹理使用 Color,法线贴图使用 Normal map,而 Grayscale 用于为其他用途提供值(如高光贴图、金属度贴图、粗糙度贴图)。颜色纹理和法线贴图具有额外的属性(见下文)。 |
| Generate mipmaps | 生成不同分辨率的纹理版本,用于在不同距离显示。可以提高性能、消除视觉伪影,并在使用流式加载时减少突然出现的现象,但会占用更多内存。对于始终与摄像机保持相同距离的纹理(如 UI),不需要此选项。 |
| Compress | 将最终纹理压缩为基于目标平台和用途的格式。最终纹理尺寸为 4 的倍数。更多信息请参阅纹理压缩。 |
| Stream | 在运行时动态流式加载纹理。这可以提高性能并缩短场景加载时间。不建议用于你希望始终加载的重要纹理,如启动画面。更多信息请参阅流式加载。 |
颜色纹理属性
如果你将纹理类型设置为 color,则以下属性生效。

| 属性 | 说明 |
|---|---|
| sRGB sampling | 以 sRGB 格式存储纹理,并在采样时转换到线性空间。推荐用于所有颜色纹理,除非它们明确处于线性空间。 |
| Color key enabled | 在运行时使用 Color key color 属性中设置的颜色作为透明色。如果禁用,则改用纹理中的透明区域 |
| Color key color | 运行时用作透明色的颜色。仅在选中 Color key enabled 时生效。 |
| Alpha | 纹理的 alpha 格式(None、Mask、Explicit、Interpolated 或 Auto) |
| Premultiply alpha | 用 alpha 分量预乘图像的所有颜色分量 |
法线贴图属性
如果你将纹理类型设置为 normal map,则以下属性生效。

| 属性 | 说明 |
|---|---|
| Invert Y | 让正的 Y 分量(绿色)在切线空间中朝上。这取决于你创建法线贴图所使用的工具。 |
有关法线贴图的更多信息,请参阅法线贴图页面。
灰度纹理
灰度纹理只使用图像的 R 通道(finalRGBA = originalRRRR)。
Note
如果你将纹理(作为精灵组件)添加到场景中,并将纹理类型设置为灰度,它会显示为红色而不是灰度。这是因为图像使用的是 R(红色)通道。
要使该通道显示为灰度,请在精灵组件属性中将 Type 设置为 Grayscale。有关精灵组件属性的更多信息,请参阅使用精灵。
你可以使用灰度纹理在材质贴图中提供值。例如,你可以使用一张纹理作为混合贴图来混合两个材质层:


请注意混合贴图纹理如何与结果中的图案相对应。
更多信息请参阅材质贴图。
全局纹理设置
有关如何访问全局纹理设置的说明,请参阅游戏设置页面。

| 属性 | 说明 |
|---|---|
| Texture quality | 编码纹理时使用的纹理质量。Fast 占用的 CPU 最少,但质量最低。更高的设置可能导致构建变慢,具体取决于目标平台。 |