转自:http://blog.csdn.net/mink365/article/details/6328033

FBX是Autodesk提供的一个三维模型格式,由于AutoDesk已经收购了Maya,3D max等流行三维建模软件,FBX可以说是一个完美通用的格式了。

FBX主要用途是三维场景的交流,所以它单个文件就描述了整个三维工程,包括摄像机设置,灯光参数,texture图片,音乐,动画,骨骼,关键帧数据等。

FBX是一个闭源的格式,我们并不清楚FBX文件内部的存储方式,但是AutoDesk给出了一个很好的SDK,可以通过调用SDK内部的DLL等库文件建立/导出FBX数据。FBX的SDK现在提供C++和Python两种语言支持,支持windows,Linux,MAC OS三大平台。

SDK提供的场景(Scene)接口十一个节点(node)结构:

摄像机,灯光,骨骼(skeleton),网格(Mesh)等都是一个节点,节点还可以有子节点。

[python] view plaincopy
  1. if lAttributeType == KFbxNodeAttribute.eMARKER:
  2. DisplayMarker(pNode)
  3. elif lAttributeType == KFbxNodeAttribute.eSKELETON:
  4. DisplaySkeleton(pNode)
  5. elif lAttributeType == KFbxNodeAttribute.eMESH:
  6. DisplayMesh(pNode)
  7. elif lAttributeType == KFbxNodeAttribute.eNURB:
  8. DisplayNurb(pNode)
  9. elif lAttributeType == KFbxNodeAttribute.ePATCH:
  10. DisplayPatch(pNode)
  11. elif lAttributeType == KFbxNodeAttribute.eCAMERA:
  12. DisplayCamera(pNode)
  13. elif lAttributeType == KFbxNodeAttribute.eLIGHT:
  14. DisplayLight(pNode)

Patch,Nurb??

NURBS:Non-uniform rational B-Spline,具有比重控制点和曲线次序和节点集合向量的集。典型例子是贝塞尔曲线,在PS,GIMP,AUTOCAD等中可以见到,通过节点和角度控制整个曲线。也可以用于描述曲面,与Mesh对应,代表两类不同的实现方法。详见WIKI

重要节点结构:Mesh,Skeleton

网格(Mesh)存储了模型结构的重要数据,包括顶点坐标,颜色,UV(纹理坐标),法线(Normal)等。

重要概念:Layer, Control Point, Vertex, eBY_CONTROL_POINT, eBY_POLYGON_VERTEX, :

Layer,层次:法线,纹理坐标等是存储在Layer中的,每个模型可以有多个层次,每个层次有一套纹理,法线等。但是,通常我们只会用到一个层次,很多建模软件也只支持一个层次。

法线,纹理,颜色与顶点数据有两个重要的对应关系,BY_CONTROL_POINT就是每个控制点对应一个法线,纹理数据,而BY_POLYGON_VERTEX是指每个顶点对应一个法线,纹理等数据。就是说,由于一个点可以包含在多个多边形中,而在不同的多边形中,其可以有不同的法线,颜色等。

KFbxLayerElement.eDIRECT, KFbxLayerElement.eINDEX_TO_DIRECT引用方式:???

Material,Texture材质和纹理:只有纹理坐标并不能解决纹理问题,由于FBX把纹理贴图直接存储在FBX文件中,而且一个模型可以用多个纹理贴图文件,具体的对应和管理就是个很重要的问题了。

骨骼系统(Skeleton):骨骼系统是高级模型动画的重要方面,就是采用模拟真实事物的方法,提供了骨骼(Bone),关节(Joint),权重(weight)等概念。骨骼和关节是运动的控制点,移动骨骼,并通过权重数据计算出各个顶点的运动向量,最终把这个运动向量赋予模型,完成运动行为。

骨骼:http://gpwiki.org/index.php/OpenGL:Tutorials:Basic_Bones_System

FBX:http://www.cnblogs.com/clayman/archive/2010/12/10/1901779.html

欢迎关注微信公众号——计算机视觉:

FBX与Opengl骨骼系统相关推荐

  1. opengl加载显示3D模型FBX类型文件)

    opengl加载显示3D模型FBX类型文件 前置条件 注意事项 项目展示 项目完整C++源代码 前置条件 opengl三方库freeglut,显示FBX格式的三维模型文件 注意事项 源代码 model ...

  2. openGL使用assimp加载fbx格式三维模型

    前言 前面的文章中有讲过assimp加载obj三维文档格式,如果想要加入纹理还得配合对应的mtl格式和png格式才能加入纹理,今天来说下使用assimp加载fbx格式的三维模型. 先看下运行效果 使用 ...

  3. FBX格式解析顶点信息和用OpenGL显示

    FbxSDK是解析FBX的工具,在unity和ue中使用较多,下面介绍一下用这个工具解析FBX格式并用OpenGL显示出来. FBX的scene是由一系列node组成的,node包含一个Transfr ...

  4. 用Opengl实现骨骼系统

    原文链接 有空会翻译,先保存 转载于:https://www.cnblogs.com/gentlecoding/archive/2013/03/10/3589400.html

  5. All about OpenGL ES 2.x – (part 2/3)(转载)

    来源: http://db-in.com/blog/2011/02/all-about-opengl-es-2-x-part-23/ Very welcome back, my friends! No ...

  6. maya导入abc动画_三维文件格式知多少 | abc、glTF、fbx、obj、dae、stl、3ds...

    三维文件格式 三维软件之间互相导入导出一般会涉及到一些格式不兼容的问题,这里就给大家普及一下这些常用的三维文件格式.不同的格式有着不同的定位及用处,有开源的也有商业的.目前很多三维软件之间互导迫在眉睫 ...

  7. OpenGL OBJ模型加载.

    在我们前面绘制一个屋,我们可以看到,需要每个立方体一个一个的自己来推并且还要处理位置信息.代码量大并且要时间.现在我们通过加载模型文件的方法来生成模型文件,比较流行的3D模型文件有OBJ,FBX,da ...

  8. 3dmax坐标系与导出fbx的坐标系

    3dmax和opengl都是右手坐标系,但是3dmax是z轴向上,而opengl中是Y轴向上.如图: 所以在3dmax的fbx导出对话框中有"轴转化"一项,可以设置"Y向 ...

  9. OpenGL实用开源代码列表

    有了网络的最大好处就是可以资源共享.网络是最大的知识库,也是最好的老师,正所谓"没有你想不到的,只有你找不到的".以下是我收集的以游戏编程,OpenGL 3D编程相关的免费扩展库资 ...

最新文章

  1. ExecutorService(任务调度器)详解
  2. yum 卸载php及依赖包,yum使用指南-软件卸载、安装、更新、获取软件包
  3. java中常用的定位方式有哪些_java-selenium八种元素定位方式
  4. 【读书】《非暴力沟通》
  5. Linux下文件的三个时间意义及用法
  6. python sklearn 梯度下降法_(四)梯度下降法及其python实现
  7. Python中的xxx+=xxx和xxx=xxx+xxx一些区别及执行过程
  8. GPT语言模型:通过生成式预训练改善语言理解 OpenAI 2018
  9. html在线布局,HTML 布局
  10. Unity3D场景漫游以及碰撞防止反弹
  11. POJ 3581:Sequence(后缀数组)
  12. jpa方言的yml格式
  13. 自举电容的工作原理-3句话总结
  14. 硬核干货 | 人大金仓数据库产品体系合集
  15. 第六十一章 方法关键字 - Deprecated
  16. warpaffine 旋转有一部分消失_OpenCV warpAffine的天坑
  17. 除了 Microsoft Office我们还可以选择哪些软件?
  18. Android studio 中使用GeenDao
  19. 网页版手游怎么选服务器,吃鸡怎么看自己选的哪个服务器 | 手游网游页游攻略大全...
  20. 迅为IMX6ULL开发板Linux学习教程

热门文章

  1. 订单打标java_java 操作打标机的Dll 文件
  2. SSD固态硬盘怎么选?选对接口是关键
  3. Mathematica13.1的安装与使用配置
  4. 在线编译linux,在线就能用的Linux我给你找好了
  5. Java如何实现定时任务——从某一天起每天定点执行
  6. ZN-IRF02工业机器人视觉分拣实训系统
  7. 最新API接口(亲测可用)及其使用教程
  8. nginx小知识: 通过location下 root,alias配置转发图片目录
  9. 压缩winsxs文件夹的正确姿势
  10. 计算机无法打开这个应用,win10照片应用打不开提示“无法打开这应用”如何解决...