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

Unity2D-图片导入设置

图片导入概述

Unity 支持的图片格式 BMP: 是 Windows 操作系统的标准图像文件格式,特点是几乎不进行压缩,占磁盘空间大 TIF: 基本不损失图片信息的图片格式,缺点是体积大

JPG: 一般指 JPEG 格式,属于有损压缩格式,能够让图像压缩在很小的存储空间,一定程度上会损失图片数据,无透明通道 PNG: 无损压缩算法的位图格式,压缩比高,生成文件小,有透明通道

TGA: 支持压缩,使用不失真的压缩算法,还支持编码压缩。体积小,效果清晰,兼备 BMP 的图像质量和 JPG 的体积优势,有透明通道 PSD: 是 PhotoShop(PS)图形处理软件专用的格式,通过一些第三方工具或自制工具可以直接将 PS 界面转为 UI 界面

其它还支持 EXR、GIF、HDR、IFF、PICT 等等

其中 Unity 最常用的图片格式是 JPG、PNG、TGA 三种格式

图片设置的 6 大部分

纹理类型

纹理类型主要是为了让纹理图片有不同的主要用途,指明用于哪项工作的纹理

Default

默认纹理,大部分导入的模型贴图都是该类型

sRGB (Color Texture):启用可以将纹理存储在伽马空间中(对每一个像素做一次幂函数运算)

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

None:无论输入纹理是否有 Alpha 通道,导入的纹理都没有 Alpha 通道

Input Texture Alpha:输入纹理中的 Alpha

From Gray Scale:从输入纹理 RGB 值的平均值生成 Alpha

Alpha Is Transparency:启用可以避免边缘上的过滤瑕疵

Normal map

法线贴图格式

法线贴图就是在原物体的凹凸表面的每个点上均作法线 法线就是垂直于某个点的切线的方向向量

Create From Grayscale: 启用此属性可以从灰度高度贴图创建法线贴图

Bumpiness: 控制凹凸程度,值越大凹凸感越强

Filtering: 如何计算凹凸值

Smooth:使用标准算法生成法线贴图

Sharp:生成比标准模式更锐利的法线贴图

Editor GUI and Legacy GUI

一般在编辑器中或者 GUI 上使用的纹理

Sprite (2D and UI)

2D 游戏或者 UGUI 中使用的格式

Sprite Mode:图像中提取精灵图形的方式

Single:按原样使用精灵图像

Multiple:瓦片模式,如果是图集,使用该选项,可以在 Sprite Editor 编辑窗口自定义图片

Polygon:网格精灵模式

Packing Tag:指定要将该图打入的精灵图集,Legacy Sprite Packer 时可用

Pixels Per Unit:世界控件中的一个举例单位对应多少像素

Mesh Type:网格类型;只有 Single 和 Multiple 模式才支持

Full Rect:创建四边形,将精灵显示在四边形上

Tight:基于像素 Alpha 值来生成网格,更加贴合精灵图片的形状,任何小于 32×32 的精灵都使用 Full Rect 模式,即使设置成 Tight 模式也是

Extrude Edges:使用滑动条确定生成的网格中精灵周围流出的区域大小

Pivot:精灵图片的轴心点,Single 模式才有此选项,对应九宫格布局的九个点,还可以自定义

Generate Physics Shape:启用此选项,Unity 会自动根据精灵轮廓生成默认物理性状,只有 Single 和 Multiple 模式才可使用

Sprite Editor:编辑 Sprite,需要安装 2D Sprite 包

Cursor

自定义光标

Cookie

光源裁剪格式

Light Type:应用的光源类型 一般点光源的剪影需要设置为立方体纹理 方向光和聚光灯的剪影设置为 2D 纹理

Spotlight:聚光灯类型,需要边缘纯黑色纹理

Directional:方向光,平铺纹理

Point:点光源,需要设置为立方体形状

Lightmap

光照贴图格式

Single Channel

纹理只需要单通道的格式

Channel:希望将纹理处理为 Alpha 还是 Red 通道

Alpha:使用 Alpha 通道,不允许进行压缩

Red:使用红色通道

纹理形状

纹理不仅可以用于模型贴图,还可以用于制作天空盒和反射探针

纹理形状设置 主要用于在两种模式之间进行切换

Texture Shape:纹理形状

2D:2D 纹理,最常用设置,这些纹理将使用到模型和 GUI 元素上

Cube:立方体贴图,主要用于天空盒和反射探针

Mapping:如何将纹理投影到游戏对象上

Auto:根据纹理信息创建布局

6 Frames Layout (Cubic Environment):纹理包含标准立方体贴图布局之一排列的 六个图像

Latitude-Longitude Layout (Cylindrical):将纹理映射到 2D 维度 / 经度

Mirrored Ball (Spheremap):将纹理映射到类似球体的立方体贴图上

Convolution Type:纹理的过滤类型

None:无过滤

Specular (Glossy Reflection):将立方体作为反射探针

Diffuse (Irradiance):将纹理进行过滤表示辐照度,可作为光照探针

Fixup Edge Seams:Convolution Type 为 None 和 Diffuse 下才有用。解决低端设备上面之间 立方体贴图过滤错误

高级设置

高级设置主要是纹理的一些尺寸规则,读写规则以及MipMap相关设置

为什么纹理要设置为 2 的 N 次方? 因为图形学规则,纹理必须是 2 的幂尺寸

Non-Power of 2:如果纹理尺寸非 2 的幂如何处理

None:纹理尺寸大小保持不变

To nearest:将纹理缩放到最接近 2 的幂的大小(注意:PVRTC 格式要求纹理为正方形)

To larger:将纹理缩放到最大尺寸大小值的 2 的幂的大小

To smaller:将纹理缩放到最小尺寸大小值的 2 的幂的大小

Read/Write Enabled:启用可以使用 Unity 中提供的一些方法从纹理中获取到数据(一般需要获取图片数据时才开启)

Streaming Mipmaps:启用则可以使用纹理串流,主要用于在控制加载在内存中的 Mipmap 级别,用于减少 Unity 对于纹理所需的内存总量,用性能换内存

Mip Map Priority:Mipmap 优先级,Unity 根据优先级来确定分配资源时优先考虑哪些 Mipmap

Generate Mip Maps:允许生成 MipMap

Border Mip Maps:启用可避免颜色向外渗透到较低 MIP 级别的边缘

Mip Map Filtering:优化图像质量的过滤方法

Box:随着尺寸减小,级别更加平滑

Kaiser:随着 Mipmap 尺寸大小下降而使用的锐化算法,如果远处纹理太模糊,可以使用 该算法

Mip Maps Preserve Coverage:Mipmap 的 Alpha 通道在 Alpha 测试期间保留覆盖率

Alpha Cutoff Value:覆盖率参考值

Fadeout Mip Maps:级别递减时使 Mipmap 淡化为灰色

MipMap是什么

在三维计算机图形的贴图渲染中有一个常用的技术被称为 Mipmapping 为了加快渲染速度和减少图像锯齿,贴图被处理成由一系列被预先计算和优化过的图片组成的文件 这样的贴图被称为 mipmap Mipmap 需要占用一定的内存空间

Mipmap 中每一个层级的小图都是主图的一个特定比例的缩小细节的复制品 虽然在某些必要的视角,主图仍然会被使用,来渲染完整的细节。 但是当贴图被缩小或者只需要从远距离观看时,mipmap 就会转换到适当的层级

因为 mipmap 贴图需要被读取的像素远少于普通贴图,所以渲染的速度得到了提升。 而且操作的时间减少了,因为 mipmap 的图片已经是做过抗锯齿处理的,从而减少了实时渲染的负担。 放大和缩小也因为 mipmap 而变得更有效率。

如果贴图的基本尺寸是 256x256 像素的话,它 mipmap 就会有 8 个层级。 每个层级是上一层级的四分之一的大小 依次层级大小就是:128x128;64x64;32x32;16x16;8x8;4x4;2x2;1x1 (一个像素)

平铺拉伸

平铺拉伸主要设置纹理的平铺规则以及拉伸规则

Wrap Mode:平铺纹理时的方式

Repeat:在区块中重复纹理

Clamp:拉伸纹理的边缘

Mirror:在每个整数边界上镜像纹理以创建重复图案

Mirror Once:镜像纹理一次,然后将拉伸边缘纹理

Per-axis:单独控制如何在 U 轴和 V 轴上包裹纹理

Filter Mode:纹理在通过 3D 变化拉伸时如何进行过渡

Point:纹理在靠近时变为块状

Bilinear:纹理在靠近时变得模糊

Trilinear:与 Bilinear 类似,但纹理也在不同的 Mip 级别之间模糊

Aniso Level:以大角度查看纹理时提高纹理质量。性能消耗高

平台设置

平台设置主要设置纹理最终打包时在不同平台的尺寸,格式,压缩方式

他非常重要,应为他影响了你的包大小和读取性能方面的问题

Max Size:设置导入的纹理的最大尺寸,即使美术出的很大的图,也可以通过这里把它们限制在一定范围内

Resize Algorithm:当纹理尺寸大于指定的 Max Size 时,使用的缩小算法

Mitchell:默认米切尔算法来调整大小,该算法是常用的尺寸缩小算法

Bilinear:使用双线性插值来调整大小。如果细节很重要的图片,可以使用它,它比米切尔算法保留 的细节更多

Format:纹理格式,各平台支持的格式有所不同;若选择 Automatic,会根据平台使用默认设置 分类:

都支持的格式

移动端和网页端特有格式

关于格式选择的注意事项:根据不同平台单独进行设置

IOS:选择默认的纹理压缩设置 (PVRTC) 可获得更大的兼容性。如果您的应用程序不包含 OpenGL ES 2 支持,则可以选择一种 ASTC 格式。这些格式提供更好的质量和灵活性,并 且压缩速度比 PVRTC 快。

Andorid:

由于安卓设备众多,设备标准都不同,一般会根据不同的设备标准制作多个安装包

1. 构建一个以 OpenGL ES 3 为目标的 APK
1-1. 访问 Android 的 Player Settings
(菜单:Edit > Project Settings > Player Settings,然后选择 Android 类别)。
1-2. 向下滚动到 Graphics APIs 部分。
1-3. 确保 OpenGL ES 2 不在列表中。
1-4. 构建 APK
(菜单:File > Build Settings,然后单击 Build)。

2. 构建一个以 OpenGL ES 2 为目标的单独 APK
2-1. 访问 Android Player Settings。
2-2. 向下滚动到 Graphics APIs 部分。
2-3. 在列表中添加 OpenGL ES 2 并删除 OpenGL ES 3 和 Vulkan。
2-4. 构建 APK。

Compression:选择纹理的压缩类型,帮助 Unity 正确选择压缩格式;会根据平台和压缩格式的可用性进行压缩

None:不压缩纹理

Low Quality:以低质量格式压缩纹理

Normal Quality:以标准格式压缩纹理

High Quality:以高质量格式压缩纹理

Use Crunch Compression:启用后,使用 Crunch 压缩。Crunch 是一种基于 DXT 或 ETC 纹理压缩的有损压缩格式;压缩时间长,解压速度快

压缩质量,质量越高意味着纹理越大,压缩事件越长

Split Alpha Channel:Alpha 通道分离,节约内存。会把一张图分成两张纹理。一张包含 RGB 数据,一张包含 Alpha 数据,在渲染时再合并渲染。

Override ETC2 fallback:不支持 ETC2 压缩的设备上,使用的格式

预览窗口

http://www.dtcms.com/a/391013.html

相关文章:

  • 今日赛事前瞻:德甲:斯图加特VS圣保利,意甲:莱切VS卡利亚里
  • AWS CloudTrail 监控特定 SQS 队列事件完整配置指南
  • 【算法】【优选算法】BFS 解决 FloodFill 算法
  • 量化交易 - Stochastic Gradient Descent Regression (SGDRegressor) 随机梯度下降回归 - 机器学习
  • AWS WAF防护IoT设备劫持攻击:智能设备安全防护实践
  • 分享mysql数据库自动备份脚本(本机和docker都可用)
  • avue crud表头跨列
  • 鸿蒙网络优化实战:从智能切换到缓存加速的完整指南
  • Redis-实现分布式锁
  • 软件工程实践五:Spring Boot 接口拦截与 API 监控、流量控制
  • 【LINUX网络】NAT _ 代理_ 内网穿透
  • 智慧养老+数字大健康:当科技为“银发时代”按下温暖加速键
  • rook-ceph的ssd类osd的纠删码rgw存储池在迁移时的异常处理
  • Http升级Https使用Certbot申请证书并免费续期
  • scTenifoldKnk:“虚拟敲除基因”,查看转录组其他基因的变化幅度(升高or降低)
  • 牛客算法基础noob47 校门外的树
  • AD-GS:稀疏视角 3D Gaussian Splatting 的“交替致密化”,同时抑制浮游物与保留细节
  • maven package多出来一个xxx.jar.original和一个xxx-shaded.jar是什么?怎么去掉
  • Gin 框架中使用 Validator 进行参数校验的完整指南
  • apt install nvidia-cuda-toolkit后cuda不在/usr/local/cuda怎么办
  • SpringBoot整合Kafka总结
  • Parasoft C/C++test 针对 CMake 项目的自动化测试配置
  • LED强光手电筒MCU控制方案开发分析
  • linux中为什么 rm 命令能删除自己 | linux使用rm命令删自己会怎样?
  • django登录注册案例(下)
  • 【TES600G】基于JFM7K325T FPGA+FT-M6678 DSP的全国产化信号处理平台
  • 卷积神经网络深度解析:从基础原理到实战应用的完整指南
  • 企业档案管理系统:精准破局制造行业档案管理困境
  • 【完整源码+数据集+部署教程】考古坑洞私挖盗洞图像分割系统: yolov8-seg-act
  • MMDB详解