当前位置: 首页 > news >正文

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

Unity UI Sprite

  • UI资源导入详解
    • 图片导入项目
      • Texture Type
      • Texture Shape
      • Advanced Setting 高级设置
    • 图片设置案例
    • 常见细节问题
  • 知识点详解来源

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. 部分补充设置
http://www.xdnf.cn/news/355393.html

相关文章:

  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(17):「 」と言いました
  • 芋道框架 账号未登录、租户标识未传递
  • 云效 MCP Server:AI 驱动的研发协作新范式
  • # YOLOv2:目标检测的升级之作
  • 课程审核流程揭秘:确保内容合规与用户体验
  • 五、【LLaMA-Factory实战】模型部署与监控:从实验室到生产的全链路实践
  • C++跨平台开发实践:深入解析与常见问题处理指南
  • 在线服务器具体是指什么?
  • <uniapp><HBuilder><故障>HBuilder真机运行时,报“同步资源失败”故障解决
  • 使用AES-CBC + HMAC-SHA256实现前后端请求安全验证
  • Excel实现单元格内容拼接
  • 《探索React Native社交应用中WebRTC实现低延迟音视频通话的奥秘》
  • Linux 一键部署chrony时间服务器
  • Debezium RelationalSnapshotChangeEventSource详解
  • OpenCV 中用于支持 华为昇腾(Ascend)AI 芯片后端 的模块CANN
  • [数据库][sqlserver]查看索引碎片
  • Docker网络模式深度解析:Bridge与Host模式对比及实践指南
  • 华为银河麒麟 V10(ARM)系统软件部署全攻略:Redis、RabbitMQ、MySQL 等集群搭建指南
  • Java设计模式之工厂方法模式:从入门到精通
  • 全球首款无限时长电影生成模型SkyReels-V2本地部署教程:视频时长无限制!
  • 星光云720全景VR系统升级版,720全景,360全景,vr全景,720vr全景
  • 游戏引擎学习第267天:为每个元素添加裁剪矩形
  • 【Qt】之【Bug】点击按钮(ui->pushButton)触发非本类设置的槽函数
  • 污水处理厂逆袭:Ethernet/IP 转 CANopen 开启“智净”时代
  • 【计算机视觉】OpenCV实战项目: Fire-Smoke-Dataset:基于OpenCV的早期火灾检测项目深度解析
  • 【Qt】编译 Qt 5.15.x For Windows 基础教程 Visual Studio 2019 MSVC142 x64
  • 记录 Mysql5.7 升级到 Mysql8.0 遇到的问题
  • vscode离线安装python插件
  • 红黑树算法笔记
  • 解决 Ubuntu DNS 无法解析问题(适用于虚拟机 长期使用)