[Unity]-[UI]-[Image] 关于UI精灵图资源导入设置的详细解释

发布于:2025-05-09 ⋅ 阅读:(12) ⋅ 点赞:(0)

UI资源导入详解

Unity中的UI资源有图片、矢量图、字体、预制体、图集、动画等等资源。

这其中图片是最重要以及最基础的资源组成,所以图片的资源管理是影响整个项目的重点。

图片导入项目

直接拖拽到项目的对应文件夹中,文件夹需要进行分配分类好,建议按照功能页面进行分文件夹,方便后期打图集。

导入后的配置

Texture Type

在这里插入图片描述

  1. 图片导入后的默认参数Default:
    通用的纹理类型,一般在Material上的材质图片参数使用,比如漫反射、法线贴图这些。
    在这里插入图片描述

  2. Normal Map 法线贴图参数
    专职用于法线贴图的格式,用于存储法线信息,模拟凹凸表面光照效果。
    使用在3D模型的专业法线贴图。有Unity提供的Api开关(勾选Creat From Grayscale)生成法线。
    在这里插入图片描述

  3. Editor GUI and Legacy GUI (编辑器 GUI 和旧版 GUI)
    如果要在任何 HUD 或 GUI 控件上使用纹理,请选择 Editor GUI and Legacy GUI。

  4. Cursor (光标)
    选择 Cursor 可将纹理用作自定义光标。

  5. Cookie (光照遮罩(饼干))
    用于灯光(如聚光灯)的投影遮罩纹理。
    ​​ 适用场景​​:模拟灯光透过窗户、树叶等效果。

  6. LightMap (光照贴图)
    存储预计算的光照信息。
    ​​ 适用场景​​:静态场景的烘焙光照。
    此选项允许将纹理编码为特定格式(RGBM 或 dLDR,具体取决于平台)并通过后期处理步骤对纹理数据进行处理(推拉式扩张通道)。

  7. Directional LightMap (方向光照贴图)
    方向

  8. ShadowMask (阴影遮罩)
    混合光照使用贴图。

  9. Single Channel (单通道)
    仅使用单通道(如R通道)存储数据。
    ​​适用场景​​:
    高度图(Heightmap)。
    遮罩纹理(如R通道控制金属度)。

Texture Shape

在这里插入图片描述
使用texture shape 可以选择和定义纹理的形状和结构。

  1. 2D 是用于所有纹理的最常用设置;它将图像文件定义为 2D 纹理。这些设置用于将纹理映射到 3D 网格和 GUI 元素以及其他项目元素。
  2. Cube 将纹理定义为立方体贴图。例如,可将其用于天空盒或反射探针。此类型仅可用于 Default、Normal Map 和 Single Channel 纹理类型。
  3. 2D Array 将纹理定义为 2D 数组纹理。这通常用作某些渲染技术的优化,其中会使用许多具有相同大小和格式的纹理。
  4. 3D 将纹理定义为 3D 纹理。某些渲染技术使用 3D 纹理表示体积数据。

Advanced Setting 高级设置

根据不同texture type有不同的Advanced setting.
这里说一些常用的设置:

  1. sRGB(Color texture)
    控制是否将纹理视为颜色空间数据(sRGB)。
    ​​开启:
    颜色纹理(如漫反射贴图、UI图片)。
    ​​关闭​​:
    非颜色数据(如法线贴图、金属度贴图)。
    启用此属性可指定将纹理存储在伽马空间中。对于非 HDR 颜色纹理(例如反照率和镜面反射颜色),应始终选中此复选框。如果纹理存储了有特定含义的信息,并且您需要着色器中的确切值(例如,平滑度或金属度),请禁用此属性。默认情况下会启用此属性。

  2. Alpha Source (透明度来源)
    在这里插入图片描述
    定义透明通道a的来源。

    None:无透明通道。无论输入纹理是否有 Alpha 通道,导入的纹理都没有 Alpha 通道。	
    Input Texture Alpha:使用原始图片的Alpha通道。如果提供了纹理,则使用输入纹理中的 Alpha。	
    From Gray Scale:根据灰度图生成Alpha通道。从输入纹理 RGB 值的平均值生成 Alpha。
    

    指定如何生成纹理的 Alpha 通道。

  3. Alpha Is Transparency (透明通道是否透明)
    ​​用途​​:将Alpha通道作为透明蒙版处理。
    ​​开启​​:
    带透明度的UI图片或精灵。
    ​​关闭​​:
    不需要透明度的贴图(如法线贴图)
    如果指定的 Alpha 通道为透明度 (Transparency),则启用此属性可扩充颜色并避免边缘上的过滤瑕疵。

  4. Non-Power of 2(非2次幂尺寸)​
    处理非2次幂(如513x513)的纹理

	None:保持原尺寸,可能导致性能问题。
	ToNearest:缩放到最近的2次幂(如512x512)。
	​​适用场景​​:移动端或低性能平台建议使用2次幂纹理。
  1. Generate Mip Maps(生成Mip Maps)​
    为纹理生成多级渐远纹理链,优化远距离显示效果。
    ​​开启:
    3D场景中的远距离物体贴图。
    ​​关闭​​:
    UI或2D精灵(避免模糊)。
    法线贴图(可能破坏法线数据)

  2. Wrap Mode(循环模式)​
    控制纹理在UV超出[0,1]范围时的显示方式。
    ​​选项​​:
    Repeat:平铺重复。
    Clamp:边缘像素拉伸。
    ​​适用场景​​:
    Repeat:地面、天空盒贴图。
    Clamp:UI背景或角色贴图。

  3. Filter Mode(过滤模式)​
    控制纹理缩放时的平滑处理方式。
    ​​选项​​:
    Point (no filter):点,无滤镜,像素化风格(适合像素游戏)。
    Bilinear:线性插值(中等平滑)。
    Trilinear:结合Mip Maps的平滑(最平滑)。
    ​​适用场景​​:
    Point:像素艺术或需要锐利边缘的UI。
    Bilinear/Trilinear:3D模型贴图或平滑渐变的UI。

  4. Compression(压缩格式)​
    优化纹理内存占用和加载速度。

	​​None​​:无压缩(最高质量,最大内存)。
	​​Low/High Quality​​:通用压缩(平衡质量与性能)。
	​​ASTC​​(移动端):高效压缩(如ASTC 6x6)。
	​​DXT/BCn​​(PC/主机):DirectX压缩格式(如DXT5支持Alpha)。
	​​ETC/ETC2​​(Android兼容格式)。
	​​适用场景​​:
	移动端优先选择ASTC或ETC2。
	PC端选择DXT5(带Alpha)或BC7(高质量)。
  1. Read/Write (读写)
    Read/Write Enable(是否启用读写) 开启读写可以访问Texture2D.SetPixels, Texture2D.GetPixels和其他Texture2D方法。开启会使Texture所需内存量增加一倍。因此默认情况下禁用此属性,并且仅在需要脚本访问权限时才启用它。

图片设置案例

  1. UI按钮图片​​
    ​​Texture Type​​:Sprite (2D and UI)
    ​​Sprite Mode​​:Single
    ​​Pixels Per Unit​​:100(与Canvas Scaler一致)
    ​​sRGB​​:开启
    ​​Generate Mip Maps​​:关闭
    ​​Compression​​:ASTC 6x6(移动端)或DXT5(PC)
    ​​Filter Mode​​:Bilinear

  2. 3D模型法线贴图​​
    ​​Texture Type​​:Normal map
    ​​sRGB​​:关闭
    ​​Create from Grayscale​​:开启(根据高度图生成法线)
    ​​Compression​​:BC5(PC)或ASTC 6x6(移动端)
    ​​Generate Mip Maps​​:开启
    ​​Wrap Mode​​:Repeat
    ​​

  3. 像素艺术角色​​
    ​​Texture Type​​:Sprite (2D and UI)
    ​​Filter Mode​​:Point (no filter)
    ​​Compression​​:None(避免压缩导致像素模糊)
    ​​Non-Power of 2​​:ToNearest(确保纹理尺寸为2次幂)

常见细节问题

  1. ​​图片模糊​​:
    检查Filter Mode是否为Bilinear(关闭Mip Maps)。
    确保Pixels Per Unit与Canvas Scaler的Reference Resolution匹配。
  2. ​​透明边缘黑边​​:
    开启Alpha Is Transparency,并检查原始图片的Alpha通道是否干净。
  3. ​​内存占用过高​​:
    使用合适的压缩格式(如ASTC/DXT5)。
    关闭不必要的Mip Maps。

知识点详解来源

  1. 纹理类型: 纹理类型
  2. 光照模式的定向贴图: Directional Lightmap :Directional Lightmap
  3. 混合光照概念:Shadowmask
  4. 混合光照详解
  5. 编辑器 GUI 和 旧版GUI
  6. Texture Import Settings - texture shape
  7. 部分补充设置

网站公告

今日签到

点亮在社区的每一天
去签到