Unity图片导入设置
🏆 个人愚见,没事写写笔记
🏆《博客内容》:Unity3D开发内容
🏆🎉欢迎 👍点赞✍评论⭐收藏
🔎Unity支持的图片格式
☀️BMP:是Windows操作系统的标准图像文件格式,特点是几乎不进行压缩,占磁盘空间大
☀️TIF:基本不损失图片信息的图片格式,缺点是体积大
☀️JPG:一般指JPEG格式,属于有损压缩格式,能够让图像压缩在很小的存储空间,一定程度上会损失图片数据,无透明通道
☀️PNG:无损压缩算法的位图格式,压缩比高,生成文件小,有透明通道
☀️TGA:支持压缩,使用不失真的压缩算法,还支持编码压缩。体积小,效果清晰,兼备BMP的图像质量和JPG的体积优势,有透明通道
☀️PSD:是PhotoShop(PS)图形处理软件专用的格式,通过一些第三方工具或自制工具可以直接将PSD界面转为UI界面
☀️其它还支持:EXR、GIF、HDR、IFF、PICT等等
☀️Unity最常用的图片格式:JPG、PNG、TGA三种格式
🔎图片设置的6大部分
☀️纹理类型:Texture Type
🛠️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:网格精灵模式
📌Pixels Per Unit:世界空间中的一个距离单位对应多少像素:1米=100像素
📌MeshType:网格类型;只有Single和Multiple模式才支持
Full Rect:创建四边形,将精灵显示在四边形上
Tight:基于像素Alpha值来生成网格,更加贴合精灵图片的形状
任何小于32*32的精灵都使用FullRect模式,即使设置成Tight模式也是
📌Extrude Edges:使用滑动条确定生成的网格中精灵周围流出的区域大小
📌Pivot:精灵图片的轴心点,Single模式才有此选项 对应九宫格布局的九个点,还可以自定义
📌Generate Physics Shape:启用此选项,Unity会自动根据精灵轮廓生成默认物理形状 只有Single 和Multiple模式才可使用
📌Sprite Editor:编辑Sprite,需要安装2D Sprite包
🛠️Cursor:自定义光标
🛠️Cookie:光源剪影格式
⚙️Light Type:应用的光源类型
一般点光源的剪影需要设置(Texture Shape)为立方体纹理(Cube) ,方向光和聚光灯的剪影设置为2D纹理(2D)
📌Spotlight:聚光灯类型,需要边缘纯黑色纹理
📌Directional:方向光,平铺纹理
📌Point:点光源,需要设置为立方体形状
🛠️Lightmap:光照贴图格式
🛠️Single Channel:纹理只需要单通道的格式
⚙️Channel:希望将纹理处理为Alpha还是Red通道
📌Alpha:使用Alpha通道,不允许进行压缩
📌Red:使用红色通道
☀️纹理形状:Texture Shape
纹理不仅可以用于模型贴图,还可以用于制作天空盒和反射探针,纹理形状设置主要就是用于在两种模式之间进行切换
🛠️2D:2D纹理,最常用设置,这些纹理将使用到模型和GUI元素上
🛠️Cube:立方体贴图,主要用于天空盒和反射探针
⚙️Mapping:如何将纹理投影到游戏对象上
📌Auto:根据纹理信息创建布局
📌6 Frames Layout:纹理包含标准立方体贴图布局之一排列的六个图像
📌Latitude-Longitude Layout:将纹理映射到2D维度/经度
📌Mirrored Ball:将纹理映射到类似球体的立方体贴图上
⚙️Convolution Type:纹理的过滤类型
📌None:无过滤
📌Specular:将立方体作为反射探针
📌Diffuse:将纹理进行过滤表示辐照度,可作为光照探针
⚙️Fixup Edge Seams:Convolution Type 为None 和 Diffuse下才有用。解决低端设备上面之间立方体贴图过滤错误
☀️高级设置
高级设置主要是纹理的一些尺寸规则、读写规则、以及MipMap相关设置
🛠️Non-Power of 2:如果纹理尺寸非2的幂如何处理
📌None:纹理尺寸大小保持不变
📌To nearest:将纹理缩放到最接近2的幂的大小 (注意:PVRTC格式要求纹理为正方形)
📌To larger:将纹理缩放到最大尺寸大小值的2的幂的大小
📌To smaller:将纹理缩放到最小尺寸大小值的2的幂的大小
🛠️Read/Write Enabled:启用可以使用Unity中提供的一些方法从纹理中获取到数据(一般需要获取图片数据时才开启)
⚠️MipMap:开启MipMap功能后,Unity会帮助我们根据图片信息生成n张不同分辨率的图片,在场景中会根据我们离该模型的距离选择合适尺寸的图片用于渲染,提升渲染效率。Mipmap 需要占用一定的内存空间。。
🛠️Streaming Mipmaps:启用则可以使用纹理串流,主要用于在控制加载在内存中的Mipmap级别,用于减少Unity对于纹理所需的内存总量,用性能换内存
⚙️Mip Map Priority: Mipmap优先级,Unity根据优先级来确定分配资源时优先考虑哪些Mipmap
🛠️Generate Mip Maps:允许生成MipMap
⚙️Border Mip Maps:启用可避免颜色向外渗透到较低 MipMap级别的边缘
⚙️Mip Map Filtering: 优化图像质量的过滤方法
📌Box:随着尺寸减小,级别更加平滑
📌Kaiser:随着Mipmap尺寸大小下降而使用的锐化算法,如果远处纹理太模糊,可以使用该算法
⚙️Mip Maps Preserve Coverage: Mipmap的Alpha通道在Alpha测试期间保留覆盖率
📌Alpha Cutoff Value:覆盖率参考值
⚙️Fadeout Mip Maps: 级别递减时使Mipmap淡化为灰色
☀️平铺拉伸
🛠️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:以高质量格式压缩纹理