读取Fbx文件中的信息

如何将Fbx格式转换成VVO格式Fbx文件格式简介1.1 KFbxSdkManage和KFbxSceneFbx文件是Autodesk开发的文件格式,其开发目的就是为了实现Autodesk旗下软件之间的数据交换。Fbx文件格式本身是不公开的,而是通过FBX SDK实现对Fbx文件的读取以及写入。使用FBX SDK时,最先遇到的两个对象就是KFbxSdkManage和KFbxScene。KFbxSdkManage是sdk中的中心类,负责了整个sdk内部状态的管理,很多其他对象创建也依赖于KFbxSdkManage,程序中只需要有一个KFbxSdkManage类的实例即可。KFbxScene如其名所示,代表了一个场景,而这里的场景就是fbx文件中包含的所有信息,fbx文件导入以后,在程序中就是一个KFbxScene对象,所以一个fbx文件只需要一个KFbxScene类的实例。1.2 Fbx的数据组织方式Fbx的数据组织方式是scene tree,即场景树。由KFbxScene所声明的对象可以得到该场景树的根节点,根节点包含了一系列子节点KFbxNode,每个KFbxNode又有其自己的子节点,以此往下类推。这样通过递归循环就可以遍历到每一个节点,然后获取该节点的信息。RootNode是该Fbx文件所对应的根节点,由以下语句得到:KFbxNode* pNode = pScene->GetRootNode();//获得根节点图1是一个圆柱体的例子。该圆柱体总共有四个节点,Patch、SkeletonRoot、SkeletonLimbNode1、SkeletonLimbNode2是这四个节点的名称。其中Patch、SkeletonRoot是RootNode的孩子,SkeletonLimbNode1是SkeletonRoot的孩子,SkeletonLimbNode2是SkeletonLimbNode1的孩子。 图 1

1.3 Fbx中节点KFbxNode说明1.3.1 节点坐标场景树中每个节点都是KFbxNode,KFbxNode类本身包含了坐标变换信息,例如可以用函数EvaluateGlobalTransform(KTime pTime)获得在pTime时刻该节点的全球变换矩阵。获得全球变换矩阵后,我们可以得到节点在该时刻的世界坐标系下的平移、旋转和缩放。同理由EvaluateLocalTransform(KTime pTime)获得在pTime时刻该节点的本地变换矩阵,进而获得该时刻本地坐标系下节点的平移、旋转和缩放。1.3.2 节点类型一个节点KFbxNode包含其他数据作为KFbxNodeAttribute对象,包含在其内部,这里的其他数据是指mesh,Nurbs,skeleton,camara,light等定义在KFbxNodeAttribute::EAttributeType中的枚举类型。获得一个节点的类型可用以下函数语句来实现:KFbxNodeAttribute::EAttributeType lAttributeType;lAttributeType = pNode->GetNodeAttribute()->GetAttributeType();1.3.3 节点中层次Layer层次Layer:法线、纹理坐标等是存储在层次Layer中的,每个节点可以有多个层次,然后在每个层次中包含一套纹理,法线等。但是,通常我们只会用到一个层次,很多建模软件也只支持一个层次。比如在一个节点类型为eMESH的结点中层次概念如下所示:mesh -------layer 0{ KFbxLayerElementNormal,KFbxLayerElementUV……}????? |????? |------layer 1{ KFbxLayerElementNormal,KFbxLayerElementUV………}????? |?? ????? |-- ………………..????? |????? |------layer n{ KFbxLayerElementNormal,KFbxLayerElementUV………}关于层次的常用函数://求pMesh中包含UV的层次数pMesh->GetElementUVCount();//获得第i层中的UV对象KFbxGeometryElementUV* leUV = pMesh->GetElementUV(i);每种保存在Layer中的元素(如上面提到的UV)都继承于KFbxLayerElement,比如KFbxLayerElementNormal对应normal数据,KF

html读取fbx文件,读取Fbx文件中的信息.doc相关推荐

  1. python读文件操作-python文件操作读取文件写入文件

    读取文件 要使用文本文件中的信息,首先需要将信息读取到内存中.为此,你可以一次性读取文件的全部内容,也可以以每次一行的方式逐步读取. 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创 ...

  2. php qqwry.dat_php读取操作IP地址数据库文件QQWry.dat

    我们统计流量的时候需要可以获取用户ip,根据用户ip之后可以通过纯ip真数据库QQWry.dat,获取出用户IP 所在的地理位置,这样可以做出更有意义的统计信息. QQWry.dat请自行搜索下载. ...

  3. 面试问题-理解数字后仿,其次针对性理解数字后仿中的sdf文件(约束文件)的作用

    理解数字后仿,其次针对性理解数字后仿中的sdf文件(约束文件)的作用 1)什么是sdf文件 2)如何反标sdf文件? 1,什么是数字后仿? 2,什么是门级网表? 3,什么是sdf文件 4,如何反标sd ...

  4. matlab读取一个文件的图片大小,Matlab读取文件夹中子文件夹中的图片并修改尺寸...

    今天被师兄问到如何利用matlab批处理图片,觉得很简单嘛 就让他去百度 结果只百度到处理文件夹中图片的程序 好吧 这里放上如何处理文件夹中子文件夹的图片 现状:在一个名为casia的文件夹中,里面有 ...

  5. python中如何在写文件之前删除文件内容_Python:文件的读取、创建、追加、删除、清空...

    一.用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行: #python >>>f=open('f.txt','w') # r只读,w可写,a追加 >> ...

  6. python从文件中读取数据_Python3 中把txt数据文件读入到矩阵中的方法

    下面为大家分享一篇Python3 中把txt数据文件读入到矩阵中的方法,具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 1.实例程序: ''' 数据文件:2.txt内容:(以空格分开每个数据) ...

  7. java word 读取excel数据_在Java中实现读写操作Word、Excel等文件

    Jakarta的POI项目提供了一组操纵Windows文档的Java API,如下几个类提供了操作Excel文件的方便的途径:HSSFWorkbook.HSSFSheet.HSSFRow.HSSFCe ...

  8. Verilog中testbench的设计,文件读取和写入操作

    1. 激励的产生 对于 testbench 而言,端口应当和被测试的 module 一一对应. 端口分为 input,output 和 inout 类型产生激励信号的时候, input 对应的端口应当 ...

  9. java中属性文件读取案例_java相关:Spring中属性文件properties的读取与使用详解

    java相关:Spring中属性文件properties的读取与使用详解 发布于 2020-6-3| 复制链接 摘记: Spring中属性文件properties的读取与使用详解实际项目中,通常将一些 ...

  10. python怎么读取txt文件数据保存数组中-Python Numpy中数据的常用的保存与读取方法...

    在经常性读取大量的数值文件时(比如深度学习训练数据),可以考虑现将数据存储为Numpy格式,然后直接使用Numpy去读取,速度相比为转化前快很多. 下面就常用的保存数据到二进制文件和保存数据到文本文件 ...

最新文章

  1. 2022-2028年中国科学仪器行业研究及前瞻分析报告
  2. 快速删除c/c++语言中的注释
  3. 区块链核心技术:拜占庭共识算法之PBFT全面理解
  4. Blazor验证控件
  5. Windows开机自动启动Virtual Box虚拟机(官方指南手册)
  6. python循环结构高一信息技术_高中信息技术《循环结构1》优质课教学设计、教案...
  7. 基于matlab的圆柱齿轮减速器优化设计,基于MATLAB算法的圆柱齿轮减速器优化设计...
  8. 计算机打印怎么取消,电脑怎么取消打印任务_打印机取消打印任务的详细步骤...
  9. 将网站上的web字体base,woff2转换成.ttf系统字体
  10. 基于jsp+mysql+Spring+SpringMVC+mybatis的大学生缴费系统
  11. 二维码签到的几大优势,你了解几个?
  12. PHP会员自动续费,switch会员自动续费怎么关
  13. 如何通过光耦合器连接继电器
  14. Error:‘xxx‘ is not iterable 是不可迭代的
  15. DNS域欺骗攻击详细教程之Windows篇
  16. 汽车动力性仿真matlab程序,汽车理论课程设计:基于Matlab的汽车动力性的仿真
  17. 三言|一种新技术一旦开始流行,你要么坐上压路机,要么成为铺路石
  18. 2019.09.14软件更新公告
  19. 帮忙写基于SSM框架的购物商城管理系统
  20. 变分自编码器(VAE,Variational Auto-Encoder)

热门文章

  1. Android Rect介绍
  2. rectangle()函数与rect类详解
  3. 为什么手机里的小爱音响app里搜不到家里的小爱音箱_小爱触屏音箱体验:小爱同学有了屏幕增加功能,是不是你的菜?...
  4. 施工企业信息注册需要对计算机网络,关于建筑施工企业中计算机网络技术的应用论文...
  5. laravel8 微信小程序(实现简单签到功能)
  6. 中国信通院发布《区块链赋能新型智慧城市白皮书(2019年)》解读(附全文下载)
  7. IOS开发之——硬件开发-加速计应用实例(04)
  8. ansys计算机热仿真,基于ANSYS WORKBENCH的摩擦生热分析
  9. 编程算法题:101个数字,[1,100]中有一个是重复的,找出这个重复的数字。
  10. 矢量绘图软件:Sketch最新版82.1中文版