OBJ三维模型快速转换为glTF2.0格式

news2024/11/20 2:20:31

OBJ

obj文件是Alias|Wavefront公司为3D建模和动画软件"Advanced Visualizer"开发的一种标准3D模型文件格式,大部分3D软件都支持导入、导出obj格式的模型文件。每个obj模型一般由xxx.obj的模型文件、xxx.mtl材质信息文件、xxx.jpg纹理贴图文件组成。

glTF

glTF的创建者看到了互联网的崛起,意识到需要一种高效的现代3D格式,可以用来传输3D模型和场景数据。glTF格式本质上是一个JSON文件。这一文件描述了整个3D场景的内容。它包含了对场景结构进行描述的场景图。场景中的3D对象通过场景结点引用网格进行定义。材质定义了3D对象的外观,动画定义了3D对象的变换操作(比如选择、平移操作)。蒙皮定义了3D对象如何进行骨骼变换,相机定义了渲染程序的视锥体设置。

最近遇到一个问题,需要将一个OBJ文件快速转换为glTF格式,然后加载到Cesium上。在CesiumLab中没有找到对应的功能,为了这项工作,专门安装一个大型的三维软件也不值得。这时候发现有一个开源的工具obj2gltf非常方便,https://github.com/CesiumGS/obj2gltf。

转换方法

  1. 在https://github.com/CesiumGS/obj2gltf点击下载代码,也可以使用`git clone下载源代码
  2. 下载后,解压缩,在代码的根目录中执行下面代码
npm install -g obj2gltf

注意:

  • 电脑上要安装有node.js的环境
  • 一定是在根目录执行,这个插件没有发布到npm上
  1. 执行全局安装完成后,参照使用下面代码即可完成对文件的转换
obj2gltf -i model.obj

obj2gltf -i model.obj -o model.gltf

obj2gltf -i model.obj -o model.glb

效果

使用上方的代码,在cesium中加载的效果如下:
加载效果
上图模型下载地址 https://download.csdn.net/download/GISuuser/88215266?spm=1001.2014.3001.5501

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

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

相关文章

2235.两整数相加:19种语言解法(力扣全解法)

【LetMeFly】2235.两整数相加:19种语言解法(力扣全解法) 力扣题目链接:https://leetcode.cn/problems/add-two-integers/ 给你两个整数 num1 和 num2,返回这两个整数的和。 示例 1: 输入:num…

vue的开发者工具下载『保姆级别』

1.先进官网 极简插件_Chrome扩展插件商店_优质crx应用下载 (zzzmh.cn) 2.搜索vue devtools,点击进去 3.下载插件 4.下载到文件下你自己的文件下:我的是下载到E盘下。 5.压缩到当前目录下 6.电脑进入拓展程序(不同的浏览器操作不同&#xff…

IIC控制器与MPU6050

MPU6050 MPU6050是一个运动处理传感器,其内部集成了3轴加速度传感器和3轴陀螺仪(角速度传感器),以及一个可扩展数字运动处理器 MPU6050主要参数 可测量X、Y、Z轴三个方向的角速度 可编程设置角速度测量范围为250、500、1000、2000/sec 可…

1个免费黑科技,AI制作特效大片完整教程

这个月初有许多朋友在转发一些AI生成视频,像刀郎的《罗刹海市》这种特效很酷的视频,播放量破100w的不在少数,下面就是我整理的几个账号数据! 我随机找出了3个AI视频,数据量都在100w到800w播放量之间,但看了…

SQL-Injection

文章目录 引入columns表tables表schemata表以sqli-labs靶场为例路径获取常见方法文件读取函数文件写入函数防注入 数字型注入(post)字符型注入(get)搜索型注入xx型注入 引入 在MYSQL5.0以上版本中,mysql存在一个自带数据库名为information_schema,它是一个存储记录…

python通过S7协议读取西门子200smart数据

发现网上很多关于python通过s7协议控制200smart的代码都失败,我猜应该是版本的问题。自己捣鼓了半天,终于测试成功 from snap7 import util,clientmy_plc client.Client() #建立一个客户端对象 my_plc.set_connection_type(3) #如果是200smart,必须有此…

2023 最新 小丫软件库app开源源码 PHP后端

上传了源码解压之后,在admin/public/config.php修改后台登录账号和密码 后台地址:域名或者ip/admin 然后自己修改配置即可 后端搭建完成,现在导入iapp源码 导入iapp源码之后,修改mian.iyu载入事件的对接api和url就可以打包了 sss …

TPS_C++版本及功能支持备注

TPS_C版本及功能支持备注 相关参考链接C23:https://zh.cppreference.com/w/cpp/23 相关参考链接C20:https://zh.cppreference.com/w/cpp/20 相关参考链接C17:https://zh.cppreference.com/w/cpp/17 相关参考链接C14:https://zh.cp…

【Linux】make/makefile自动化构建工具

文章目录 前言一、什么是make/makefile?二、依赖关系和依赖方法2.1 makefile中创建文件2.2 makefile中删除文件2.3 stat指令查看文件的三种时间(ACM)2.4 伪目标文件(.PHONY) 三、Makefile中的一些特殊符号3.1 $ 和 $^3…

Spring基础学习

一 Spring 框架概述 1.1 Spring 概述 轻量级开源的 JavaEE 框架。解决企业开发应用的复杂性。 Spring的核心部分: IOC:控制反转(Inversion of Controll),将创建对象的过程交由 Spring 管理AOP:面向切面编程(Aspect …

云服务器-Docker容器-系统搭建部署

一、引言 最近公司在海外上云服务器,作者自己也搞了云服务器去搭建部署系统,方便了解整体架构和系统的生命周期,排查解决问题可以从原理侧进行分析实验。虽然用的云不是同一个,但是原理都是相通的。 二、选型 作者选用的是腾讯云…

进入嵌入式之后究竟会干些什么?

嵌入式被称为互联网、计算机行业的万金油,未来的就业方向多种多样,工作内容也不一而足,但可以分为如下几个角度: 架构师 在大型企业中,一个人很难承担过多的任务,因为这会带来很大的风险。大企业更需要在…

Find My资讯|苹果Vision Pro开发者需将设备配对 AirTag

最近苹果Vision Pro获开发者申请,苹果要求获批的申请者使用 Measure and Fit 应用确认合适的佩戴尺寸,并会根据申请者提交的信息,定制不同的 Vision Pro 开发者套件,以便于契合申请者的面部特征,提供更好的佩戴体验。 …

N4010A|安捷伦Agilent N4010A蓝牙测试仪

描述 N4010A是一款多功能多格式无线连接测试解决方案,您可以针对R&D、集成和验证或制造中的特定蓝牙、无线局域网(WLAN) 802.11a、b和g以及ZigBee应用进行配置。 特征 测试多种技术的灵活性通过快速、准确的测量提高生产量从开发到生产的可重复测量结果适应新…

MySQL索引下推讲解

文章目录 一、什么是索引下推二、MySQL架构图三、DEMO演示过程 一、什么是索引下推 索引条件下推(Index Condition Pushdown,ICP)是MySQL 5.6版本后引入的一项新特性。它通过减少回表的次数来提高数据库的查询效率。 在不使用ICP的情况下&am…

Optional的基础运用

Optional的基础运用 简介代码示例 简介 代码示例 package org.example;import org.junit.Test;import java.util.Optional;public class OptionalTest {Testpublic void advance() {String str "hello";str null;// of(T t):封装数据t生成Optional对象&#xff0c…

贝叶斯推理问题、MCMC和变分推理

一、介绍 贝叶斯推理是统计学中的一个主要问题,在许多机器学习方法中也会遇到。例如,用于分类的高斯混合模型或用于主题建模的潜在狄利克雷分配都是在拟合数据时需要解决此类问题的图形模型。 同时,可以注意到,贝叶斯推理问题有时…

2018年9月全国计算机等级考试真题(C语言二级)

2018年9月全国计算机等级考试真题(C语言二级) 第1题 若有以下程序 main() { int a6, b0, c0; for(;a;) { ba; a-c; } printf("%d,%d,%d\n",a,b,c); } 则程序的输出结果是 A. 1,14,3 B. 0,18,3 C. …

【C语言】指针的进阶

目录 一、字符指针 二、指针数组 三、数组指针 1.数组指针的定义 2.&数组名和数组名区别 3.数组指针的使用 四、数组参数与指针参数 1.一维数组传参 2.二维数组传参 3.一级指针传参 4.二级指针传参 五、函数指针 六、函数指针数组 七、指向函数指针数组的指针…

【Matter】设备入网流程

官方信息 认证、配网过程 https://developers.home.google.com/matter/primer/commissioning Commissioning 是一个动作,待入网设备Commissionee 加入到Commissioner 过程 1.第一步,设备发现,比如通过ble 蓝牙方式 2.第二步,建…