3D模型优化10个最佳实践

news2024/12/23 23:55:48

对于许多在建模、渲染和动画方面经验丰富的 3D 建模者来说,3D 优化可能是一个令人畏惧的过程 - 特别是当你正在优化实时应用程序的 3D 模型时! 在 Google 上快速搜索“如何优化 3D 文件”将会出现一些建议,例如减少多边形数和消除多余的顶点。

然而,针对实时应用程序优化 3D 文件存在许多细微差别,这些细微差别可能会让 3D 建模者感到不知所措。 无论你是在优化 Sketchup 或 Revit 建筑文件,还是在 Solidworks 中创建的工程模型,都需要牢记一些要点,在优化 VR 3D 模型时,我们将这些要点汇总到了最佳实践列表中。

1、实例化重复零件

想象一下重新处理相同的 3D 网格一百次。 听起来像是浪费资源,对吧? 这正是游戏引擎处理文件中重复网格时发生的情况。 无论你的模型是由数千个螺栓组成,还是多次包含相同的门模型,在渲染你的设计时,这些重复的零件都会重复处理。

虚幻引擎中的 3D 模型显示了各种重复的零件

你可以实例化重复项并创建它们的克隆,而不是处理相同的重复项并使用设备上的其他资源。 现在,当你编辑或渲染模型时,所有实例都会立即收到更新并更有效地进行处理。 速度和效率是在 VR 中实现优化的实时可视化的两个关键要求。

2、修正重叠或隐藏的部分

丢失或隐藏零件是由多名设计师处理同一项目的 3D 团队中的常见问题。 例如,在设计过程中,用户可能会隐藏某个部件而不是将其从项目中删除,而下一个用户导出文件时并不知道存在隐藏的部件或图层。 该问题也可能是由于转换过程中的错误造成的。 如果一个零件太复杂,它可能会意外地被转换两次。 无论哪种方式,隐藏的部分都会消耗额外的资源,从而损害 CPU 的处理能力。

最好检查并找到隐藏部分并将其删除,以避免实时可视化中不必要的延迟。

图像显示重叠的弹簧

3、减少面数

移动 VR 耳机具有标准 FPS,你需要保持在该标准内,以避免出现滞后问题和晕动病。 这通常在 60 到 90 FPS 之间。 详细且高多边形的 3D 模型是 FPS 缓慢的主要原因。 减少面数可以降低模型的复杂性,从而:

  • 游戏引擎渲染速度更快,实时性能提高
  • 3D 建模者可以更轻松地编辑网格、纹理和 UV 展开它。

对于 Autodesk Maya 用户来说,新的 2020 版本配备了新的重新网格和重新拓扑工具,用户可以控制修改设置。 对于需要简化的单个零件,Maya 的工具提供了一个很好的解决方案。

4、应用 LOD

当 3D 模型远离相机时,应用细节级别 (LOD) 可降低 3D 模型的复杂性,从而消除多余的细节。 应用 LOD 会删除网格特征,例如开口、间隙、凹凸、透明度等。 当网格靠近相机时,LOD 会渲染出所有所需的细节。 但当网格远离相机时,网格会与自身质量较低的版本进行交换,从而卸载来自 CPU 或 GPU 的渲染请求。

应用 LOD 时要记住的另一个因素是体积分辨率。 在可视化中不重要的较小对象不需要与较大对象一样高的分辨率。 例如,在为食品制造厂创建可视化时,模型的较大部件(例如传送带和机械臂)可以具有更详细的分辨率,而机械不同部件上的螺栓和螺钉可以采用低得多的 LOD。

Autodesk Maya 的全新重新拓扑工具和全新虚幻引擎 LOD 生成器可帮助 3D 开发人员达到最佳 FPS。

5、减少材质数量

3D 模型中的材质过多会增加文件大小和复杂性,使其难以在实时游戏引擎中使用。 保留尽可能少的材料对于实时优化 3D 模型非常重要。 另一个好的做法是使用纯色而不是图像纹理,因为它们更容易渲染。

生成 LOD 时,你会创建较低分辨率的多边形网格,并以较低的分辨率创建材质 LOD 副本。 创建材质 LOD 后,最好检查 LOD 材质是否具有任何金属、透明度或不透明属性。 如果存在,则可以将其删除,因为你不太可能在渲染中看到任何这些功能。

6、生成新的法线

基于物理的渲染(PBR)是改进实时可视化的重要一步。 PBR 使用一些可快速计算的参数来近似材料的最佳属性(参考)。 为了生成 PBR 的准确结果,3D 引擎在方程中使用多边形法线。 因此,CAD 转换后生成准确的法线对于最终结果至关重要。 反射、漫射、透明度、粗糙度和金属度在很大程度上依赖于法线。

在多边形网格转换期间,法线可能会被错误地面对。 渲染模型时,倒置的面会创建不正确的着色器。 为了避免这种情况,3D 建模者必须手动确保所有面都朝向正确的方向,就像在游戏引擎中渲染之前的 Maya 一样。

反转法线会在渲染中产生阴影

7、整理大纲

大纲是模型的支柱。 它组织 3D 文件中的每个零件或节点,以及在你需要移动或操作场景中的组或单个网格时连接零件和父级。 凌乱的大纲不仅会使模型难以使用,还会在导入或保存过程中引起问题。

在将 CAD 转换为多边形网格的过程中,在许多情况下,所有网格的位置、旋转和比例都会转换为单独的父级。 这意味着网格将具有多个父节点,每个父节点都包含上述属性之一。 这种多重父问题会产生大量无用的数据集,通常会导致软件崩溃。

为了部分解决这个问题,Autodesk Maya 和其他软件包提供了冻结变换工具,该工具可以重置网格变换,从而消除上述的父依赖性。 现在可以安全地删除这些空父节点,而无需移动、旋转或重新缩放网格。 但问题是,将冻结变换工具应用于大文件中的所有网格可能会导致崩溃。 此外,手动删除所有网格的空父节点也是一个繁琐的过程。

右:优化前的大纲。 左:优化后的大纲

除了冻结和删除多个父节点之外,汇总工具还可以删除空节点。 一些空节点携带对可视化无用但占用空间的元数据,例如历史记录、零件 SKU、制造信息等。删除这些空节点是减少不必要的数据复杂性的简单方法。

8、合并相邻网格

正如上一节所讨论的,最小化的大纲对于 VR 开发的优化工作流程至关重要。 实现此目的的另一种有效方法是组合相邻网格。 例如,将五个螺钉组合成一个网格 - 因此在大纲视图中它显示为一个节点而不是五个。 组合零件将有助于使大纲视图更易于管理,并使零件选择和操作方式更加高效。

组合网格还可以减少对 CPU 和 GPU 的处理绘制调用的数量。 例如,当你组合了五个螺丝时,渲染时将只有一个绘制调用,而不是五个绘制调用。 这有效地帮助提高你的 FPS。 最后要注意的一件事是,组合网格后,UV 壳将全部移动到一个新的 UV 集,该集与壳重叠。 打开 UV 编辑器来组织 UV 布局。

9、重新拓扑模型

重新拓扑是通过更优化的几何形状改善网格边缘流的过程。 这一步尤其重要,你需要将面数从数百万减少到数百。 但是,如果你在不先生成 LOD 的情况下开始应用重新拓扑工具,则重新拓扑可能会导致不正确的边流出现错误。 确保首先使用 LOD 生成器或 Autodesk Maya 的“减少网格”工具来减少面数。 较少的面数有助于软件最大限度地减少 CPU 使用率并加快重新网格划分过程和准确性。

10、删除不必要的物体

删除可视化中不需要的部分是实时优化 3D 模型的另一种好方法。 这包括额外的节点、网格、材质和纹理,这些都会增加文件大小并使您的项目难以实时渲染。 例如,在汽车模型的可视化中,移除大量内部零件(例如螺钉或电线)将显着降低文件的复杂性和大小,从而使其更适合实时可视化。 移除螺钉等结构部件不会影响模型的完整性,因为机械和物理属性不适用于游戏引擎。

11、优化 VR 3D 文件,最终想法

我们希望本指南在你优化 VR 可视化项目的 3D 模型时有所帮助。 正如你所看到的,在优化 VR 3D 文件时需要考虑许多小细节。 随着 3D 文件变得越来越复杂,良好优化的好处变得更加明显。

老子云3D可视化与模型优化服务平台icon-default.png?t=N7T8https://www.laozicloud.com/

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

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

相关文章

头歌——机器学习——支持向量机案例

第1关:基于支持向量机模型的应用案例 任务描述 本关任务:编写一个基于支持向量机模型的应用案例。 相关知识 在本应用案例中,我们借助一个具体的实际问题,来完整地实现基于支持向量机模型的开发应用。在此训练中,我…

数据结构与算法笔记:高级篇 - 向量空间:如何实现一个简单的音乐推荐系统?

概述 很多人喜都喜爱听歌,以前我们用 MP3 听歌,现在直接通过音乐 App 在线就能听歌。而且,各种音乐 App 的功能越来越强大,不仅可以自己选歌听,还可以根据你听歌的喜好,给你推荐你可能会喜好的音乐&#x…

Polyplus转染试剂的优点,你知道吗?

Polyplus专注于为生命科学研究、体内转染、生物制品制造以及细胞和基因治疗的客户,提供创新的核酸递送解决方案。其深耕转染领域,产品力强劲。在科研领域,其产品转染效果以及价格都优于lipo系列。无论是在基础科学研究中,还是在临…

数字AI化银行数字化转型实战手册银行数字化转型大客户营销销售讲师培训师唐兴通谈存量客户理财金融科技与场景化

推动银行数字化转型的五个关键因素 推动银行数字化转型的五个关键因素: 客户体验。为客户提供便利和个性化是数字化转型的关键因素。银行应开发和实施创新的数字渠道,例如移动应用程序、网上银行、聊天机器人等,以方便获取金融服务并提高客户…

【哈尔滨等保测评二级多久需要测试一次?】

哈尔滨二级等级保护测评一般为两年一次。 在确定周期时,应综合考虑多种因素。 首先,公司的大小与复杂性是影响公司发展的主要原因。大型企业在进行等保评估时,往往会花费较长的时间,因为他们的信息系统比较庞大、复杂。同时&…

国标GB/T 28181详解:国标GBT28181-2022的目录通知流程

目录 一、定义 二、作用 1、实时同步设备目录状态 2、优化资源管理和调度 3、增强系统的可扩展性和灵活性 4、提高系统的可靠性和稳定性 5、支持多级级联和分布式部署 6、便于用户管理和监控 三、基本要求 1、目录通知满足以下基本要求 2、关键要素 (1…

探索AIGC治愈系创作:Stable Diffusion 带你轻松复刻某书爆款动漫卡通文案!

hello,大家好我是安琪! 情感治愈类一直是受众群体很高非常火爆的赛道,安琪也关注到在某书平台上,漫画治愈类风格的内容也是非常的受欢迎。先来看看以下一些案例 看看这几个账号内容的质量就可以看出该部分内容是很受欢迎的&#x…

Oracle 19C19.3 rac安装并RU升级到19.14

19C支持RU补丁安装。 下载好19.14的RU补丁 [rootrac1 soft]# ll total 9830404 -rw-r--r-- 1 grid oinstall 3059705302 Jun 18 15:26 LINUX.X64_193000_db_home.zip -rw-r--r-- 1 grid oinstall 2889184573 Jun 18 15:27 LINUX.X64_193000_grid_home.zip -rw-r--r-- 1 grid …

java设计模式(七)适配器模式(Adapter Pattern)

1、模式介绍: 适配器模式(Adapter Pattern)是一种结构型设计模式,它允许将一个类的接口转换成客户希望的另外一个接口。适配器模式通常用于需要复用现有的类,但是接口与客户端的要求不完全匹配的情况。它包括两种形式&…

通过CDS View读取HANA View

HANA View在HANA 数据库层,CDS View在​ABAP层。那我们可以用CDS view直接读取HANA View​。在CDS View里还可以加些​逻辑。 ​具体怎么做呢? 首先你有了一个HANA的calculation view。这个calculation view, 它是可以被HANA SQL访问的&#…

【新闻】技术工种魅力大增,美国Z世代职场新出路

美国需要更多水管工,Z世代正在响应这一号召。 长期受到劳动力短缺困扰的技工行业,如今对美国最年轻的就业群体产生新的吸引力,他们中许多人正选择放弃读大学。随着从焊接到机械加工等领域出现技术迭代,薪资正在上涨,这…

DV SSL证书如何升级到OV SSL 证书

随着互联网的发展和用户对数据安全性的关注,越来越多的网站开始采用SSL证书来保护用户的隐私和数据。在选择SSL证书时,有些网站可能会首先选择经济实惠的DV(域名验证)证书,但随着业务的发展和用户需求的增加&#xff0…

人工智能AI风口已开:如何赋予UI设计与视频剪辑新生命

随着科技的浪潮不断向前推进,人工智能(AI)正以惊人的速度重塑着我们的世界,特别是在创意产业的核心领域——UI设计与视频剪辑中,AI正逐步成为驱动行业创新与变革的关键力量。在这个AI技术全面开花的新时代,…

Python学习01

一、课程简介 1、学习目标 2、学习成果 二、初识python-python介绍 python程序员 python的创始 python语言的优点 三、初始python-软件安装 0、软件安装 1、程序编译 2、python解释器的安装 官网地址:Welcome to Python.orgThe official home of the Python Progr…

数字人源头工厂是骗局吗?数字人源码部署内幕曝光!

随着数字人应用的不断普及,其行业前景和发展潜力也逐渐展现在了在人们的眼前,连带着数字人源头工厂和数字人系统源码部署的热度也也持续飙升。不过,就目前的市场情况来看,绝大多数数字人源头工厂部署出的数字人系统源码都不尽人意…

创意学生木工工具——木工锯床

开展创意木工课程丰富了学校的课程多样性,强化了实践教育,并实现了跨学科的融合,在教育理念方面,创意木工课程强调了学生的主体地位,注重了学生的全面发展,并倡导了实践育人的理念,培养学生的综…

字节码编程ASM之两数之和

写在前面 源码 。 看下如何使用ASM来写如下的类: package com.dahuyou.demo.asm;public class AsmSumOfTwo {public AsmSumOfTwo() {}public static void main(String[] var0) {int var1 (new AsmSumOfTwo()).sum(1, 2);System.out.println(var1);}public int su…

单段时间最优S型速度规划算法

一,背景 在做机械臂轨迹规划的单段路径的速度规划时,除了参考《Trajectory Planning for Automatic Machines and Robots》等文献之外,还在知乎找到了这位大佬 韩冰 写的在线规划方法: https://zhuanlan.zhihu.com/p/585253101/e…

ChatGPT自媒体创作秘籍:高效生成优质文章和视频

在这个信息爆炸的时代,自媒体已经成为人们获取信息、表达观点和分享生活的重要途径。而作为自媒体创作者,如何高效地生成优质内容,吸引更多的关注和互动,是每一个创作者都在思考的问题。今天,我将为大家分享利用ChatGP…

ComfyUI+PhotoMaker|一键创造个性化人物形象

ComfyUI和PhotoMaker,两款引领AI图像编辑潮流的软件,以其强大的功能和便捷的操作,深受广大艺术爱好者和专业人士的喜爱。本文将带你深入了解ComfyUI和PhotoMaker的结合使用,助你轻松打造个性化人物形象,让你的作品更加…