如何将 OBJ 模型转换和压缩为 GLTF 以与 AWS IoT TwinMaker 配合使用

这篇具有很好参考价值的文章主要介绍了如何将 OBJ 模型转换和压缩为 GLTF 以与 AWS IoT TwinMaker 配合使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

推荐:使用NSDT场景编辑器快速搭建3D应用场景

概述

在这篇博文中,引用了几种文件扩展名和模型格式。在开始之前,最好了解以下内容:

  • OBJ – 对象文件,一种标准的 3D 图像格式,可以通过各种 3D 图像编辑程序导出和打开。
  • MTL – 材料库文件,包含一个或多个材料定义,每个定义都包括 OBJ 模型中对象的各个材料的颜色、纹理和反射图
  • glTF – 图形语言传输格式,三维场景和模型的标准文件格式。glTF 模型使用两种可能的文件扩展名之一:.gltf 或 .glb
  • Draco Compression – 用于网格压缩的glTF扩展。此cesium库将压缩和解压缩 3D 网格,以显着减小 3D 内容的大小。它可以压缩顶点位置、法线、颜色、纹理坐标和任何其他通用顶点属性,从而提高通过 Web 传输 3D 内容的效率和速度。
  • 点云扫描 – 3D 空间内单个点(x、y、z 坐标)的大量集合,使用 3D 激光扫描仪捕获并以 ASCII (.xyz) 或二进制格式存储。

AWS IoT TwinMaker 支持 glTF 格式的 3D 资产,这是一种 3D 文件格式,以 JSON 格式或二进制格式存储 3D 模型信息,可在应用程序中高效传输和加载 3D 模型。glTF 模型最大限度地减少了 3D 资产的大小以及解压缩和使用它们所需的运行时处理。来自传统 CAD 应用程序的 3D 模型以及点云扫描可以使用 AWS 合作伙伴解决方案(例如 Pixyz 的解决方案)转换为 glTF。在这篇博客中,您将探索另一种无服务器方法,使用 Cesium 的开源库(包括 obj2gltf 和 gltf-pipeline)将 Matterpak 捆绑包转换为glTF 模型。

在下面的架构中,您将看到如何使用 AWS Lambda 来检测上传到 Amazon S3 存储桶的 Matterpak zip 捆绑包。这将在长时间运行的 Lambda 执行中触发到 glTF 的转换。压缩文件可能包含 OBJ、MTL 和 JPG 文件。

在Matterpak捆绑包中,有几个文件,包括OBJ,MTL,点云扫描(xyz),可能还有许多JPG文件。本例中的 Matterport 已将点云扫描转换为对象网格格式 OBJ。MTL 和 JPG 文件一起在 OBJ 模型中的对象上提供彩色纹理。xyz 文件将不会在此转换过程中使用,因为它已经在 Matterpak 中转换为 OBJ。

模型转换管道体系结构

cesium,gltf,3D,模型

使用点云扫描(如 Matterport)时,会在整个扫描过程中捕获高分辨率 JPG 纹理。将 OBJ 转换为 glTF 仍然会很大。为了改善这一点,本博客中的 Lambda 函数将首先压缩所有 JPG 图像,然后再转换为 glTF。此外,该模型将通过使用Draco Compression进一步压缩。因此,转换将生成一个小得多的 glTF 模型,如下面的 AWS IoT TwinMaker 场景所示。请注意,glTF 文件使用两种可能的文件扩展名之一:.gltf 或 .glb。glTF 扩展将在此博客中使用。

AWS IoT TwinMaker 中的 Matterport Scan 示例

cesium,gltf,3D,模型

先决条件

需要 AWS 账户才能设置和执行本博客中的步骤。AWS Cloudformation 模板将配置并安装必要的 AWS Lambda 函数、IAM 角色和 Amazon S3 存储桶。建议您在弗吉尼亚州地区(us-east-1)工作。您可能会因以下某些服务而产生费用:

  • Amazon Simple Storage Service (S3) 存储成本
  • AWS Lambda 模型转换函数

步骤

下载马特帕克样本包

下载其中一个 Matterpak 捆绑包。选择其中一个捆绑包,例如 Pro2。此可用的捆绑包列表可能会更改。Pro2 示例捆绑包的近似文件大小为 178MB。

安装模型转换 Lambda 函数

  1. 下载示例 Lambda 模型转换部署程序包。此包中的函数代码将执行以下操作:
    – 从 S3 下载 Matterpak 捆绑包 – 提取到 Lambda /tmp 目录
    – 压缩所有 JPG 图像
    – 将 OBJ 文件转换为 glTF – 将 glTF 转换为 Draco glTF


    – 将 Draco glTF 模型上传回 S3 存储桶。
  2. 登录亚马逊 S3 控制台
  3. 创建一个 S3 存储桶或选择一个现有存储桶,您将在其中上传您下载的 Lambda 函数。将文件保持原样压缩。
  4. 将 Lambda 函数放置在 S3 中后,启动此 CloudFormation 模板
  5. 将 LambdaArtifactBucketName 参数值更改为您将 Lambda 函数上传到的存储桶的名称
  6. 将 S3BucketName 参数值更改为将托管模型文件的新存储桶的名称。这将为您创建。请务必选择一个全局唯一的名称,否则它将在创建堆栈期间失败。
  7. 单击创建堆栈以设置模型转换管道
  8. 完成后,导航到新的 S3 存储桶。可以在“资源”选项卡下找到一个链接

cesium,gltf,3D,模型

9.在此存储桶中创建一个文件夹并将其命名为 paks

cesium,gltf,3D,模型

10.将步骤 1 中下载的 Matterpak 捆绑包上传到 paks 文件夹。请务必将其压缩,因为 Lambda 函数将在处理过程中解压缩它。转换过程将自动开始,可能需要几分钟。

11.如果模型转换成功,您将在 S3 存储桶的根目录中看到一个glTF 模型。如果没有,请检查 Amazon CloudWatch 以获取来自 Lambda 函数的任何日志。

cesium,gltf,3D,模型

将模型添加到场景(可选)

回顾一下,您已成功将 Matterport 近 180MB 的点云扫描压缩并转换为 8MB glTF 模型。转换模型后,可以尝试在 IoT TwinMaker 工作区中加载此模型。请注意,您在 Matterport 中创建的任何 Mattertag 在此过程中都不可转让。这必须使用场景编辑器中的 IoT TwinMaker 标记重新创建。

  1. 在 IoT TwinMaker 工作区中,在“资源”部分中上传 glTF 模型。如果您尚未创建工作区,请按照 AWS IoT TwinMaker 入门中的步骤操作。

cesium,gltf,3D,模型

  1. 将此模型添加到场景中,如果尚不存在,则创建一个模型。如果需要有关此过程的指导,可在此处获取文档。不要忘记设置环境照明,因为模型将显示为全黑。

清理

请务必清理此博客中的工作以避免收费。按此顺序完成后删除以下资源

  1. 删除 Lambda 和模型 S3 存储桶中的对象文件。请注意,这不是 IoT TwinMaker 工作区存储桶,而是为此博客创建的存储桶
  2. 删除 CloudFormation 堆栈
  3. 从 TwinMaker 工作区中删除模型

结论

在此博客中,你创建了一个模型转换管道,用于压缩 Matterpak 捆绑包并将其转换为glTF 模型。这也包括从其他系统进行 OBJ 的通用转换。使用此管道,你将能够减少场景加载时间,并简化直接到 IoT TwinMaker 工作区的 3D 模型更新。

原文链接:如何将 OBJ 模型转换和压缩为 GLTF 以与 AWS IoT TwinMaker 配合使用 (mvrlink.com)文章来源地址https://www.toymoban.com/news/detail-733528.html

到了这里,关于如何将 OBJ 模型转换和压缩为 GLTF 以与 AWS IoT TwinMaker 配合使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 3dmax模型完美转glb模型,gltf格式模型转fbx格式转obj格式

    现在好多模型都是3dmax模型,但是客户要求是glb或者gltf模型 这个时候好多人直接导出glb模型,是没有颜色贴图的,这样的 这个时候是不能用的,怎么办,咱们要回到3dmax,把VR材质一个个重新上普通材质 当然也可以用插件一键转换 没有插件可以联系QQ 424081801也可以制作glb模

    2024年02月12日
    浏览(15)
  • 3D模型转换工具HOOPS Exchange如何实现OBJ格式轻量化?

    什么是OBJ模型轻量化? OBJ格式是一种常用的三维模型文件格式,通常包含模型的顶点、法线、纹理坐标等信息,但有时候这些信息可能会使模型文件变得较大,不利于网络传输、加载和运行。 OBJ(Object)模型轻量化是指对OBJ格式的三维模型数据进行优化和压缩,以减少模型

    2024年02月07日
    浏览(14)
  • open3d,读取stl/ply/obj/off/gltf/glb三维模型,并转换成点云,保存

    可以自己用建模软件建立一个模型 本案例使用模型的下载地址 可以从free3d免费下载,无需注册 效果: 效果: 均匀采样会在表面出现采样点聚集的现象,open3d实现了一种基于poisson_disk方法的采样,能实现表面的均匀采样 原理 :参数umber_of_points是最终采样的点数量,实际会先

    2024年02月11日
    浏览(15)
  • 压缩gltf/glb模型踩坑与解决 three.js DRACOLoader

    使用前端three.js加载3d模型过程中,往往会出现模型大小过大导致前端加载时间过长,降低用户体验。 本文所记录的是笔者在使用gltf-pipeline压缩3d模型中踩坑DRACOLoader与解决的一个过程。 所采用的three库版本为 ^0.138.2 通过gltf-pipeline可以大幅度压缩gltf/glb模型文件。 并且有如下

    2023年04月08日
    浏览(8)
  • 推荐:vue-3d-loader支持.dae/.fbx/.gltf/.glb/.obj/.ply/.stl/.json,并支持同一个场景导入多个不同3D模型,支持mtl材质以及jpg/png等图片纹理

    vue-3d-loader是vueJS + threeJS整合的一个3d展示组件。 支持.dae/.fbx/.gltf/.glb/.obj/.ply/.stl/.json,并支持同一个场景导入多个不同3D模型,支持mtl材质以及jpg/png等图片纹理 vue3请安装 2.0.0 及以上版本࿰

    2024年02月10日
    浏览(20)
  • 倾斜摄影三维模型OSGB格式转换OBJ格式的主要技术方法

     将倾斜摄影所获得的三维模型从OSGB格式转换为OBJ格式,可以实现更加灵活和便捷的数据应用和管理。主要技术方法如下: 1、使用转换工具 目前市面上有许多三维模型格式转换工具,比如K3DMaker、FME、GlobalMapper、ArcGIS等。这些工具可以将OSGB格式的倾斜摄影三维模型转换为

    2024年02月07日
    浏览(13)
  • [visionOS] [Apple Vision Pro] 3D模型文件格式转换:obj转usdz

    1,先要安装好Python3.7 【必须是Python3.7.x版本】 到Python官方去下载macOS版的Python3.7.x安装包 Python Releases for macOS | Python.org 要注意找一下,有些 3.7.x版本没有macOS安装包, 这里直接给出其中两个可以下载的 Python 3.7.8rc1 - June 17, 2020 Download macOS 64-bit installer Python 3.7.9 - Aug. 17, 2020

    2024年02月16日
    浏览(31)
  • vue-3d-model js在线预览obj,dae,ply,json,fbx,stl,gltf格式的3D文件

    在线预览地址vue-3d-model js在线预览obj,dae,ply,json,fbx,stl,gltf格式的3D文件 效果: 例子使用了.obj 3D文件格式,自带了截图和旋转功能,其他的3D格式只需要切换一个vue的模板标签即可。具体标签格式如下: 可支持obj,dae,ply,json,fbx,stl,gltf等格式的3D文件格式显示。只需要单页面html即

    2024年02月12日
    浏览(17)
  • Easy3dviewer三维模型(gltf/glb、osgb、fbx、x、shp、dxf)超轻量浏览和转换工具软件分享

    工作中经常需要用到不同格式的三维模型,比如3dmiax建模的3ds,倾斜摄影的osgb、bim转换的fbx,二维gis需要的shp、cad建模的dxf、三维gis需要的gltf等等,需要能快速方便的浏览和查看这些三维模型,也需要能将三维模型格式转换成其他三维模型格式。对三维浏览和转换的需求非

    2024年02月04日
    浏览(28)
  • Cesium 问题:加载 gltf 格式的模型之后太小,如何让相机视角拉近

    刚加载的模型太小,如何拉近视角放大 在这里有两种方式进行拉近视角, 一种是点击复位进行视角拉近 一种是刚加载就直接拉近视角

    2024年02月22日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包