【URP】Unity中Mipmap Streaming原理与实现

news/2025/10/20 9:06:38/文章来源:https://www.cnblogs.com/SmalBox/p/19151765

【从UnityURP开始探索游戏渲染】专栏-直达

纹理流送技术,其核心在于动态加载纹理的 Mipmap 级别,而非一次性加载所有层级的纹理数据。传统 Mipmap 会预生成并加载所有层级的纹理(从原始尺寸到最小尺寸),占用显存为原始纹理的 4/3 倍。

Mipmap Streaming 优化机制:

分级加载‌:

  • 根据物体与摄像机的距离,仅加载当前所需的 Mip 层级,其他层级按需从磁盘异步加载。

DDX/DDY 计算‌:

  • GPU 通过内部值 DDX 和 DDY(基于像素的 UV 坐标变化率)动态决定采样所需的 Mip 层级,匹配像素覆盖的 Texel 大小。

纹理金字塔管理‌:

  • Unity 维护一个纹理金字塔(14 个层级,最高支持 8192x8192),运行时仅激活必要的层级。

解决的问题

显存优化‌:

  • 避免一次性加载所有 Mip 层级,显著降低显存占用,尤其对移动端(如 HUAWEI P30 测试案例)和高分辨率纹理场景至关重要。

带宽效率‌:

  • 减少 GPU 带宽压力,仅传输可见层级的纹理数据,提升渲染性能。

摩尔纹消除‌:

  • 通过动态匹配 Mip 层级,避免远距离物体因像素与 Texel 不匹配产生的锯齿和摩尔纹。

原理详解

当物体远离摄像机时主要流程:

  • GPU 通过 DDX/DDY 计算当前像素覆盖的 Texel 面积,选择 Mip 10(512x512)。
  • Unity 释放更高层级的显存(如 Mip 11-12),从磁盘按需加载更低层级(如 Mip 9)。
  • 若物体突然靠近,高优先级层级的 Mip 会优先加载,避免视觉卡顿。

Mip 层级选择计算

  • GPU 通过 DDX/DDY 导数计算当前像素的 UV 变化率,推导出纹理采样所需的理想 Mip 层级(记为 MipLevelideal)。例如,当物体远离摄像机时,UV 变化率降低,MipLevelideal 值增大(选择更低分辨率的层级)。

层级动态加载与卸载

  • Unity 仅将 MipLevelideal 及其相邻层级(如 ±1 级)加载到显存,其他层级保留在磁盘。例如:
    • MipLevelideal=4(对应 256x256 纹理),则加载 Mip 3-5 级,卸载其他层级。
    • 通过 Texture2D.streamingMipmaps 属性可强制指定加载特定层级(如 MipLevelideal+2)。

内存预算控制

  • 系统根据 QualitySettings.streamingMipmapsMemoryBudget 全局预算动态调整层级。若总纹理内存超限,自动降低非关键纹理的 Mip 层级(如将 MipLevelideal 强制偏移 +1)。

具体示例:开放世界地形纹理流送

假设场景中存在 2048x2048 的地形纹理(Mip 0-11 级),摄像机由近及远移动:

  • 近距离阶段

    • 计算得 MipLevelideal=2(512x512),加载 Mip 1-3 级。
    • 显存占用:512² + 256² + 1024²(约 1.75MB)。
  • 中距离阶段

    • 摄像机拉远,MipLevelideal 变为 5(64x64),卸载 Mip 1-3,加载 Mip 4-6。
    • 显存降至 64² + 32² + 128²(约 24KB)。
  • 突发情况处理

    若摄像机快速切近,通过 Texture.streamingMipmapPriority 提高优先级,强制预加载 Mip 0-2 级以避免卡顿。

关键 API 与配置

  • 纹理设置‌:在 Inspector 中启用 Streaming Mip Maps 并设置 Mip Map Priority(默认 0,范围 -128 到 127)。

  • 代码控制‌:

    csharp
    // 强制某纹理使用 Mip 5 级
    Texture2D tex = GetComponent<Renderer>().material.mainTexture as Texture2D;
    tex.streamingMipmaps = true;
    tex.RequestMipLevel(5);// 异步加载
    
  • 摄像机覆盖‌:通过 Streaming Controller 组件设置 Mipmap Bias,全局偏移所有纹理的 MipLevelideal(如 +2 级以降低画质)

纹理金字塔的共享机制

Unity 的纹理金字塔(Mipmap 层级)是‌基于纹理资源本身维护的‌,而非每个物体单独维护。所有使用同一纹理的物体共享同一套纹理金字塔数据,运行时根据物体的屏幕空间覆盖率和摄像机距离动态激活所需的 Mip 层级。

资源级管理

  • 每个导入的纹理(如 2048x2048 的 PNG)在 Unity 中生成独立的 Mipmap 金字塔(14 个层级)。这些层级存储在磁盘和内存中,作为纹理资源的固有属性,而非物体属性。

动态层级激活

  • GPU 通过 DDX/DDY 计算当前像素的 UV 变化率,推导出适合的 Mip 层级(如远距离物体使用 Mip 5 级)。
  • Unity 的 Mipmap Streaming 系统仅加载当前需要的层级(如 Mip 4-6),其他层级保留在磁盘或按需异步加载。

显存优化

  • 多个物体共享同一纹理时,显存中仅存储该纹理的激活层级。例如:
    • 物体 A 和 B 使用纹理 Tex_01,当前需 Mip 3 级,显存仅保留 512x512 版本。
    • 物体 C 使用同一纹理但需 Mip 5 级,系统复用已有金字塔数据,无需重复加载。

示例场景分析

假设场景中有 100 个岩石模型共用同一 4K 纹理:

  • 未启用 Streaming‌:所有 14 个 Mip 层级(总计约 5.3MB)加载到显存,无论物体远近。
  • 启用 Streaming‌:
    • 近处岩石使用 Mip 2(1024x1024),远处使用 Mip 6(256x256)。
    • 显存仅保留 Mip 2-4 和 Mip 5-7,其他层级卸载,总占用降至 1.2MB。

性能影响与配置

  • 全局控制参数‌:QualitySettings.streamingMipmapsMemoryBudget 限制所有纹理的流送内存总和,超限时自动降低非关键纹理的层级。
  • 优先级设置‌:通过 Texture.mipMapPriority 调整纹理加载顺序,确保重要纹理(如角色贴图)优先获取高精度层级。

这种设计避免了重复资源存储,同时通过动态流送优化显存和带宽

使用场景与限制

适用场景

  • 开放世界或大场景‌:远处物体自动使用低分辨率 Mip 层级,减少不必要的细节加载。
  • 移动端项目‌:显存和带宽受限的设备(如 Unity 测试案例中的 HUAWEI P30)。
  • 高分辨率纹理‌:如 4K/8K 纹理,传统全加载方式显存消耗过大。

限制

  • 内存额外开销‌:需存储所有 Mip 层级到磁盘,占用约 33% 额外空间。
  • 加载延迟风险‌:动态流送可能导致远处物体短暂显示低清纹理(需优化加载优先级)。
  • UI 纹理不适用‌:UI 元素通常需保持高清,关闭 Mipmap 更高效。

具体示例与实现

示例 1:基础配置

在 Unity URP 中启用 Mipmap Streaming:

  • 纹理导入设置‌:勾选 Generate Mip MapsStreaming Mipmaps,设置 Mip Map Priority(优先级越高越早加载)。
  • 代码控制‌:通过 Texture.streamingMipmaps API 动态启用/禁用流送。

示例 2:性能对比

  • 未启用 Streaming‌:2048x2048 纹理加载所有 12 个 Mip 层级(显存占用约 5.3MB)。
  • 启用 Streaming‌:仅加载 Mip 10(512x512)时显存占用降至 0.8MB,随距离变化动态加载其他层级。

总结

Mipmap Streaming 通过动态管理纹理金字塔,平衡了显存占用与渲染质量,是 URP 管线中优化大规模场景的关键技术。其核心优势在于按需加载,但需注意磁盘空间和加载延迟的权衡


【从UnityURP开始探索游戏渲染】专栏-直达
(欢迎点赞留言探讨,更多人加入进来能更加完善这个探索的过程,🙏)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/940880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何设计PAD ring?

流程: 1)根据系统(其他芯片的)要求,芯片内部的floorplan,决定信号PAD的位置 2)计算出power PAD的个数,插入到信号PAD里面 3)加其他的PAD,比如IO filler,power cut,power on control,corner PAD,ESD等 细…

2025 年钢结构源头厂家最新推荐排行榜:聚焦美标欧标 / 环保设备 / 厂房别墅等多领域优质供应商,精选优质厂家助力企业精准选材

引言在当前钢结构行业快速发展的背景下,市场需求不断攀升,但行业乱象也随之凸显。部分企业资质不全却违规承接项目,导致工程质量与安全隐患;有些企业缺乏核心技术,产品性能不稳定,难以满足美标、欧标等高标准要求…

PostgreSQL 18 中国贡献者经验分享:开源参与的四点建议

2025 年 9 月 25 日,PostgreSQL 18 正式发布。该版本不仅修复了上百个问题,更带来了多项颠覆性的功能升级,例如全新的异步 I/O(AIO)框架、新增的跳跃式扫描(SKIP SCAN)技术,以及原生 UUIDv7 支持等,每一项升级…

C#实现连续语音转文字

一、基础实现方案(System.Speech) 1. 环境配置 // 安装NuGet包 Install-Package System.Speech// 添加语言包(控制面板) 控制面板 -> 语言 -> 添加中文语音包2. 核心代码实现 using System.Speech.Recogniti…

2025 年铝门窗厂家推荐排行榜,系统 / 智能 / 断桥 / 窄边 / 定制 / 全景 / 阳光房 / 隐框 / 隔声 / 防火铝门窗公司推荐

引言当前铝门窗市场需求攀升,但行业乱象凸显。部分小型厂家生产体系不完善,产品材质不达标、工艺粗糙,耐用性差;多数企业创新不足,产品同质化严重,难以满足消费者个性化需求;且不少品牌售后体系缺失,消费者维权…

如何把研究性学习糊弄过去

学校搞了个研究性学习,目测是计入综评分还是什么东西。课题只能从它给的内容里选,很地狱。 发现了一个识别手写数字的东西,这不是我们伟大的工程题吗!于是开始思考如何糊弄过去。 咕咕咕。

2025 年碳晶板厂家最新推荐榜:涵盖木纹 / 白色 / 全屋整装等品类,西南及全国优质品牌甄选指南

引言随着碳晶板在墙面装饰、全屋整装等领域应用愈发广泛,市场需求持续攀升,但行业乱象也随之凸显。部分品牌以次充好,用劣质基材降低成本,导致产品强度不足、耐候性差,甚至存在安全隐患;新品牌涌入后产品同质化严…

2025 年干细胞服务机构最新推荐排行榜:聚焦三体系认证与专利技术,精选优质机构供选择

引言当前干细胞技术在健康管理、疾病干预等领域应用愈发广泛,但行业乱象却让消费者难以抉择。部分机构缺乏规范制备流程,质量管理体系缺失,细胞产品安全与有效性无保障;一些机构研发能力薄弱,仅靠基础存储业务,无…

2025 最新隔音棉生产厂家口碑推荐榜:甄选家装公装专用材质,含西南 / 昆明阻尼片 / 吊顶 / 止震板品牌最新推荐

引言随着建筑声学需求升级,隔音棉已成为酒店、KTV、住宅等场景的刚需材料,但市场乱象让采购者举步维艰:部分产品隔音量虚标、防火等级不达标,潮湿环境易发霉老化;中小品牌交付延迟、售后缺位,公装项目常因材料问…

2025 灭老鼠公司最新推荐榜:欧盟认证技术加持,环保服务双优品牌权威甄选指南

引言后疫情时代,有害生物防制需求持续攀升,但鼠患治理市场乱象丛生:部分机构依赖低效化学药剂导致残留污染,通用化方案引发鼠患反复,应急响应滞后让家庭与企业蒙受额外损失,尤其餐饮、医疗等特殊场景更面临合规风…

2025 最新推荐!全国除甲醛公司权威榜单发布,解析蓉皓等标杆企业技术服务优势,覆盖新房 / 办公 / 学校多场景

引言据中国室内环境监测工作委员会数据,我国新装修住宅甲醛超标率居高不下,因治理不当引发的健康纠纷逐年上升。当前除甲醛市场品牌繁杂,部分企业缺乏甲级资质,使用的药剂未达环保标准,不仅除醛效果差,还易造成二…

KingbaseES V8R6清理冗余历史rman备份

KingbaseES V8R6清理冗余历史rman备份对于KingbaseES V8R6的通过sys_rman执行的物理历史备份,可以在执行备份时,备份的保留(retention)策略自动清理。不能通过手工删除备份,可以通过expire参数手工清理历史的冗余…

上周热点回顾(10.13

热点随笔:史诗级漏洞警报:ASP.NET Core 被曝 CVSS 9.9 分漏洞,几乎所有.NET 版本无一幸免! (马行空的博客) 每天10分钟,混剪视频Agent产出50条爆款,单月变现6位数(喂饭级教程) (AI架构师汤师爷) .NET 10 Rel…

一文读懂零知识证明Plonk 协议

下面是一篇专为“小白”准备的 Plonk 通俗科普,目标是让你 5 分钟内知道它到底在干什么、厉害在哪里,以及它背后的“魔法”到底是哪一招。一、先讲个故事:不泄密又能让人相信你 小明自称会瞬间移动,但不想把秘诀告…

P14259 兄妹(siblings)题解

闲话:这似乎是我第一次在 luogu 场切绿。蒟蒻对思维题不太擅长 QwQ。 前置芝士动态规划 / DP子集划分问题 / 可行性背包思路 首先观察这个放书的性质。结论:对于在同一个书架上的书,只需要一个人去负责。 证明也比较…

2025 年国内连接器厂家经销商最新推荐榜:聚焦优质品牌,助力企业精准采购,实力企业深度解析住友/日端/HRS连接器经销商推荐

引言在电子制造行业高速发展的背景下,连接器作为核心部件,其品质与供应效率直接关乎企业生产进度与产品质量。当前市场中,连接器供应商数量繁杂,产品质量参差不齐,“多品种、小批量、短交期” 的采购痛点让众多企…

2025.10.19 零试

大荒囚天指 吸取教训前一天不打 ABC 了。 这次零试拖了两个月才办出来,然后女丘初试和零试并在一起了。属于是之前也没有参考数据的东西。 前一天中午出发之前开了一把绝巴。进塔之后互架了几分钟发现塔里是两对一样配…

2025 年济南画室最新推荐品牌口碑排行榜权威发布,涵盖小班教学与全封闭管理机构,助力艺考生选优质画室

引言当前济南美术艺考培训市场蓬勃发展,各类画室数量急剧增加,但市场秩序却较为混乱。不少画室存在教学资质缺失、师资水平参差不齐、教学模式落后等问题,有的画室采用几十人的大班授课,教师无法兼顾每位学生,导致…

2025 年最新货代公司排行榜:国内优质企业权威推荐,助力企业精准挑选靠谱合作伙伴泰国/印尼/马来/日本/东南亚货代公司推荐

当前全球贸易格局不断变化,货代行业作为进出口贸易的关键支撑,市场需求持续增长,但行业乱象也随之凸显。众多货代公司资质不一,部分企业缺乏专业团队与成熟资源,在货物运输、清关报检等环节频繁出现延误、流程混乱…