当前位置: 首页 > news >正文

3D模型轻量化

在线工具推荐:3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎

近来,基于3D模型在影视作品、数字旅游项目诸多3D视觉领域都取得了优越展示效果,受到了广泛关注。然而,3D模型通常参数量大、复杂度高、兼容性差,制约了在实际应用中的部署和使用,尤其在资源受限的设备或对实时性、交互性要求很高的场景中。因此,模型的“轻量化”研究成为了3D界关注的热点。

1、什么是模型轻量化?

轻量化是BIM行业所熟知的一个概念,其大概含义是指对三维模型中的几何数据进行压缩,以达到快速存储和流畅传输的目的。

三维模型轻量化是指对三维模型进行优化处理,以减少其存储空间和计算资源的占用,从而提高处理速度和系统性能的一种技术。在实际应用中,由于三维模型包含大量的顶点、面片和纹理等数据,因此需要借助三维模型轻量化技术来降低数据量,以便更好地适应各种场景和需求。

2、模型轻量化的方法

3D模型轻量化是指减少3D模型的文件大小,以便在需要更快的数据传输或更快的渲染速度时使用。以下是几种常见的3D模型轻量化方法:

移除不必要的细节:模型中可能存在一些细节,但这些细节对于渲染或使用模型并不重要。通过移除这些不必要的细节,可以大大减小模型的大小。

优化模型结构:对模型的拓扑结构进行优化可以大幅度减小文件大小。例如,将多边形替换为三角形,删除重复的顶点等。

减少纹理贴图:纹理贴图通常会增加模型的大小。通过减少纹理的大小和数量,可以减小模型文件的大小。

压缩模型:使用专业的3D软件或工具可以将3D模型文件压缩成更小的文件大小。

简化模型:将高细节模型简化成低细节模型可以有效地减少文件大小。这可以通过使用3D软件中的简化工具完成。

移除隐藏部分:如果3D模型的一部分永远不会被看到,可以将其从模型中移除,从而减少文件大小。

3、模型轻量化应用场景

三维模型轻量化技术在很多场景下都有着广泛的应用,以下是一些常见的应用场景:

1、游戏开发

在游戏开发中,三维模型轻量化技术可以用于减少游戏内存和加速渲染。通过对游戏中的三维模型进行压缩和简化处理,可以降低游戏的内存占用和提高游戏的运行速度,从而优化游戏体验。

2、虚拟现实和增强现实

在虚拟现实和增强现实领域中,三维模型轻量化技术可以用于减少数据传输、加速图像渲染等方面。由于虚拟现实和增强现实需要实时呈现三维模型,因此通过对模型进行轻量化处理,可以降低数据传输带宽和提高图像渲染速度,从而优化用户体验。

3、三维地图

在三维地图领域中,三维模型轻量化技术可以用于减少数据存储和传输成本。通过对建筑物、街道等三维模型进行简化,可以降低数据量和提高数据传输速度,从而为用户提供更加流畅的地图浏览体验。

4、工业设计

在工业设计领域中,三维模型轻量化技术可以用于减少建模成本和加速产品开发。通过对三维模型进行简化和优化处理,可以降低建模成本和提高产品设计的效率,从而为工业设计带来更多的便利。

三维模型轻量化技术具有广泛的应用场景,其中包括游戏开发、虚拟现实和增强现实、三维地图以及工业设计等多个领域。随着技术的不断发展,三维模型轻量化技术将会在越来越多的领域中得到应用和发展。

4、如何使用GLTF 编辑器轻量化3D模型

如何实现超大规模的倾斜摄影三维模型的高质量的轻量化压缩,快速高效的处理工具软件非常重要,保证轻量化数据大小合适和质量达标,降低存储和传输成本、提高可视化性能和拓展应用场景。下面介绍如何使用GLTF 编辑器 -NSDT软件对3D模型进行轻量化处理。

模型合批(Batching)是一种优化技术,用于在计算机图形渲染中提高性能和效率。它通过将多个模型的渲染操作合并为一次来减少渲染调用的数量,从而提高渲染性能以及压缩模型体积。

下面讲解如何进行模型合拼操作,首先将模型拖入编辑器中,如图所示:

材质合并前

从图中的左侧面板中可以看到该模型中有很多相同材质。

查看模型FPS信息,如图所示:

模型合批前,FPS是13,渲染效果不太流畅

下一步,材质合批:只需要点击GLTF 编辑器工具栏上第二个按钮【合并相同材质的Mesh】,编辑器就会自动将模型中相同的材质进行合并,合并完成后将修改后的模型导出到本地GLB文件。

材质合并后

下面材质合并前后的FPS对比:

模型合批后,FPS是47,有着明显的提升

再看模型体积的前后比对,压缩到了原来体积的将近三分之一,如图所示:

5、总结

轻量化为用户提供了全新的模型处理思路,全自动打通了不同行业之间的技术壁垒。同时随着视觉技术、算力和数据等不断完善,模型的复杂度急剧攀升,3D模型的能耗代价将越来越高,轻量化高效的计算效率和低廉的部署应用成本,能够在未来给更多实际产品及项目中发挥极大优势。除此之外,本地化的轻量化在支持原有服务的同时,还能够更好地保护用户数据及隐私,用户的数据不需要离开设备,即可实现远程优化。

转载:3D模型轻量化 (mvrlink.com)

相关文章:

3D模型轻量化

在线工具推荐:3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 近来,基于3D模型在影视作品、数字旅游项目诸多3D视觉领域都取得…...

数据分析——快递电商

一、任务目标 1、任务 总体目的——对账 本项目解决同时使用多个快递发货,部分隔离区域出现不同程度涨价等情形下,如何快速准确核对账单的问题。 1、在订单表中新增一列【运费差异核对】来表示订单运费实际有多少差异,结果为数值。 2、将…...

《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(8)

接前一篇文章:《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(7) 2.2 HOST主桥 MPC8548处理器的拓扑结构如图2-2所示: 2.2.2 存储器域地址空间到PCI总线域地址空间的转换 MPC8548处理器使用ATMU&#xff…...

Hadoop分布式文件系统(二)

目录 一、Hadoop 1、文件系统 1.1、文件系统定义 1.2、传统常见的文件系统 1.3、文件系统中的重要概念 1.4、海量数据存储遇到的问题 1.5、分布式存储系统的核心属性及功能含义 2、HDFS 2.1、HDFS简介 2.2、HDFS设计目标 2.3、HDFS应用场景 2.4、HDFS重要特性 2.4…...

macOS跨进程通信: FIFO(有名管道) 创建实例

一: 简介 在类linux系统中管道分为有名管道和匿名管道。两者都能单方向的跨进程通信。 匿名管道(pipe): 必须是父子进程之间,而且子进程只能由父进程fork() 出来的,才能继承父进程的管道句柄,一般mac 开发…...

推荐几个免费的HTTP接口Mock网站和工具

在前后端分离开发架构下,经常遇到调用后端数据API接口进行测试、集成、联调等需求,比如: (1)前端开发人员很快开发完成了UI界面,但后端开发人员的API接口还没有完成,不能进行前后端数据接口对接…...

企业数据库安全管理规范

1.目的 为规范数据库系统安全使用活动,降低因使用不当而带来的安全风险,保障数据库系统及相关应用系统的安全,特制定本数据库安全管理规范。 2.适用范围 本规范中所定义的数据管理内容,特指存放在信息系统数据库中的数据。 本…...

react:ffcreator中FFCreatorCenter视频队例

最近项目要求,一键生成房子的推荐视频,选几张图,加上联系人的方式就是一个简单的视频,因为有web端、小程序端,为了多端口用,决定放在服务器端生成。 目前用的是react中的nextjs来开发项目。 nextjs中怎样…...

力扣(leetcode)第434题字符串中的单词数(Python)

434.字符串中的单词数 题目链接:434.字符串中的单词数 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例: 输入: “Hello, my name is John” 输出: 5 解释: 这…...

django学习:页面渲染与请求和响应

1.请求过程 2.页面渲染 在app中新建一个目录(Directory),文件名命名为templates。该文件名命名是固定的,不可命名出错,如若后续步骤出错,该目录文件名是一个检查的重点项目。在该目录下新建一个html文件&a…...

Redis 数据一致性

概述 当我们在使用缓存时,如果发生数据变更,那么你需要同时操作缓存和数据库,而它们两个又分属不同的系统,因此无法做到同时操作成功或失败,因此在并发读写下很可能出现缓存与数据库数据不一致的情况 理论上可以通过…...

Mac环境下反编译apk

Mac环境下反编译apk 安装反编译工具dex2jar:[官网下载](https://sourceforge.net/projects/dex2jar/)JD-GUI:[官网下载](https://jd-gui.apponic.com/) 实操1. 将需要反编译的 .apk 文件放在下载的 dex2jar 文件夹目录下2. 使用 cd /xxx/dex2jar-2.0 命令…...

计算机网络——网络模型的组织、看法以及标准化流程

1. 通信技术和标准化领域中扮演重要角色的组织 1.1 国际和国家官方标准化机构 OSI:国际标准化组织(ISO),负责国际标准的制定,旨在确保全球产品和服务的安全性、可靠性和效率。它有许多国家分支机构,包括法…...

【JAVA】volatile 关键字的作用

🍎个人博客:个人主页 🏆个人专栏: JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 volatile 的作用: 结语 我的其他博客 前言 在多线程编程中,保障数据的一致性和线程之间的可见性是…...

Next.js 第一次接触

因为需要整个漂亮的在线文档,所以接触了next.js,因为对前端js本身不够熟悉,别说对react.js 又不会,时间又不允许深入研究,所以,为了加一个导航菜单,极其痛苦。 有点小bug,不过不影响…...

CISSP 第7章:PKI和密码学应用

第七章 PKI和密码学应用 7.1 非对称密码学 对称密码系统具有共享的秘钥系统,从而产生了安全秘钥分发的问题 非对称密码学使用公钥和私钥对,无需支出复杂密码分发系统 7.1.1 公钥与私钥 7.1.2 RSA(兼具加密和数字签名) RSA算法依赖…...

dji uav建图导航系列()ROS中创建dji_sdk节点包(二)实现代码

在前文 【dji uav建图导航系列()ROS中创建dji_sdk节点包(一)项目结构】中简单介绍了项目的结构,和一些配置文件的代码。本文详细说明目录src下的节点源代码实现。 文章目录 1、代码结构2、PSDK部分3、ROS部分3.1、头文件3.1.1、外部调用 node_service.h3.1.2、节点类定义…...

数字化工厂产品推荐 带OPC UA的分布式IO模块

背景 近年来,为了提升在全球范围内的竞争力,制造企业希望自己工厂的机器之间协同性更强,自动化设备采集到的数据能够发挥更大的价值,越来越多的传统型工业制造企业开始加入数字化工厂建设的行列,实现智能制造。 数字化…...

使用OHOS SDK构建opus

参照OHOS IDE和SDK的安装方法配置好开发环境。 从github下载源码。 执行如下命令: git clone --depth1 https://github.com/xiph/opus进入源码所在的目录,创建批处理文件ohos_build.cmd,内容如下: echo off setlocalset OHOS_…...

K-means 聚类算法分析

算法简述 K-means 算法原理 我们假定给定数据样本 X ,包含了 n 个对象 ,其中每一个对象都具有 m 个维度的属性。而 K-means 算法的目标就是将 n 个对象依据对象间的相似性聚集到指定的 k 个类簇中,每个对象属于且仅属于一个其到类簇中心距离…...

uniapp获取定位

Uniapp 是一种跨平台应用开发框架,它能够快速地构建出针对不同平台的应用程序。在Uniapp中,实现定位功能也变得十分简单,只需要简单的配置就能轻松实现。 一、高德地图根据指定位置获取经纬度 参考地址:地理/逆地理编码-基础 API…...

Python 面向对象之反射

Python 面向对象之反射 【一】概念 反射是指通过对象的属性名或者方法名来获取对象的属性或调用方法的能力反射还指的是在程序额运行过程中可以动态获取对象的信息(属性和方法) 【二】四个内置函数 又叫做反射函数 万物皆对象(整数、字符串、函数、模块、类等等…...

HPM6750开发笔记《DMA接收和发送数据UART例程深度解析》

目录 概述: 端口设置: 代码分析: 运行现象: 概述: DMA(Direct Memory Access)是一种计算机系统中的数据传输技术,它允许数据在不经过中央处理器(CPU)的直…...

SQL IN 操作符

IN 操作符 IN 操作符允许您在 WHERE 子句中规定多个值。 SQL IN 语法 SELECT column1, column2, ... FROM table_name WHERE column IN (value1, value2, ...); 参数说明: column1, column2, ...:要选择的字段名称,可以为多个字段。如果…...

如何使用Plex在Windows系统搭建个人媒体站点公网可访问

文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 用手机或者平板电脑看视频,已经算是生活中稀松平常的场景了,特别是各…...

web前端——clear可以清除浮动产生的影响

clear可以解决高度塌陷的问题&#xff0c;产生的副作用要小 未使用clear之前 <!DOCTYPE html> <head><meta charset"UTF-8"><title>高度塌陷相关学习</title><style>div{font-size:50px;}.box1{width:200px;height:200px;backg…...

centos用yum安装mysql详细教程

1 查询安装mysql的yum源,命令如下 ls /etc/yum.repos.d/ -l 界面如下图所示&#xff0c;未显示mysql的安装源 2 安装mysql相关的yum源,例如&#xff1a; 例如&#xff1a;rpm -ivh mysql57-community-release-el7.rpm 要注意 mysql的版本和系统的版本匹配 mysql57-communi…...

冲刺2024年AMC8竞赛的专题突破:匹克定律和不规则形状面积的求法

先温馨提示:2024年AMC8比赛报名今天是最后一天&#xff0c;如果还想参加比赛的孩子今天务必完成报名&#xff0c;错过今天再等一年。需要AMC8自由报名通道可以问我。 到昨天为止&#xff0c;六分成长已经把过去20多年的AMC8竞赛真题都给大家过了一遍&#xff0c;今天为大家做一…...

阿里云迁移AWS视频点播技术攻坚

文章目录 &#x1f437; 背景&#x1f9a5; 简述&#x1f425; Aws服务&#x1f99c; AWS CloudFormation&#x1f41e; 问题&#x1f409; 落地方案&#x1f989; Aws vs Aliyun&#x1f344; 避坑指南 &#x1f437; 背景 由于AWS整体成本略低于阿里云&#xff0c;公司决定将…...

Scrum敏捷认证CSM官方认证班Certified ScrumMaster - CSM认证班

课程简介 Scrum是目前运用最为广泛的敏捷开发方法&#xff0c;是一个轻量级的项目管理和产品研发管理框架&#xff0c;旨在最短时间内交付最大价值。根据2021年全球敏捷状态报告&#xff0c;Scrum及Scrum衍生方法的应用占比达到81%。 在企业的敏捷转型历程中&#xff0c;Scru…...

如何是wordpress/可以看国外网站的浏览app

php作为后端接受上传的图片还是很简单的&#xff0c;需要用到FILES,当客户端或web端向后端post图片时&#xff0c;我们可以用FILES,当客户端或web端向后端post图片时&#xff0c;我们可以用_FILE接收图片&#xff0c;然后存储在临时缓冲区中&#xff0c;最后用move_upload_file…...

网站建设 语言/磁力宝

是的,如果你已经登录了 QQ 空间,那么可以通过编写代码来获取你已经添加的群聊信息。 但是,需要注意的是,在编写获取群聊信息的代码时,需要使用到 QQ 空间的 API。QQ 空间的 API 是由腾讯提供的,你需要先在腾讯的开发者平台上申请应用,并获得对应的 API Key 和 Secret Ke…...

企业网站租服务器/成都私人网站制作

//mp4炫酷 https://easyv.dtstack.com/medias/banner_videox2.mp4// 彩色循环 background: linear-gradient(135deg, rgb(238, 5, 5), #f90, #3c9, #09f, rgb(240, 6, 162))left center/400%400%; animation: move 10s infinite;...

wordpress首页怎么加内容/什么是白帽seo

《Learning Spark》这本书算是Spark入门的必读书了&#xff0c;中文版是《Spark快速大数据分析》&#xff0c;不过豆瓣书评很有意思的是&#xff0c;英文原版评分7.4&#xff0c;评论都说入门而已深入不足&#xff0c;中文译版评分8.4&#xff0c;评论一片好评&#xff0c;有点…...

做演示的网站/今日热榜官网

通过Navicat进行Mysql数据库自动备份与还原 Mysql数据库自动备份流程 Navicat版本为&#xff1a;Navicat 12.0.26 例&#xff1a;test为用于测试自动备份的数据库&#xff0c;里面有表t_person&#xff0c;表中有两条数据。 1.点击“自动运行”&#xff08;有些Navicat版本中是…...

黑龙江建设局网站/学大教育一对一收费价格表

这个小例子使用的是豆瓣 API 中 正在上映的电影的开放接口&#xff0c;要实现的主要效果如下: JSON 数据结构 Item 结构 Item 的结构是一个 Card 包含着一个 Row 然后这个 Row 里面左边是一个 Image,右边是一个 Column 功能实现 material 库Json 解析网络请求加载菊花 要实现…...