质地
纹理类型
导入纹理
此页面将提供有关使用 Unity 编辑器的纹理导入器导入纹理的详细信息和提示。 向下滚动或选择您想要了解的部分。
支持的文件格式
Unity 可以读取以下文件格式:
请注意,Unity 可以导入多层 PSD 和 TIFF 文件; 它们在导入时自动展平unity 生成法线贴图,但图层保留在资产本身内。 这意味着您在本地处理这些文件类型时不会丢失任何工作。 这很重要,因为在不同的应用程序(Photoshop、3D 建模应用程序和 Unity)中使用纹理只需要一个纹理副本。
HDR 纹理
从包含 HDR 信息的 EXR 或 HDR 文件导入时,纹理导入器会自动为输出纹理选择正确的 HDR 格式。 此格式会根据您正在构建的目标平台自动更改。
纹理大小
理想情况下,每边的纹理大小应为 2 的幂(即 2、4、8、16、32、64、128、256、512、1024、2048 像素 (px) 等)。 纹理不必是方形的; 也就是说,宽度可以不同于高度。 请注意,特定平台可能会限制最大纹理大小。 对于 DirectX,不同特征级别的最大纹理大小如下:
图形 API/函数级别最大 2D 和立方体贴图纹理大小像素大小
DX9 着色器模型 2(2004 年之前的 PC GPU)/OpenGL ES 2.0
2048
DX9 Shader Model 3(2006 年之前的 PC GPU)/Windows Phone DX11 Level 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
注意:
Unity 允许使用 NPOT(非 2 的幂)纹理大小; 但是,NPOT 纹理大小通常需要稍微多一点的内存并且 GPU 采样可能会更慢,因此最好尽可能使用 2 的幂大小以提高性能。 如果平台或 GPU 不支持 NPOT 纹理大小,Unity 会将纹理缩放并填充到下一个 2 的幂大小。 此过程使用更多内存并使加载速度变慢(尤其是在较旧的移动设备上)。 一般来说,NPOT 大小应该只用于 GUI 目的。
您可以使用纹理导入器“高级”部分中的“2 的非幂”选项在导入时放大 NPOT 纹理资产。
紫外线贴图
将 2D 纹理映射到 3D 模型时,3D 建模应用程序执行称为 UV 映射的包装。 在 Unity 内部,材质用于缩放和移动纹理。 缩放法线贴图和细节贴图特别有用。
贴图
mipmap 是图像的逐渐缩小版本的列表,用于优化实时 3D 引擎的性能。 远离相机的对象使用较小版本的纹理。 使用 mipmaps 会多使用 33% 的内存,但不使用它们会导致巨大的性能损失。 游戏中的纹理应始终使用 mipmap; 唯一的例外是按比例缩小的纹理(例如unity 生成法线贴图,GUI 纹理、天空盒、光标和轮廓)。 Mipmap 对于避免多种形式的纹理锯齿和闪烁也是必不可少的。
法线贴图
法线贴图由法线贴图着色器使用,使简单的多边形模型看起来包含更多细节。 Unity 使用编码为 RGB 图像的法线贴图。 您还可以选择从灰度高度图图像生成法线贴图。
细节图
如果要创建地形,通常会使用主纹理来显示地形区域,例如草地、岩石和沙子。 如果地形很大,它会变得非常模糊。 当靠近主纹理时3D道具,细节纹理通过淡化小细节来隐藏这一点。
绘制细节纹理时应注意,中性灰色是不可见的3D素材,白色使主纹理的亮度增加一倍,黑色使主纹理完全变黑。