纹理是一种位图图像。您可以在数字内容创作应用程序(例如 Photoshop)中创建纹理,然后将其导入 Unity。
在 3D 项目中,Unity 将 Assets 文件夹中的图像和电影文件导入为纹理。在 2D 项目中,Unity 将 Assets 文件夹中的图像和电影文件导入为精灵。
只要图像满足指定的大小要求,Unity 便可以导入并优化图像,以供游戏使用。这一点可以扩展到多层 Photoshop PSD 或 TIFF 文件。
要在 Unity 中将图像和电影文件导入为纹理和精灵,请执行以下操作:
Unity 可读取以下文件格式:
Unity 导入多层 Photoshop PSD 或 TIFF 文件后会自动展平,这样就不会在游戏中造成大小损失。这种展平操作发生在 Unity 中导入的数据,而不是文件本身,因此您可以继续保存和导入 PSD 或 TIFF 文件,以原生方式使用这些文件类型时不会丢失任何工作。这样,每个纹理只需要有一个副本,您就可以在 Photoshop、3D 建模应用程序以及 Unity 中使用纹理。
从包含__ HDR__高动态范围
See in Glossary 信息的 EXR 或 HDR 文件导入时,纹理导入器会自动为输出纹理选择正确的 HDR 格式。此格式会根据您要构建的目标平台自动更改。
理想情况下,纹理尺寸大小应该是每边为 2 的幂(即 2、4、8、16、32、64、128、256、512、1024、2048 像素 (px),以此类推)。纹理不必是正方形;也就是宽度可与高度不同。
在 Unity 中可以使用 NPOT(非 2 的幂)纹理大小。但是,NPOT 纹理大小通常需要稍微多一点的内存,并且 GPU 的采样速度可能更慢,因此,只要有可能,最好使用 2 的幂大小以提高性能。
如果平台或 GPU 不支持 NPOT 纹理大小,Unity 会对纹理进行缩放和填充以达到下一个 2 的幂大小。此过程会使用更多内存并使加载速度变慢(尤其是在较旧的移动设备上)。通常,只应将 NPOT 大小用于 GUI 用途。
您可以使用纹理导入器的 Advanced 部分中的 Non Power of 2 选项在导入时放大 NPOT 纹理资源。
注意:特定平台可能会限定最大纹理尺寸大小。对于 DirectX,不同功能级别的最大纹理大小如下:
| 图形 API/功能级别 | 最大 2D 和立方体贴图纹理尺寸大小(像素) |
|---|---|
| DX9 着色器模型 2(2004 年前的 PC GPU) | 2048 |
| DX9 着色器模型 3(2006 年前的 PC GPU)/Windows Phone DX11 9.3 级别/OpenGL ES 3.0 | 4096 |
| DX10 着色器模型 4/GL3(2007 年前的 PC GPU)/OpenGL ES 3.1 | 8192 |
| DX11 着色器模型 5/GL4(2008 年后的 PC GPU) | 16384 |
注意:
在为不同平台进行构建时,您需要考虑每个目标平台的分辨率、文件大小与相关内存大小要求、纹理质量以及要使用的压缩格式。特定于平台的覆盖__面板为 Default__ 选项提供了一个选项卡,也为每个目标构建平台提供了一个选项卡。还可以在构建配置文件中全局覆盖某些纹理导入设置,主要是为了加快开发过程中的迭代时间。
要设置覆盖值,请执行以下操作: