type
status
date
summary
tags
category
icon

一、前言

本文是自己在学习图片导入设置时做的一些笔记,因为这部分的知识十分零散,所以希望能记录一下方便后期查找

二、参数设置说明

首先,下图是贴图导入时会涉及到的参数图片,参数设置说明会按照下图不同的部分来记录
notion image

2.1 纹理类型

notion image

Default

默认纹理,大部分导入的模型贴图都是该类型
notion image
sRGB(Color Texture)
如果启用,可以将纹理存储在伽马空间中(对每一个像素做一次幂函数运算),能够使图像在人眼中更加自然,所以一般默认勾选
notion image
Alpha Source
指定如何生成纹理的Alpha通道(透明度)
None
无论输入纹理是否有Alpha通道,导入的纹理都没有Alpha通道
Input Texture Alpha
采用输入纹理中自己的Alpha值
From Gray Scale
从输入纹理RGB值的平均值生成Alpha值。因为一般透明度会在Alpha通道中设置,所以较少选择该选项
Alpha Is Transparency
如果启用,可以避免边缘上的瑕疵过滤。一般默认勾选

Normal map

法线贴图格式,会在原物体表面上的每个点均做法线
notion image
法线贴图能够在降低GPU渲染压力的同时,尽可能的保留模型精致的效果。对于模型来说,面数越多一般意味着模型越精致和逼真,但是GPU渲染压力也更大。一个常见的做法是,在一个精细模型上生成法线贴图,然后降低该模型的面数,最后使用该模型在高面数时得到的法线贴图来渲染降低面数后的该模型,这样便能在降低GPU渲染压力的情况下,尽可能的表现出更好的光照效果。
notion image
Create From Grayscale
如果启用,可以从灰度高度贴图创建法线贴图
Bumpiness
控制凹凸程度,值越大凹凸感越强
Filtering
如何计算凹凸值
notion image
Smooth
使用标准算法生成法线贴图
Sharp
生成比标准模式更锐利的法线贴图

Editor GUI and Legacy GUI

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

Sprite(2D and UI)

2D游戏或者UGUI中使用的格式
notion image
Sprite Mode
图像中提取精灵图形的方式
notion image
Single
按原样使用精灵图像
Multiple
瓦片模式,可以在Sprite Editor编辑窗口自定义图片。如图像是图集,应该使用该选项
Polygon
网格精灵模式。如果图像是多边形,可以选择该选项
Pixels Per Unit
世界空间中的一个距离单位对应多少像素
MeshType
网格类型;只有Single和Multiple模式才支持
notion image
Full Rect
创建四边形,将Sprite显示在四边形上,四边形仅由两个三角型网格组成
任何小于32*32的Sprite最终都会自动使用FullRect模式
Tight
基于像素Alpha值来生成网格,更加贴合Sprite图片的形状,会在不规则Sprite上自动生成多个三角形网格
Extrude Edges
使用滑动条确定生成的网格中sprite周围流出的区域大小
Pivot
Sprite图片的轴心点,Single模式才有此选项 对应九宫格布局的九个点,也可以在Sprite Editor中自定义设置
notion image
Generate Physics Shape
启用此选项,Unity会自动根据Sprite轮廓生成默认物理形状 只有Single 和Multiple模式才可使用
Sprite Editor
编辑Sprite,需要安装2D Sprite包

Cursor

自定义光标

Cookie

光源剪影格式
notion image
Light Type
应用的光源类型 一般点光源的剪影需要设置为立方体纹理 方向光和聚光灯的剪影设置为2D纹理
notion image
Spotlight
聚光灯类型,需要边缘纯黑色纹理
Directional
方向光,平铺纹理
Point
点光源,需要设置为立方体形状

Lightmap

光照贴图格式

Single Channel

纹理只需要单通道的格式
notion image
Channel
希望将纹理处理为Alpha还是Red通道
notion image
Alpha
使用Alpha通道,不允许进行压缩
Red
使用红色通道

2.2 纹理形状

notion image
2D
2D纹理,最常用的设置,这些纹理将平铺到模型和GUI元素上
Cube
立方体贴图,主要用于天空盒和反射探针
notion image
Mapping
决定如何将纹理投影到游戏对象上
notion image
Auto
根据纹理信息创建布局
6 Frames Layout
纹理包含标准立方体贴图布局之一排列的六个图像
Latitude-Longitude Layout
将纹理映射到2D维度/经度
Mirrored Ball
将纹理映射到类似球体的立方体贴图上
Convolution Type
纹理的过滤类型
notion image
None
无过滤
Specular
将立方体作为反射探针
Diffuse
将纹理进行过滤表示辐照度,可作为光照探针
Fixup Edge Seams
用来解决低端设备上立方体贴图过滤错误
Convolution Type为None和Diffuse下才有用

2.3 高级设置

高级设置是关于纹理的尺寸规则、读写规则、以及MipMap相关设置的规则
notion image

什么是MipMap

简单来说,开启MipMap功能时,Unity会根据图片信息生成n张不同分辨率的图片,然后根据场景中距离该模型的距离选择合适尺寸的图片用于渲染,提升渲染效率
在三维计算机图形的贴图渲染中,有一个常用的技术被称为Mipmapping,指的是为了加快贴图的渲染速度和减少图像锯齿,贴图会被处理成由一系列被预先计算和优化过的图片组成的文件,这样的贴图被称为Mipmaps(会占用一定的内存空间)
Mipmaps需要被读取的像素远少于普通的贴图,所以渲染速度得到了提升,并且由于Mipmaps已经做过抗锯齿处理,同时也减少了实时渲染的负担,图像的放大缩小也变得更有效率
如果贴图的基本尺寸是256*256,Mipmaps将会有8个层级,每个层级是上一个层级的四分之一大小,所以依次为:128*128,64*64,32*32,16*16,8*8,4*4,2*2,1*1
如下图例子,启用了Mipmaps之后,可以拖动查看Mipmaps效果
notion image
 

Non-Power of 2

如果纹理尺寸不是2的幂次方时该如何处理(一般会改变图片的尺寸)
None
纹理尺寸大小保持不变
ToNearest
将纹理缩放到最接近2的幂的大小 (注意:PVRTC格式要求纹理为正方形)
ToLarge
将纹理缩放到最大尺寸大小值的2的幂的大小
ToSmaller
将纹理缩放到最小尺寸大小值的2的幂的大小

Read/Write Enabled

如果启用,可以使用Unity中提供的一些方法从纹理中获取到数据(一般需要获取图片数据时才开启,因为会拷贝更多的数据增加图片占用内存)

Streaming Mipmaps

启用则可以使用纹理串流,主要用于控制加载在内存中的Mipmap级别,用于减少Unity对于纹理所需的内存总量,用性能换内存
notion image
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淡化为灰色

2.4 平铺拉伸

主要设置纹理的平铺规则以及拉伸规则
notion image
Wrap Mode
平铺纹理时的方式
Repeat
在区块中重复纹理
notion image
Clamp
拉伸纹理的边缘
notion image
Mirror
在每个整数边界上镜像纹理以创建重复图案
notion image
Mirror Once
镜像纹理一次,然后将拉伸边缘纹理
notion image
Per-axis
单独控制如何在U轴和V轴上包裹纹理
Filter Mode
纹理在通过3D变化拉伸时如何进行过度
Point
纹理在变为块状,像素更加分明
Bilinear
纹理在靠近时变得模糊
Trilinear
与Bilinear类似,但纹理也在不同的Mip级别之间模糊
Aniso Level
旋转以大角度查看纹理时提高纹理质量。性能消耗高

2.5 平台设置

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

Max Size

设置导入的纹理的最大尺寸,即使美术出的图很大,也可以通过设置Max Size把它们限制在一定范围内(支持2048以上尺寸的设备较少)

Resize Algorithm

当纹理尺寸大于指定的Max Size时,使用的缩小算法
Mitchell
默认米切尔算法来调整大小,该算法是常用的尺寸缩小算法
Bilinear
使用双线性插值来调整大小。如果细节很重要的图片,可以使用它,它比米切尔算法保留的细节更多

Format

纹理格式。各平台支持的格式有所不同,如果选择Automatic,会根据平台使用默认设置
notion image
所有平台都支持的格式
notion image
移动端和WebGL端特有的格式
notion image
格式选择的注意事项
IOS
选择默认的纹理压缩设置(PVRTC)可以获得更大的兼容性。
如果您的应用程序不包含OpenGL ES2支持,则可以选择一种ASTC格式。这些格式能够提供更好的质量和灵活性,并且压缩速度比PVRTC快
Android
notion image
由于安卓设备众多,设备标准都不统一,一般会根据不同的设备标准制作多个安装包,在游戏下载平台上根据设备不同下载不同的安装包
构建一个以 OpenGL ES 3 为目标的 APK
  • 访问 Android 的 Player Settings,(菜单:Edit > Project Settings >Player Settings,然后选择 Android 类别)
  • 向下滚动到 Graphics APIs 部分
  • 确保 OpenGL ES 2 不在列表中
  • 构建 APK(菜单:File > Build Settings,然后单击 Build)
构建一个以 OpenGL ES 2 为目标的单独 APK
  • 访问 Android Player Settings
  • 向下滚动到 Graphics APIs 部分
  • 在列表中添加 OpenGL ES 2并删除 OpenGL ES 3 和 Vulkan
  • 构建 APK

Compression

选择纹理的压缩类型,帮助Unity正确选择压缩格式,会根据平台和压缩格式的可用性进行压缩
notion image
None
不压缩纹理
Low Quality
以低质量格式压缩纹理
Normal Quality
以标准格式压缩纹理
High Quality
以高质量格式压缩纹理

Use Crunch Compression

启用后,使用Crunch压缩。Crunch是一种基于DXT或ETC纹理压缩的有损压缩格式。压缩时间较长,但解压速度快。
Compressor Quality
notion image
压缩质量。质量越高意味着纹理越大,压缩时间越长
 
 
如图片加载错误,可以刷新多试几次
深入解析C#笔记 C# 2 可空值类型Unity 笔记 Scroll View参数设置
  • Twikoo
  • Cusdis