包含此页的版本:
不含此页的版本:
mipmap 级别是具有特定分辨率的纹理版本。Mipmap 级别存在于称为 mipmap 的集合中。Mipmap 包含单个纹理的逐渐变小和分辨率较低的版本。
例如,mipmap 可能包含纹理的四个版本,从原始纹理 (mipmap 级别 0) 到 Mipmap 级别 1、mipmap 级别 2 和 mipmap 级别 3:
Mipmap 通常用于在 3D 中渲染对象场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表,其中纹理对象与相机在场景中创建特定视点图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。更多信息
请参阅术语表.较高的 mipmap 级别用于靠近相机的对象,较低的 mipmap 级别用于较远的对象。
Mipmap 可以加快渲染作,并在 GPU 以低于其全分辨率渲染纹理的情况下减少渲染伪影。mipmap 实际上是原始纹理的缓存、下采样版本。GPU 可以在已缩减采样的版本上执行较少数量的作,而不是对原始全分辨率纹理执行许多采样作。
有时,mipmap 没有用处。Mipmap 将磁盘和内存中的纹理大小增加 33%。当纹理仅以全分辨率呈现时,它们也没有任何好处,例如未缩放的 UI 纹理。
您可以手动为纹理创建 mipmap,也可以指示 Unity 为您生成 mipmap。若要自动生成 mipmap,请确保原始纹理的分辨率为 2 的幂值,如示例 mipmap 图像所示。
你可以在纹理导入设置检查器中启用或禁用纹理资产的mipmap。
当 GPU 对纹理进行采样时,它会根据当前纹理坐标 (UV) 确定要使用的 mipmap 级别像素计算机图像中的最小单位。像素大小取决于您的屏幕分辨率。像素光照是在每个屏幕像素下计算的。更多信息
请参阅术语表,以及 GPU 计算的两个内部值:DDX 和 DDY。DDX 和 DDY 提供有关当前像素旁边和上方像素的 UV 的信息,包括距离和角度。
GPU使用这些值来确定摄像机可见的纹理细节量。当前像素与其相邻像素之间的距离越大,角度越极端,意味着 GPU 选择分辨率较低的 mipmap 级别;较短的距离和较小的极端角度意味着 GPU 选择具有更高分辨率的 mipmap 级别。
GPU 还可以将来自两个 mipmap 级别的纹理信息与三线性筛选混合在一起。在采样时混合 Mipmap 级别可以使从一个 Mipmap 级别到另一个 Mipmap 级别的转换不那么明显。若要混合 Mipmap 级别,GPU 会从一个 Mipmap 级别获取特定百分比的纹理信息,其余部分则从另一个 mipmap 级别获取。
称为 mipmap bias 的设置可以在采样时根据采样器设置执行两项作:
GPU 具有全局 mipmap 偏差,默认情况下,它会将其应用于其 mipmap 级别选择。纹理可以有自己的 mipmap 偏差,Unity 会在全局 mipmap 偏差中添加或减去该偏差。还可以在着色器在 GPU 上运行的程序。更多信息
请参阅术语表.
若要设置单个纹理的 mipmap 偏差,请参阅 Texture.mipMapBias。若要在手动编码着色器中为纹理采样作设置 mipmap 偏差,请使用 HLSL 函数,例如 tex2dbias。若要在着色器图表中为纹理采样作设置 mipmap 偏差,请参阅采样纹理 2D 数组节点或采样纹理 2D 节点。
您可以使用 Mipmap Streaming 控制 Unity 在运行时加载 mipmap 的方式。