首页 > 其他分享 >使用OpenSceneGraph(OSG)库将osg模型转为obj格式

使用OpenSceneGraph(OSG)库将osg模型转为obj格式

时间:2024-09-01 23:51:31浏览次数:13  
标签:ive OpenSceneGraph obj osgb osgconv compressed usage OSG

使用osgconv将多个osgb转为obj

在百度上搜索.osgb格式转.obj格式,往往需要使用付费软件;而OSG库自带的osgconv.exe其实就具备三维模型格式转换的功能,以多个osgb文件合并为一个obj文件为例,仅需要运行下面格式的命令:

osgconv -O OutputTextureFiles OSGB文件1 OSGB文件2 OSGB文件3 输出的OBJ文件

即,假如用户有scene1.osgb scene2.osgb两个模型,想合并成一个obj格式的模型,运行下面的命令即可:

osgconv -O OutputTextureFiles scene1.osgb scene2.osgb test.obj

osgconv的其他用法

使用 OSGCONV 将模型转为 OSG 的专属文件格式 IVE

将 cow.obj 转成 ive:

osgconv cow.obj cow.ive

压缩并自动将纹理生成 mipmap:

osgconv --compressed cow.obj cow.ive

查看帮助

查看 osgconv 支持的操作:

osgconv --help

会出如下打印

usage:

osgconv [options] infile1 [infile2 ...] outfile

options:

-O option

ReaderWriter option

--compressed

Compress textures.

--compressed

Enable the usage of compressed textures.

--compressed-arb

Enable the usage of OpenGL ARB compressed textures

--compressed-dxt1

Enable the usage of S3TC DXT1 compressed textures

--compressed-dxt3

Enable the usage of S3TC DXT3 compressed textures

--compressed-dxt5

Enable the usage of S3TC DXT5 compressed textures

-l libraryName

load plugin of name libraryName i.e. -l osgdb_pfb 
Useful for loading reader/writers which can load other file formats in addition to its extension.

-e extensionName

load reader/wrter plugin for file extension i.e. -e pfb 
Useful short hand for specifying full library name as done with -l above, as it automatically expands to the full library name appropriate for each platform.

-o orientation

Convert geometry from input files to output files.
Format of orientation argument must be the following:

X1,Y1,Z1-X2,Y2,Z2
or
degrees-A0,A1,A2

where X1,Y1,Z1 represent the UP vector in the input files and X2,Y2,Z2 represent the UP vector of the output file, or degrees is the rotation angle in degrees around axis (A0,A1,A2). For example, to convert a model built in a Y-Up coordinate system to a model with a Z-up 
coordinate system, the argument may look like 

0,1,0-0,0,1 
or 
-90-1,0,0

-t translation

Convert spatial position of output files. Format of translation argument must be the following :

X,Y,Z

where X, Y, and Z represent the coordinates of the absolute position in world space

-s scale

- Scale size of model. Scale argument must be the following :

SX,SY,SZ

where SX, SY, and SZ represent the scale factors. Caution: Scaling will be done in destination orientation

小知识

纹理转换

如果将 ive 转成 osg 会有一个问题就是 ive 内部是包含纹理的,就在 ive 文件中,而 osg 是 ASCII 文件,是不包含纹理的,这样就会产生 OSG 没有纹理的问题,可以通过指定 - O OutputTextureFiles 来把纹理也进行导出。

Example:

osgconv -O OutputTextureFiles in.ive out.osg

纹理的压缩与解压其实是使用 OPENGL 来完成的,因此如果出现问题不要怀疑是 OSG 的代码,有可能是显卡驱动的原因等。

参考

标签:ive,OpenSceneGraph,obj,osgb,osgconv,compressed,usage,OSG
From: https://blog.csdn.net/qq_42679415/article/details/140419065

相关文章

  • Paper Reading: Multi-class imbalance problem: A multi-objective solution
    目录研究动机文章贡献本文方法问题定义多分类多目标选择集成框架多类样本的客观建模理论分析实验结果数据集和实验设置对比实验结果运行时间优化边界的有效性优点和创新点PaperReading是从个人角度进行的一些总结分享,受到个人关注点的侧重和实力所限,可能有理解不到位的地方。具......
  • 3d格式介绍之OBJ格式
    OBJ格式是一种用于3D模型的文件格式,全称为WavefrontOBJ。它由WavefrontTechnologies公司开发,最初用于其高级视觉动画软件,但后来广泛应用于各种3D图形软件中。本文只介绍3d相关的obj,开发语言编译过程中形成的obj临时文件,不论述。特点和结构文本格式:OBJ文件是纯文本文件,可以......
  • 倾斜摄影osgb格式文件,进行坐标转换
    倾斜摄影OSGB格式的文件,很棘手,今天需要把osgb放到UE中渲染。碰到的问题如下:1、osgb文件导进去后,Z轴不想上,是歪的,小人放进去后,就斜站在马路上。2、根本原因是坐标系,UE的插件cesiumforUE支持WGS84坐标(wkid:4326)。怎么解决问题呢?1、当然是问GPT呀,搞搞问答,看它出什么答案,结果,很......
  • kobject_add_internal failed for flymap with -EEXIST, don‘t try to register thin
    驱动加载时,提示:[ 359.119278]Calltrace:[ 359.121729] dump_backtrace+0x0/0x1b0[ 359.125387] show_stack+0x20/0x30[ 359.128699] dump_stack+0xd4/0x110[ 359.132097] sysfs_warn_dup+0x6c/0x90[ 359.135751] sysfs_create_dir_ns+0xf8/0x11c......
  • Winobj 是一个由微软提供的工具,用于查看和浏览 Windows 操作系统中的对象命名空间。它
    Winobj是一个由微软提供的工具,用于查看和浏览Windows操作系统中的对象命名空间。它允许你查看系统中的各种对象,如文件系统对象、注册表键、符号链接等,帮助深入了解系统的内部结构。Winobj是由微软开发的一个工具,起源于微软的内部开发和调试需求。它最初是为了帮助开发人员和......
  • lock 为什么要传入一个object对象
    lock为什么要传入一个object对象publicclassSingleton{publicstaticSingletoninstance;publicstaticreadonlyobjectsingletonLock=newobject();privateSingleton(){}publicstaticSingletonGetInstance(){if(instance=......
  • 训练yolov5时出现报错:AttributeError: ‘FreeTypeFont‘ object has no attribute ‘g
    报错:Traceback(mostrecentcalllast):File"D:\anaconda3_xz\envs\luopytorch\lib\threading.py",line932,in_bootstrap_innerself.run()File"D:\anaconda3_xz\envs\luopytorch\lib\threading.py",line870,inrunself._target(*s......
  • AutoSynth: Learning to Generate 3D Training Datafor Object Point Cloud Registrat
    目录一、导言二、先导知识1、进化算法概述2、4pcs算法3、Super4PCS算法三、相关工作1、传统点云配准工作2、基于深度学习的点云配准3、生成训练数据集四、AutoSynth框架1、搜索空间2、进化算法3、代理任务模型五、实验 1、测试数据集2、BOP评估指标3、对比实......
  • CMake构建学习笔记10-OsgQt库的构建
    笔者使用的OsgQt库是Github上openscenegraph仓库中托管的项目(地址),该库的功能是将Osg嵌入到Qt窗体中。不过该库的使用总是有点问题,具体的介绍笔者在之前的两篇博文中论述过:OSG嵌入QT的简明总结OSG嵌入QT的简明总结2因此,这里笔者还是将这个库分成了两个版本进行构建。构建topic/Q......
  • 【已解决】Vue Duplicate keys detected: ‘[object Object]’
    【已解决】VueDuplicatekeysdetected:‘[objectObject]’在Vue项目开发过程中,我们可能会遇到这样的报错:“Duplicatekeysdetected:‘[objectObject]’.Thismaycauseanupdateerror.”。这个错误通常发生在Vue的虚拟DOM进行渲染更新时,如果检测到重复的key值,就......