0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

描述几种优化3D场景的规则和方法

嵌入式小生 来源:嵌入式小生 作者:iriczhao 2022-10-10 16:38 次阅读

使用QML来做3D应用开发,优化3D场景和优化设计对3D应用程序将有着显著性能影响。本文描述几种优化3D场景的规则和方法。

一、四种3D场景设计方式

3D场景有多种不同的创建组合方式。例如:高级场景、低级场景、混合场景和Vertex颜色场景。与其他版本的场景相比,高级场景中包含了更多的对象。

低级、混合和Vertex场景包含的对象相对更少,因为它们已经通过将几何形状和烘烤材料结合到纹理中进行了优化。下图显示了Navigator视图中每个场景中的组件,用于对比说明场景之间的结构差异:

69e0232e-35c2-11ed-ba43-dac502259ad0.png

(1-1)低级场景

9ea598e6-35c2-11ed-ba43-dac502259ad0.png

如上图所示,低级场景总共包含12个对象。每个模型(例如橱柜、灯、盘子和水槽)都是独立的网格。

(1-2)高级场景

a4d52182-35c2-11ed-ba43-dac502259ad0.png

如上图所示,高场景总共包含27个对象。这个场景在其他方面与低级场景相似,但含有更多的细节和动画组件(如可以打开的橱柜门和烤箱的门闩)

(1-2)混合场景

ae0acd24-35c2-11ed-ba43-dac502259ad0.png

混合场景是将所有的网格组合成一个单独对象,所有材料都被烘焙成单一的纹理。

(1-3)Vertex颜色场景

ae47b338-35c2-11ed-ba43-dac502259ad0.png

该场景将所有的网格组合成一个单独的对象,网格的颜色由.mesh文件的顶点数据描述,其中包括材质,没有纹理。

在本小节中,出现的高级场景、低级场景、混合场景和Vertex颜色场景四种场景,本质上是一种组织3D场景的方法。在高级场景中,包含的3D对象就非常多,为什么需要包含这么多的3D对象呢,多数情况下,就是为了将小对象分离出来做动画效果和动画控制。如果一个场景中没有动画需求,则完全可采用混合场景和Vertex颜色场景的方法来设计3D场景,还提升了应用渲染性能。

二、3D场景优化规则

为了优化3D场景的图形渲染性能,首先应考虑是否需要给3D对象、灯光、相机或场景中的组件添加动画,如果不需要就尽可能简化场景结构,例如:可以将几何图形和烘烤材料结合到纹理中。理想情况下,将3D图像预渲染为2D图像是很好的选择。检查场景是否存在相同网格的多个实例,如果存在,则只导入一个网格实例,然后在场景中复制它,并为每个副本使用相同的材质。

(2-1)Scene Graph

在Qt Design Studio中,由Navigator中的树形视图表示场景图。同时,我们还可以在Code视图中查看节点的层次结构。通过最小化场景图,可以减少运行场景时所需的工作。因为具有复杂功能的深层层级嵌套将增加性能成本,为了优化场景图,应尽可能避免不必要的组和复杂的层次结构。

(2-2)资源文件优化

尽可能减少资源文件的使用和加载,可以提高渲染性能(在实际3D应用开发过程中,由于多种因素,设计过程中资源文件往往都非常多,一般的做法是:一边开发一边优化资源文件)。

在设计3D素材模型时,应尽量使用最少的三角形或顶点来达到预期的建模效果。因为在3D场景渲染时,较少的图形数量可以降低内存需求量并有助于快速渲染。

(2-3)CPU性能优化

显示3D对象需要CPU或者GPU的大量处理工作。处理每个3D组件都会消耗资源,因此减少可见对象的数量可以减少CPU的工作量。优化建议如下:

(1)合并位置相邻且共享纹理的对象。

注意:合并不共享纹理的对象不会在运行场景时提高CPU性能。

(2)将不同的纹理组合成一个纹理图集,以此方法来减少材料的使用。

(3)避免多次渲染对象。

(2-4)优化模型的几何形状

(1)减少模型中三角形的使用数量。

(2)减少用加倍顶点创建的UV映射接缝和硬边的数量。

三、总结

下表总结了优化3D场景相关的最佳实践:

序号 3D行为 最佳实践建议
1 从3D场景中获得最佳性能 如果不需要动画,可以将3D场景预渲染成2D图像。
2 场景中物体的动画 合并所有静态对象,只导出每个动画组件中的一个。
3 相机动画 虽然在这种情况下使用2D图像是不可取的,但应该将所有的几何图形、烘焙光照和材质合并到一个单一的材质中
4 光照动画 优化方法与“相机动画”一样
5 在网格分离的3D场景中获得最佳性能 对于同一个网格的每个实例使用相同的材质
6 在运行时禁用网格渲染 保持特定的网格分离,合并其他组件。
7 使用低内存的烘焙纹理 将网格颜色烘焙成顶点颜色

现代软件,3D开发属于较高级的开发了(做游戏的除外啦,哈哈),Qt Quick提供的3D开发基础组件的功能也非常强大,高版本的Qt对3D性能做了较多优化,且3D开发作为Quick的未来发展方向之一,也得到了官方的大量优化和维护。

下列为官方提供的一个车载中控终端软件demo,在软件中融入了3D元素,形象直观且炫酷。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10932

    浏览量

    213558

原文标题:QML性能优化 | 3D场景优化

文章出处:【微信号:嵌入式小生,微信公众号:嵌入式小生】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    英伦科技裸眼3D便携屏有哪些特点?

    英伦科技裸眼3D便携屏采用了领先的光场裸眼3D技术,无需佩戴3D眼镜即可观看,给用户带来裸眼看3D视频的体验,为用户带来更加便捷和自由的视觉享受。
    的头像 发表于 02-06 14:20 141次阅读
    英伦科技裸眼<b class='flag-5'>3D</b>便携屏有哪些特点?

    SciChart 3D for WPF图表库

    DirectX 支持的 WPF 3D 图表和广泛的 API 完成工作。 WPF 3D 图表性能 我们传奇的 WPF 3D 图表性能由广泛的端到端性能优化、不安全代码、C++ 互操作、
    的头像 发表于 01-23 13:49 171次阅读
    SciChart <b class='flag-5'>3D</b> for WPF图表库

    腾讯混元3D AI创作引擎正式发布

    近日,腾讯公司宣布其自主研发的混元3D AI创作引擎已正式上线。这一创新性的创作工具将为用户带来前所未有的3D内容创作体验,标志着腾讯在AI技术领域的又一重大突破。 混元3D AI创作引擎凭借其强大
    的头像 发表于 01-23 10:33 238次阅读

    腾讯混元3D AI创作引擎正式上线

    近日,腾讯公司宣布其自主研发的混元3D AI创作引擎已正式上线。这一创新性的创作工具,标志着腾讯在3D内容生成领域迈出了重要一步。 混元3D AI创作引擎的核心功能极为强大,用户只需通过简单的提示词
    的头像 发表于 01-22 10:26 215次阅读

    中兴通讯全场景AI终端应用与裸眼3D新品亮相

    ”的产品战略与理念,终端业务六大AI主题展示吸引了众多关注,内容覆盖全球领先的AI裸眼3D、AI同声传译和方言互译、AI安全反诈、AI智慧商务和创作、红魔AI游戏魔方以及AI魔法影像等应用和产品。在此
    的头像 发表于 10-15 10:00 1086次阅读

    3D ToF三维场景距离(景深)测量系统简介

    电子发烧友网站提供《3D ToF三维场景距离(景深)测量系统简介.pdf》资料免费下载
    发表于 09-29 10:55 0次下载
    <b class='flag-5'>3D</b> ToF三维<b class='flag-5'>场景</b>距离(景深)测量系统简介

    透明塑料件喷粉3D扫描CAV全尺寸检测逆向3D建模设计服务-CASAIM

    3D建模
    中科院广州电子
    发布于 :2024年08月30日 10:04:53

    欢创播报 腾讯元宝首发3D生成应用

    App。 腾讯元宝APP发布时,就围绕工作效率场景、日常生活等场景提供了丰富的应用,并有创建个人智能体等个性化体验,“3D角色梦工厂”则将大模型生成技术和3D应用结合,进一步创新了元宝
    的头像 发表于 07-18 11:39 883次阅读
    欢创播报 腾讯元宝首发<b class='flag-5'>3D</b>生成应用

    裸眼3D笔记本电脑——先进的光场裸眼3D技术

    随着科技的不断进步,裸眼3D技术已经不再是科幻电影中的幻想。如今,英伦科技裸眼3D笔记本电脑将这一前沿科技带到了我们的日常生活中。无论你是专业的3D模型设计师,还是希望在视频播放和模型展示中体验逼真
    的头像 发表于 07-16 10:04 709次阅读

    3d场景建模可视化,场景1:1还原

    3D场景建模可视化的技术原理、方法和应用,旨在帮助读者深入了解这一领域的专业知识。 1.技术原理 数学建模: 三维场景建模基于数学几何原理,通过点、线、面等基本元素构建物体的几何结构,
    的头像 发表于 07-12 14:49 371次阅读

    3D建模的重要内容和应用

    3D建模是一种技术,通过计算机软件创建虚拟三维模型,模拟现实世界中的物体或场景。这项技术广泛应用于建筑设计、电影制作、游戏开发、工程仿真等领域。下面古河云科技将介绍一些与3D建模相关的重要内容
    的头像 发表于 06-21 14:48 872次阅读

    机器人3D视觉引导系统框架介绍

    通过自主开发的3D扫描仪可获准确并且快速地获取场景的点云图像,通过3D识别算法,可实现在对点云图中的多种目标物体进行识别和位姿估计。
    发表于 04-29 09:31 396次阅读
    机器人<b class='flag-5'>3D</b>视觉引导系统框架介绍

    头盔3D扫描逆向工程3d建模抄数测绘服务-CASAIM中科广电

    3D扫描
    中科院广州电子
    发布于 :2024年04月12日 14:03:01

    Adobe Substance 3D整合AI功能:基于文本生成纹理、背景

    Substance 3D Stager是以Adobe Dimension为基础改造而成,使用者可直观地进行3D场景构建,包括模型、材质和灯光等要素。借助其强大功能,能够生成极具观赏性的虚拟照片。
    的头像 发表于 03-20 10:28 916次阅读

    3D动画原理:电阻

    电阻3D
    深圳崧皓电子
    发布于 :2024年03月19日 06:49:19